Explain plan

发布时间:2025-08-11 04:42

推荐热门单曲:Drake的《God's Plan》 #生活乐趣# #生活分享# #音乐推荐#

Version imprimable

Explain plan --> ORA-01775 Boucle de synonyme

Bonjour,

pour vérifier une requête qui semble lente sur mon schéma, j'utilise la fonction "Explain plan" dans TOAD.
Mon problème est que j'obtiens l'erreur "ORA-01775 Boucle de synonymes". Idem si je le fais sous sqlplus.
Bizarrement, si je le fais sur un autre schéma, je n'ai pas cette erreur.
J'ai aussi testé avec une requête ultra simple, pareil.

Sur un autre forum, une personne m'a conseillé de vérifier les résolutions de noms de mes objets ... J'ai aucune idée de ce que cela veut dire ... :D

Ou vérifier ces synonymes ?
Je me suis connecté en SYSDBA sous TOAD mais dans l'onglet synonyme, j'ai environ 500 synonyme ...
Auriez vous un indice pour moi ?

Merci d'avance.

PS : Pour les modos, je ne sais pas vraiment si cette question peut se placer dans SQL, donc désolé si je me suis trompé.

Citation:

ORA-01775 looping chain of synonyms

Cause: Through a series of CREATE synonym statements, a synonym was defined that referred to itself. For example, the following definitions are circular:

CREATE SYNONYM s1 for s2
CREATE SYNONYM s2 for s3
CREATE SYNONYM s3 for s1

Action: Change one synonym definition so that it applies to a base table or view and retry the operation.

Code:

1
2
3
4
5
6
7
8
9
10
11

  SQL> desc all_synonyms Name Type Nullable Default Comments ------------ ------------- -------- ------- -------------------------------------------------------- OWNER VARCHAR2(30) Owner of the synonym SYNONYM_NAME VARCHAR2(30) Name of the synonym TABLE_OWNER VARCHAR2(30) Y Owner of the object referenced by the synonym TABLE_NAME VARCHAR2(30) Name of the object referenced by the synonym DB_LINK VARCHAR2(128) Y Name of the database link referenced in a remote synonym   SQL>

Merci pour la rapidité de la réponse.
J'ai donc lancé la commande DESC all_synonyms sur les 2 schémas et surprise, j'obtiens exactement pareil que la réponse que tu as mis en exemple.
Donc pour trouver une différence la dedans ... :D

Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57

  Connected to Oracle9i Enterprise Edition Release 9.2.0.5.0 Connected as mni     SQL> SQL> drop synonym s1 2 /   Synonym dropped   SQL> drop synonym s2 2 /   Synonym dropped   SQL> drop synonym s3 2 /   Synonym dropped   SQL> create synonym s1 for s2 2 /   Synonym created   SQL> create synonym s2 for s3 2 /   Synonym created   SQL> create synonym s3 for s1 2 /   Synonym created   SQL> select * from s1 2 /   select * from s1   ORA-01775: bouclage de chaînes de synonymes   SQL> Select * 2 from user_synonyms 3 start with synonym_name = 'S1' 4 Connect By prior table_name = synonym_name 5 /   Select * from user_synonyms start with synonym_name = 'S1' Connect By prior table_name = synonym_name   ORA-01436: boucle CONNECT BY dans les données utilisateur   SQL>

Et peut être que tu devrait t'intéresser au plan_table.Cette erreur est due au paramétrage de TOAD:

Solution 1 :
- Vérifier que la table TOAD_PLAN_TABLE existe bien !
- Si elle n'existe pas , il faut que le synonyme
PUBLIC.TOAD_PLAN_TABLE pointe sur SYS.PLAN_TABLE

Solution 2 :
- sous TOAD, aller à "View-> TOAD options"
- dans le groupe "Oracle", cliquer sur "General"
- Dans la partie "Explain Plan", modifier 'TOAD_PLAN_TABLE' en 'PLAN_TABLE'.

Tsss. mais qui reprend des posts de 2008 !!!! :roll:

Méme probléme.

Bonjour,

J'ai le même type d'erreur lors d'un import DATA PUMP, a savoir la ORA-01775 sauf que je ne suis evidemment pas sous toad.

J'aimerai retrouver les synonymes foireux, pouvez vous m'aider j'en ai plus de 2000 synonymes.

Merci d'avance.

Je pense qu'en lançant la requête donnée au dessus pour chacun de tes 2000 synonymes tu devrais trouver lequel plante :

Code:

1
2
3
4
5

SQL> SELECT * 2 FROM user_synonyms 3 start WITH synonym_name = 'S1' 4 Connect BY prior table_name = synonym_name 5 /

Evidemment je pense qu'il te faut faire une boucle PL/SQL pour éviter de faire les 2000 à la main... Et éviter de lancer ça en prod pour éviter que les 2000 requêtes ne crashent la base.

网址:Explain plan https://klqsh.com/news/view/136323

相关内容

Explain plan
250328 Debut's plan ep03 liz cut完整版
Plan your finances for parenthood
丁程鑫D plan舞蹈惊艳出圈,时代少年团楼舞标准刷新
2023年1
Welcome to Leone & Vaughn Orthodontics
周末即将来临,你打算怎样度过一个快乐而有意义的周末呢?请你以My Weekend Plan为题,说说你的周末计划。A.从下面方框里选择合适的单词或词组填入表格的
Beginner’s Guide
托福写作范文之媒体曝光明星私生活好吗?
Create your financial plans

随便看看