[转]自INTERNET
近日在配置Oracle 10G的流复制环境时,遇到一个问题,关闭数据库(shutdown immediate)后,通过SQL Plus连接数据库:conn sys/his@orc0 as sysdba,出现如下错误:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
通过重启服务的方式启动数据库,再次连接却能成功登录,也就是说在关闭数据库状态下无法连接服务器。
开始以为是系统环境变量Oracle_SID的配置问题,因为机器有多个实例,一阵折腾后还是不能连接。后来查资料得知:
Oracle9i以后,后台进程PMON自动在监听器中注册在系统参数SERVICE_NAMES中定义的服务名,SERVICE_NAMES默认为DB_NAME+DOMAIN_NAME。监听配置文件listener.ora中可以不必指定监听的服务名。但是,当数据库处于关闭状态下PMON进程没有启动,也就不会自动注册监听的实例名,所以使用sqlplus sys/his@orc0 as sysdba 会出现ORA-12514错误。
如果在listener.ora文件中指定监听的实例名,则即使数据库处于关闭状态,仍然可以连接。
listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = G:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = G:\oracle\product\10.2.0\db_1)
(SID_NAME = ORCL)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = zyk)(PORT = 1521))
)
)
以上粗体部件为增加的内容,修改后重启监听服务后即可。
附:通过在lsnrctl中输入set display verbose,然后再通过命令service查看,服务状态为READY表示PMON自动注册的服务名,而UNKNOWN则表示该服务是手工在LISTENER.ORA中配置的数据库服务。
分享到:
相关推荐
2、在listener.ora文件中增加如下行: DIAG_ADR_ENABLED_<listenername> = OFF 如何监听是listener时,则前面的名称为:DIAG_ADR_ENABLED_LISTENER = OFF 3、重新启动windows服务管理中的监听程序.先停止,然后再重新...
listener.ora 文件是 Oracle Net Listener 的配置文件,存储在 ORACLE_HOME/network/admin 目录中,也可以存储在其他目录中,如由 TNS_ADMIN 环境变量或注册表值指定的目录。该文件用于配置 Oracle Net Listener 的...
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = linuxdb) (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1) (PROGRAM = oracle) (TYPE = DB) ) ) ``` 通过上述介绍,我们可以...
ORA-12541 TNSno listener 的解决方案 ORA-12541 TNSno listener 的解决方案
特征:LISTENER.ORA 文件中 SID_LIST_LISTENER 变量赋值不对 原因:LISTENER.ORA 文件内容错误,SID_LIST_LISTENER 变量赋值不对。 措施:确保文件中赋值正确,$ORACLE_HOME/network/admin/samples 目录下有样例...
1. **SID_LIST_LISTENER**:这个部分列出了监听器要监听的数据库服务名(SID)。每个 SID 都对应一个数据库实例,格式为 `(DESCRIPTION=(ADDRESS=)(PROTOCOL=protocol)(CONNECT_DATA=(SERVER=dedicated)(SERVICE_...
在Oracle数据库管理过程中,经常会遇到各种各样的错误提示,其中“ORA-12560 TNS: 协议适配器错误”是较为常见的一种。这种错误通常发生在客户端尝试连接到Oracle服务器时,表明网络通信出现了问题。本文将详细介绍...
该参数用于定义默认的域名(domain),在使用SQL*Plus访问数据库时,如果未指定完整的域名,系统会在TNS别名后面自动添加`.domain`。例如,当`NAMES.DEFAULT_DOMAIN`设置为`com`时,通过`sqlplus username/password@...
- **修改`init<sid>.ora`文件**: 修改`init<sid>.ora`文件中的`local_listener`参数,确保其值为`(ADDRESS_LIST=(Address=(PROTOCOL=tcp)(HOST=your_hostname)(PORT=1521)))`,其中`your_hostname`应替换为实际的...
Oracle Instant Client是Oracle公司提供的一款轻量级的数据库连接工具,尤其适合于那些不希望完整安装Oracle客户端软件的用户。这个“instantclient-basic-windows.x64-19.5.0.0.0dbru.zip”文件是适用于Windows 64...
- `SID_LIST_LISTENER` 部分指定了监听器为哪些实例提供服务。 - 在这个例子中,监听器为 `OR` 实例提供服务,其中 `GLOBAL_DBNAME` 设置为 `boway`,`ORACLE_HOME` 指向 `E:\oracle\product\10.1.0\Db_2`。 - `...
Listener.ora文件中可以配置监听器的参数,例如监听端口号、协议类型等。 其次,sqlnet.ora文件是用于配置Oracle网络连接的。这个文件类似于Linux或者其他Unix系统中的nsswitch.conf文件,用于决定客户端如何解析...
如果不能连接到数据库,则在 `tnsname.ora` 文件中的网络服务名(net service)后面加上 Oracle 数据库的 `DB_DOMAIN` 参数值,通过用 `sqlplus> show parameter db_domain` 命令察看。此处 `db_domain` 参数值为 `...
2. **检查配置文件**:审查`listener.ora`配置文件中的设置,特别是关于连接池大小、最大并发连接数等相关参数,确保其设置合理且符合系统需求。 3. **服务器进程和调度进程状态**:确认服务器进程和调度进程是否...
错误信息:“TNS-01155: SID_LIST_LISTENER参数指定错误”。 **原因分析**: 此错误通常出现在`listener.ora`文件中,表示SID列表的配置存在问题。 **解决方法**: 修改`listener.ora`文件,确保`SID_LIST_...
在 listener.ora 文件中,需要指定监听的实例名,这样监听程序就可以识别连接描述符中的服务请求。 三、 listener.ora 文件配置 listener.ora 文件是 Oracle 监听程序的配置文件,它用于指定监听程序的配置参数。...
Oracle Instant Client是Oracle公司提供的一款轻量级的数据库连接工具,用于在Windows 64位平台上与Oracle数据库进行通信。这个压缩包文件“instantclient-basic-windows.x64-12.2.0.1.0.zip”包含了12.2.0.1.0版本...
在 listener.ora 配置文件中,需要指定 SID_LIST_LISTENER 和 LISTENER 两个部分。SID_LIST_LISTENER 用于指定实例名,而 LISTENER 用于指定监听的地址和端口号。在配置 listener.ora 文件时,需要注意正确指定实例...