1. ALL_SYNONYMS
I denna tabell visas alla synonymer som användaren kan använda, både publika och privata. ALL_SYNONYMS har samma kolumner som USER_SYNONYMS men med den extra kolumnen OWNER:
SQL> DESC all_synonyms;
Namn Null? Typ
----------------------------------------- -------- ----------------------------
OWNER NOT NULL VARCHAR2(30)
SYNONYM_NAME NOT NULL VARCHAR2(30)
TABLE_OWNER VARCHAR2(30)
TABLE_NAME NOT NULL VARCHAR2(30)
DB_LINK VARCHAR2(128)
|
2. Exempel
Detta exempel visar några synonymer i databasen (jag har lagt till "WHERE rownum < 10" i SELECT-satsen för att undvika att få för många svar):
SQL> SELECT * FROM ALL_SYNONYMS WHERE rownum < 10;
OWNER SYNONYM_NAME TABLE_OWNE TABLE_NAME DB_LINK
---------- ------------------------------ ---------- ------------------------------ ----------
PUBLIC DUAL SYS DUAL
PUBLIC SYSTEM_PRIVILEGE_MAP SYS SYSTEM_PRIVILEGE_MAP
PUBLIC TABLE_PRIVILEGE_MAP SYS TABLE_PRIVILEGE_MAP
PUBLIC STMT_AUDIT_OPTION_MAP SYS STMT_AUDIT_OPTION_MAP
PUBLIC V$DLM_MISC SYS V_$DLM_MISC
PUBLIC V$DLM_LATCH SYS V_$DLM_LATCH
PUBLIC V$DLM_CONVERT_LOCAL SYS V_$DLM_CONVERT_LOCAL
PUBLIC V$DLM_CONVERT_REMOTE SYS V_$DLM_CONVERT_REMOTE
PUBLIC V$DLM_LOCKS SYS V_$DLM_LOCKS
9 rows selected.
|
De synonymer som har ägaren (owner) "PUBLIC" är Oracels egna synonymer.
3. Exempel med OWNER och TABLE_OWNER
Kolumen OWNER visar om synonymen är publik eller tillhör någon speciell användare. I satsen nedan frågar vi hur många synonymer som tillhör varje användare:
SQL> SELECT owner, count(*) FROM ALL_SYNONYMS GROUP BY owner;
OWNER COUNT(*)
------------------------------ ----------
DBSNMP 4
PUBLIC 1559
R001 37
R002 37
SYS 6
SYSTEM 59
6 rows selected.
|
Vi ser här att det finns 1559 publika synonymer i databasen. Exemplet nedan visar hur man listar bara de publika synonymer som användaren R001 har skapat:
SQL> SELECT * FROM ALL_SYNONYMS WHERE owner='PUBLIC' and table_owner='R001';
OWNER SYNONYM_NAME TABLE_OWNER TABLE_NAME DB_LINK
---------- ------------------------------ ----------- ------------------------------ ----------
PUBLIC DW$TRANSACTION R001 DW$TRANSACTION
|