在Oracle g中建立没有域名的DB_LINK
记录如下
——用alter语句这种修改方法重启数据库无效!
alter database rename global_name to ORCL
——用alter语句这种修改方法重启数据库有效!但是不是我想要的结果虽然域名修改后变短了但是建立DB_LINK还有域名存在!
alter database rename global_name to ORCLQIANGGUOCOM
——用update语句这种修改方法重启数据库有效!创建DB_LINK没有域名存在!
update global_name set global_name=ORCL
Microsoft Windows [版本 ]
(C) 版权所有 Microsoft Corp
C\Documents and Settings\Administrator>sqlplus / as sysdba
SQL*Plus Release Production on 星期三 月
Copyright (c) Oracle All rights reserved
连接到
Oracle Database g Enterprise Edition Release Production
With the Partitioning OLAP and Data Mining options
SQL> show parameter global_name
NAME TYPE VALUE
global_names boolean FALSE
SQL> show parameter global_name
NAME TYPE VALUE
global_names boolean FALSE
SQL> select * from global_name
GLOBAL_NAME
ORCLREGRESSRDBMSDEVUSORACLECOM
SQL> alter database rename global_name to ORCL
数据库已更改
SQL> select * from global_name ——在这里可以看到把global_name直接修改为ORCL并不起作用!
GLOBAL_NAME
ORCLREGRESSRDBMSDEVUSORACLECOM
SQL> shutdown immediate
数据库已经关闭
已经卸载数据库
ORACLE 例程已经关闭
SQL> startup
ORACLE 例程已经启动
Total System Global Area bytes
Fixed Size bytes
Variable Size bytes
Database Buffers bytes
Redo Buffers bytes
数据库装载完毕
数据库已经打开
SQL> select * from global_name ——重启数据库后仍然不起作用GLOBAL_NAME并没有变成我想要的ORCL!
GLOBAL_NAME
ORCLREGRESSRDBMSDEVUSORACLECOM
SQL> alter database rename global_name to ORCLQIANGGUOCOM ——如果修改为带域名的ORCLQIANGGUOCOM重启数据库将起作用域名发生了变化!
数据库已更改
SQL> select * from global_name
GLOBAL_NAME
ORCLQIANGGUOCOM
SQL> alter database rename global_name to ORCL ——再次试着修改为ORCL仍然不行!
数据库已更改
SQL> select * from global_name
GLOBAL_NAME
ORCLAHDXCOM
SQL> update global_name set global_name=ORCL ——如果用update语句修改重启数据库成功!哈哈!
已更新 行
SQL> select * from global_name
GLOBAL_NAME
ORCL
SQL> select * from global_name
GLOBAL_NAME
ORCL
SQL> commit
提交完成
SQL> shutdown immediate
数据库已经关闭
已经卸载数据库
ORACLE 例程已经关闭
SQL> startup
ORACLE 例程已经启动
Total System Global Area bytes
Fixed Size bytes
Variable Size bytes
Database Buffers bytes
Redo Buffers bytes
数据库装载完毕
数据库已经打开
SQL> select * from global_name——如果用update语句修改重启数据库成功!哈哈!
GLOBAL_NAME
ORCL
SQL>
分析一下global_name视图
创建global_name视图的语句如下
create or replace view global_name
as
select value$ from sysprops$ where name = GLOBAL_DB_NAME
不能直接修改sysprops$内部表会告诉你权限不足!
所以可以用update修改!
验证如下
SQL> select * from global_name
GLOBAL_NAME
ORCL
SQL> select value$ from sysprops$ where name = GLOBAL_DB_NAME
VALUE$
ORCL
SQL>