今天研究了一个小问题,之前成功安装了Oracle, 但是安装的时候
没有修改默认的数据库全局名和服务名;
这样的话两个名称就会按照
但是我们打开dos 产看当前监听的状态时发现:
可以看到监听的服务依然是这样的,通过命令 show parameter service_names 在SQL plus 查看service_names = orcl. 可是无论怎么重启服务(命令式管理监听服务: lsnrctl status/start/stop)依然的到同样的结果,自然PLSQL 不改配置文件,还是会遇到童演的错误提示。
3 于是找公司DBA讨论了一下,得到这样的一个解决猜想: 就是主动将DB 的域名置为空(alter system db_domain='' scope=spfile, 然后重启相关服务。
先rollback 之前的改动;
然后重启服务:
重新打开SQL plusm, 将db_domain置空, 注意 重启之后才可以看到db_domain的value为空的:
重启 再进:
动态注册后,去DOS查看当前监听状态:
可以看到这回监听的服务名被修改过来了。这样话一开始的监听配置文件不需要做任何修改,就可进PLSQL Developer:
这样的话两个名称就会按照
DB_UNIQUE_NAME.DB_DOMAIN 参考:oracle DOC.

我在配置PLSQL Developer的时候, 需要先配置监听和TNSName (配置文件目录:D:\Oracle\product\11.1.0\db_1\NETWORK\ADMIN)
listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.125.2.18)(PORT =1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
tnsnames.ora
ORCL_10.125.2.18 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.125.2.18)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
但是打开PLSQL 连接Oracle的时候会提示类似服务监听不存在等之类的错误,后来查资料知道是 SERVICE_NAME = orcl.7thonline.cn.要加上域名(默认的情况服务名 = 数据库名.域名)。 或者直接用SID(db_name), 问题解决了
修改如下:
(SERVICE_NAME =
orcl.7thonline.cn
) 或者
(SID =orcl).
我在想应该能修改这个服务名,保持自动生成的配置文件不变。 最后为了把这个问题彻底搞清楚,进行如下实验。
1 登陆oracle by SQL plus:

2 我们看到service_names 确实修改了,重启oracle的服务和监听服务 或者 输入alter system register达到动态注册监听服务的目的。
但是我们打开dos 产看当前监听的状态时发现:
可以看到监听的服务依然是这样的,通过命令 show parameter service_names 在SQL plus 查看service_names = orcl. 可是无论怎么重启服务(命令式管理监听服务: lsnrctl status/start/stop)依然的到同样的结果,自然PLSQL 不改配置文件,还是会遇到童演的错误提示。
3 于是找公司DBA讨论了一下,得到这样的一个解决猜想: 就是主动将DB 的域名置为空(alter system db_domain='' scope=spfile, 然后重启相关服务。
先rollback 之前的改动;
然后重启服务:
重新打开SQL plusm, 将db_domain置空, 注意 重启之后才可以看到db_domain的value为空的:
重启 再进:
动态注册后,去DOS查看当前监听状态:
可以看到这回监听的服务名被修改过来了。这样话一开始的监听配置文件不需要做任何修改,就可进PLSQL Developer: