Oracle,修改 GLOBAL_NAME 和 SERVICE_NAME

Oracle,修改 GLOBAL_NAME 和 SERVICE_NAME

安装 Oracle 的时候会指定 db_domain,指定 db_domain 后 service_name 和 global_name 都会加上这个 domain,此时在配置 tns file 以及 easy connect 的时候都要 service_name 很复杂。

sqlplus /@localhost/orcl.localdomian as sydba

在自己的测试库上,感觉没有必要。


首先尝试修改global_name,因为service_name默认是global_name,而global_name=db_name.db_domain

SQL> show parameter db_name;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_name                              string      orcl
SQL> show parameter db_domain;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_domain                            string      localdomain
SQL> show parameter service_name

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      orcl.localdomain

SQL> select * from global_name;

GLOBAL_NAME
---------------------------------------

orcl.localdomain


‍SQL> alter database rename global_name to orcl;

数据库已更改。

发现这样修改不能去掉global_name里的domain信息

SQL> select * from global_name;

GLOBAL_NAME
---------------------------------------

orcl.localdomain

需要

update global_name set global_name = 'orcl'

commit;

这样才能去掉domain

SQL> select * from global_name;

GLOBAL_NAME
---------------------------------------

orcl


但是修改global_name并不会默认改掉service_name,也不会默认修改db_domain

因此尝试修改db_domain

SQL> alter system set db_domain='' scope=spfile;


系统已更改。


SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。


Total System Global Area 2171289600 bytes
Fixed Size                  2177536 bytes
Variable Size            1459619328 bytes
Database Buffers          704643072 bytes
Redo Buffers                4849664 bytes
数据库装载完毕。
数据库已经打开。

SQL> show parameter db_domain


NAME                                 TYPE        VALUE
------------------------------------ ----------- --------------
db_domain                            string
SQL> show parameter service_name


NAME                                 TYPE        VALUE
------------------------------------ ----------- --------------
service_names                        string      orcl
SQL> select * from global_name;


GLOBAL_NAME
---------------------------------------------------------------


orcl


C:\Users\yssa>sqlplus /@localhost/orcl as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期四 7月 26 09:55:33 2012

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

OK,至此 global_name,db_domain 以及 service_name 修改成功,以后 easy connect 或者是 tns file 中的 service_name 就简单好记多了。


转自:http://blog.csdn.net/fax5201314/article/details/17379979


你可能感兴趣的:(Oracle)