Utilisation de tables externes
Bonjour tout le monde,
Parfois je n'ai pas accès au serveur Linux où se trouve ma base. Cela est gênant pour lire des fichiers de configuration non accessibles par des vues oracle (l'objet ALERT_LOG pour le fichier alert.log par exemple).
Je comptais donc créer une table externe pour lire ces fichiers directement via Oracle. Est-ce la bonne solution ou bien peut-on faire autrement?
Voici ce que j'ai fais sur le fichier listener.ora.
Emplacement du listener.ora
Code:
1 2
| [oracle@vbgeneric admin]$ pwd
/u01/app/oracle/product/12.2/db_1/network/admin |
Son contenu.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| [oracle@vbgeneric admin]$ more /u01/app/oracle/product/12.2/db_1/network/admin/listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl12c)
(SID_NAME = orcl12c)
(ORACLE_HOME = /u01/app/oracle/product/12.2/db_1)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
)
)
#HOSTNAME by pluggable not working rstriction or configuration error.
DEFAULT_SERVICE_LISTENER = (orcl12c) |
Création d'un directory Oracle sur ce répertoire et de la table externe.
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
| CREATE DIRECTORY listener AS '/u01/app/oracle/product/12.2/db_1/network/admin';
Directory LISTENER created.
SQL> CREATE TABLE SYSTEM.listener_ora
(
ligne VARCHAR2(4000)
)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY LISTENER
ACCESS PARAMETERS
(
records delimited by newline
badfile LISTENER:'LISTENER_table_externe.bad'
logfile LISTENER:'LISTENER_table_externe.log'
fields terminated by eof
)
LOCATION ('listener.ora')
)
PARALLEL
REJECT LIMIT UNLIMITED ;
Table SYSTEM.LISTENER_ORA created. |
Génial, j'ai bien le contenu du fichier dans ma table :mouarf::mouarf:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| SQL> select * from SYSTEM.LISTENER_ORA;
LIGNE
--------------------------------------------------------------------------------
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl12c)
(SID_NAME = orcl12c)
(ORACLE_HOME = /u01/app/oracle/product/12.2/db_1)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
)
)
#HOSTNAME by pluggable not working rstriction or configuration error.
DEFAULT_SERVICE_LISTENER = (orcl12c)
17 rows selected. |