前一段时间,由于需要修改了数据库的主机名,当时修改数据库主机名使用即时生效的方法修改的,昨天公司停电,重启数据库,登录plsql就报错了
“ora-12541:TNS:无监听程序”错误
主要原因就是由于我修改了主机名,导致配置文件里面的主机名和实际的主机名不相同。
需要修改配置文件
/opt/oracle/product/10.2.0/db_1/network/admin这个路径下的listener.ora tnsnames.ora这两个配置文件,如果有一个就修改一个,有两个就修改两个。 --
[root@uumsnormal-oracle admin]# ll
total 24
-rw-r----- 1 oracle oinstall 501 Jan 4 09:43 listener.ora
drwxr-x--- 2 oracle oinstall 4096 Oct 31 2012 samples
-rw-r----- 1 oracle oinstall 172 Dec 26 2003 shrept.lst
-rw-r--r-- 1 oracle oinstall 698 Oct 31 2012 sqlnet.log
-rw-r----- 1 oracle oinstall 187 Oct 31 2012 sqlnet.ora
-rw-r----- 1 oracle oinstall 716 Jan 4 09:39 tnsnames.ora
[root@uumsnormal-oracle admin]# pwd
/opt/oracle/product/10.2.0/db_1/network/admin --这个路径每个服务器同,但都类似这个路径。。
[root@uumsnormal-oracle admin]# cat listener.ora
# listener.ora Network Configuration File: /opt/oracle/product/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /opt/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.65)(PORT = 1521))
)
)
[root@uumsnormal-oracle admin]# cat listener.ora
# listener.ora Network Configuration File: /opt/oracle/product/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /opt/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.65)(PORT = 1521))
)
)
我这个服务器两个文件内容是一样的,标红的字体就是你的数据库的IP,也可以使用主机名,但为了防止以后修改主机名导致配置文件的问题,还是使用IP比较好,毕竟IP不会改变。。