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 就簡單好記多了。