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

posted @ 2021-04-25 18:48  yclizq  阅读(842)  评论(0编辑  收藏  举报