数据库 Oracle监听实例详解

Oracle实例别名
IMCDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = IMCDB.imc.com)
    )
  )

IMCDB:连接描述符名(实例别名)
HOST = localhost:如果在/etc/hosts文件中配置了localhost主机名映射,可以直接写localhost,否则需要写具体的IP地址
SERVICE_NAME = db_name.db_domain
db_name和db_domain的值可以在"$ORACLE_BASE/admin/Oracle实例名/pfile/init.ora.xxx"文件中查看
如果用户没有设置db_domain,可以只写db_name,否则应该加上db_domain
db_name是实例名(可以通过`echo $ORACLE_SID`命令查看)

Oracle监听实例
在Oracle数据库中,如果不配置监听实例,那么Oracle将无法监测这个实例的变化,当实例A启动的时候,用户进程可以远程连接数据库实例A,
当实例A停止后,用户进程想远程启动这个实例A就无法办到了,因为没有配置监听,Oracle不知道远程终端想启动哪个实例。所以常常出现的
情况是用户远程重启Oracle数据库后,发现Oracle数据库没有启动。 SID_LIST_LISTENER
= (SID_LIST= (SID_DESC= (GLOBAL_DBNAME=IMCDB.imc.com) (ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1) (SID_NAME=IMCDB) ) ) GLOBAL_DBNAME:db_name.db_domain ORACLE_HOME:这个也是需要配置的,不能缺省 SID_NAME:这个指的是数据库实例名

 

经常遇见的问题
ERROR:
ORA-12541: TNS:no listener

 

posted on 2018-01-01 16:18  寒魔影  阅读(3565)  评论(0编辑  收藏  举报

导航