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就简单好记多了

你可能感兴趣的:(oracle)