oracle instance_name db_name db_unique_name 与监听注册

来源:互联网 发布:sqlserver格式化工具 编辑:程序博客网 时间:2024/05/29 05:53

以下实验证明,oracle11gR2中可以两个存在instance_name,一个取自启动参数文件,一个取自oracle_sid环境变量。而启动参数文件中若未指定db_unique_name,则db_unique_name取值为db_name的值。在注册监听时,oracle默认以db_unique_name为service_name,以参数文件中指定的instance_name为实例名,注册到监听器中。

这个实验没有描述到的是,如果定义了db_domain参数的话,注册的服务名会变为db_unique_name.db_domain。


注意,此时客户端的连接串需要跟着改变为service_name=db_unique_name.db_domain或者sid=从参数文件中指定的instance_name,非ORACLE_SID环境变量。


这里还有另外一个有意思的地方,我测试的版本是11.2.0.4,在db_unique_name与db_name参数值不同的时候,oracle在$ORACLE_BASE/diag/rdbms路径下,以db_unique_name重新创建了一个文件夹,并创建了一整套diag目录结构。此时的目录结构为$ORACLE_BASE/diag/rdbms/${db_unique_name}/${ORACLE_SID}。注意,上面的路径用的是ORACLE_SID环境变量,并不是参数文件中的instance_name。在这样一种情况下,我们所有的trace,dump文件都放在目录下了。

[oracle@localhost trace]$ lsnrctl status



LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 26-MAY-2016 21:26:31


Copyright (c) 1991, 2013, Oracle.  All rights reserved.


Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                26-MAY-2016 21:15:27
Uptime                    0 days 0 hr. 11 min. 3 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /home/oracle/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully

SQL> show parameter name



NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
cell_offloadgroup_name     string
db_file_name_convert     string
db_name     stringorcl
db_unique_name     stringorcl
global_names     booleanFALSE
instance_name     stringorcl
lock_name_space     string
log_file_name_convert     string
processor_group_name     string
service_names     stringorcl
SQL> show parameter instance;


NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
active_instance_count     integer
cluster_database_instances     integer1
instance_groups     string
instance_name     stringorcl
instance_number     integer0
instance_type     stringRDBMS
open_links_per_instance     integer4
parallel_instance_group     string
parallel_server_instances     integer1
SQL> show parameter pfile


NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile     string/home/oracle/app/oracle/produc
t/11.2.0/dbhome_1/dbs/spfileor
cl.ora
SQL> create pfile from spfile;


File created.


SQL> create pfile='${ORACLE_HOME}/dbs/pfileorcl.ora' from spfile;


File created.


SQL> 
SQL> 
SQL> shutdown immediate
ORA-01109: database not open




Database dismounted.
ORACLE instance shut down.
SQL> startup pfile='${ORACLE_HOME}/dbs/pfileorcl.ora' mount
ORA-32006: LOG_ARCHIVE_START initialization parameter has been deprecated
ORA-32006: REMOTE_OS_AUTHENT initialization parameter has been deprecated
ORACLE instance started.


Total System Global Area  480182272 bytes
Fixed Size    2254424 bytes
Variable Size  352324008 bytes
Database Buffers  117440512 bytes
Redo Buffers    8163328 bytes
Database mounted.
SQL> show parameter name


NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
cell_offloadgroup_name     string
db_file_name_convert     string
db_name     stringorcl
db_unique_name     stringorcluni
global_names     booleanFALSE
instance_name     stringorclwf
lock_name_space     string
log_file_name_convert     string
processor_group_name     string
service_names     stringorcluni
SQL> select instance_name from v$instance;


INSTANCE_NAME
----------------
orcl


SQL> 

[oracle@localhost dbs]$ lsnrctl status


LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 26-MAY-2016 21:45:03


Copyright (c) 1991, 2013, Oracle.  All rights reserved.


Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                26-MAY-2016 21:15:27
Uptime                    0 days 0 hr. 29 min. 35 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /home/oracle/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
Services Summary...
Service "orcluni" has 1 instance(s).
  Instance "orclwf", status READY, has 1 handler(s) for this service...
The command completed successfully

0 0