News zu Oracle

DBA Tipp: TNSNAMES.ORA und der Parameter IFILE

Die tnsnames.ora wird für das Mapping von Aliassen auf Oracle Datenbank Ver­bin­dungs­be­schrei­bun­gen verwendet und ist eine Art hosts-Datei für Oracle Da­ten­ban­ken. Die Anzahl von Alias-Einträgen kann dabei recht um­fang­reich werden, da hier jeder Pass­wort­ein­trag mit einem TNS-Alias hin­ter­legt werden muss. Dies kann bei­spiels­wei­se bei der Ver­wen­dung des Secure External Passwort Stores (SEPS) der Fall sein.

Logo Oracle Database

Sind die Oracle Da­ten­ban­ken auf mehrere Hosts verteilt und alle Oracle Da­ten­ban­ken sollen per Alias von jedem Host aus er­reich­bar sein, wird es in der tnsnames.ora schnell un­über­sicht­lich. Für eine über­sicht­li­che­re Ge­stal­tung bietet sich der Parameter IFILE an. Dieser Parameter erlaubt die Re­fe­ren­zie­rung weiterer TNS-Alias-Dateien – und das in bis zu 3 Ebenen.

Bei­spiel­haf­te Auf­lis­tung der tnsnames Files

[oracle@test(db19c orcl) admin]$ ls -1
...
tns_host1.ora
tns_host1_SEPS.ora
tns_host2.ora
tns_host2_SEPS.ora
tnsnames.ora

tnsnames.ora (1. Ebene)

orcl =
       (DESCRIPTION =
         (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.14)(PORT=1521))
         (CONNECT_DATA= (SID=orcl))
       )

IFILE=/u01/app/oracle/product/19.0.0/dbhome_1/network/admin/tns_host1.ora
IFILE=/u01/app/oracle/product/19.0.0/dbhome_1/network/admin/tns_host2.ora

tns_host1.ora (2. Ebene)

DB19HOST1 = 
         (DESCRIPTION = 
         (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.71)(PORT=1521))
         (CONNECT_DATA= (SID=db19))
       )

DB21HOST1 = 
       (DESCRIPTION = 
         (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.71)(PORT=1521))
         (CONNECT_DATA= (SID=db21))
       )

IFILE=/u01/app/oracle/product/19.0.0/dbhome_1/network/admin/tns_host1_SEPS
.ora

tns_host1_SEPS.ora (3. Ebene)

# SEPS-Alias DB19HOST1 User SYS
DB19HOST1_SYS = 
       (DESCRIPTION = 
         (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.71)(PORT=1521))
         (CONNECT_DATA= (SID=db19))
       )
# SEPS-Alias DB11HOST1 User SYSTEM
DB19HOST1_SYSTEM = 
       (DESCRIPTION = 
         (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.71)(PORT=1521))
         (CONNECT_DATA= (SID=db19))
       )
# SEPS-Alias DB21HOST1 User SYS
DB21HOST1_SYS = 
       (DESCRIPTION = 
         (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.71)(PORT=1521))
         (CONNECT_DATA= (SID=db21))
       )
# SEPS-Alias DB21HOST1 User SYSTEM
DB21HOST1_SYSTEM = 
       (DESCRIPTION = 
         (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.71)(PORT=1521))
         (CONNECT_DATA= (SID=db21))
       )

Die TNS-Alias-Dateien tns_host2.ora und tns_host2_SEPS.ora werden analog aufgebaut. Die obigen Einträge in einer einzelnen Datei mögen noch über­sicht­lich sein. Geht man jedoch von zehn oder mehr Oracle Da­ten­ban­ken aus, die auf zwei oder mehr Hosts verteilt sind, ist die Über­sicht­lich­keit nicht mehr gewährleistet.

Fazit

Der Parameter IFILE ist eine kleine aber feine Mög­lich­keit für dich als Oracle DBA, die Über­sicht­lich­keit der Alias-Einträge in der tnsnames.ora zu wahren. 

Hier findest du weitere Infos rund um Oracle aus unserem News & Insights Bereich.

icon-arrow_right_medium-violet-blue.svg

Share this article

Facebook 
Twitter 
LinkedIn 
XING 
WhatsApp 
Email