在Oracle10g中如何建立没有域名的DB_LINK
2008-03-19 15:40
239 查看
如何建立没有域名的DB_LINK
在网上查了好久问题终于解决了!请看如下记录:
(我给出详细注释)
事实证明:
--用alter语句这种修改方法,重启数据库,无效!
alter database rename global_name to ORCL;
--用alter语句这种修改方法,重启数据库,有效!但是不是我想要的结果,虽然域名修改后变短了,但是建立DB_LINK还有域名存在!
alter database rename global_name to ORCL.QIANGGUO.COM;
--用update语句这种修改方法,重启数据库,有效!创建DB_LINK没有域名存在!
update global_name set global_name='ORCL';
Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.
C:/Documents and Settings/Administrator>sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 3月 19 14:22:37 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 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
--------------------------------------------------------------------------------
ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM
SQL> alter database rename global_name to ORCL;
数据库已更改。
SQL> select * from global_name; --在这里可以看到,把global_name直接修改为“ORCL”,并不起作用!
GLOBAL_NAME
--------------------------------------------------------------------------------
ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 289406976 bytes
Fixed Size 1248576 bytes
Variable Size 134218432 bytes
Database Buffers 146800640 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
数据库已经打开。
SQL> select * from global_name; ---重启数据库后,仍然不起作用,GLOBAL_NAME并没有变成我想要的“ORCL”!
GLOBAL_NAME
--------------------------------------------------------------------------------
ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM
SQL> alter database rename global_name to ORCL.QIANGGUO.COM; --如果修改为带域名的“ORCL.QIANGGUO.COM”,重启数据库将起作用,域名发生了变化!
数据库已更改。
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
ORCL.QIANGGUO.COM
SQL> alter database rename global_name to ORCL; --再次试着修改为”ORCL“,仍然不行!
数据库已更改。
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
ORCL.AHDX.COM
SQL> update global_name set global_name='ORCL'; --如果用update语句修改,重启数据库,成功!哈哈!
已更新 1 行。
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 289406976 bytes
Fixed Size 1248576 bytes
Variable Size 134218432 bytes
Database Buffers 146800640 bytes
Redo Buffers 7139328 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 sys.props$ where name = 'GLOBAL_DB_NAME'
不能直接修改sys.props$内部表,会告诉你权限不足!
所以可以用update修改!
验证如下:
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
ORCL
SQL> select value$ from sys.props$ where name = 'GLOBAL_DB_NAME';
VALUE$
--------------------------------------------------------------------------------
ORCL
SQL>
在网上查了好久问题终于解决了!请看如下记录:
(我给出详细注释)
事实证明:
--用alter语句这种修改方法,重启数据库,无效!
alter database rename global_name to ORCL;
--用alter语句这种修改方法,重启数据库,有效!但是不是我想要的结果,虽然域名修改后变短了,但是建立DB_LINK还有域名存在!
alter database rename global_name to ORCL.QIANGGUO.COM;
--用update语句这种修改方法,重启数据库,有效!创建DB_LINK没有域名存在!
update global_name set global_name='ORCL';
Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.
C:/Documents and Settings/Administrator>sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 3月 19 14:22:37 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 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
--------------------------------------------------------------------------------
ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM
SQL> alter database rename global_name to ORCL;
数据库已更改。
SQL> select * from global_name; --在这里可以看到,把global_name直接修改为“ORCL”,并不起作用!
GLOBAL_NAME
--------------------------------------------------------------------------------
ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 289406976 bytes
Fixed Size 1248576 bytes
Variable Size 134218432 bytes
Database Buffers 146800640 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
数据库已经打开。
SQL> select * from global_name; ---重启数据库后,仍然不起作用,GLOBAL_NAME并没有变成我想要的“ORCL”!
GLOBAL_NAME
--------------------------------------------------------------------------------
ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM
SQL> alter database rename global_name to ORCL.QIANGGUO.COM; --如果修改为带域名的“ORCL.QIANGGUO.COM”,重启数据库将起作用,域名发生了变化!
数据库已更改。
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
ORCL.QIANGGUO.COM
SQL> alter database rename global_name to ORCL; --再次试着修改为”ORCL“,仍然不行!
数据库已更改。
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
ORCL.AHDX.COM
SQL> update global_name set global_name='ORCL'; --如果用update语句修改,重启数据库,成功!哈哈!
已更新 1 行。
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 289406976 bytes
Fixed Size 1248576 bytes
Variable Size 134218432 bytes
Database Buffers 146800640 bytes
Redo Buffers 7139328 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 sys.props$ where name = 'GLOBAL_DB_NAME'
不能直接修改sys.props$内部表,会告诉你权限不足!
所以可以用update修改!
验证如下:
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
ORCL
SQL> select value$ from sys.props$ where name = 'GLOBAL_DB_NAME';
VALUE$
--------------------------------------------------------------------------------
ORCL
SQL>
相关文章推荐
- 在Oracle10g中如何建立没有域名的DB_LINK
- 在Oracle10g中如何建立没有域名的DB_LINK
- 在Oracle 10g中建立没有域名的DB_LINK:
- 在Oracle 10g中建立没有域名的DB_LINK
- 在Oracle 10g中建立没有域名的DB_LINK
- 关于父类没有缺省的构造函数时,子类如何建立构造函数
- Docker如何使用link建立容器之间的连接
- oracle如何链接到另外一个数据库DB_LINK
- 没有固定IP,用花生壳的服务器做网站,如何使用自己的域名访问
- Oracle DB_LINK如何使用
- oracle pl/sql 建立db_link
- 解决:Android使用自带sqlite开发时,apk中创建的数据库外部的进程是没有权限去读/写的,而且无法如何读取指定目录下的db文件
- 没有80端口的备案域名,如何做微信公众平台的开发?本文介绍可以通过任何域名来做开发,www.baidu.com和www.163.com和www.so.com这样的域名都可以
- (DB ,sqlserver2005,tips)如何获取用户自定义的触发器的内容(在sqlserver2005树形菜单没有显示)
- 如何对没有直接下载地址(只能通过eclipse下载)Eclipse插件进行link安装
- 没有安装oracle客户端如何在本地建立表空间,并且创建用户
- 在本地开global_names=true时,如何建db_link访问远端的数据库。
- 如果你的数据库文件只剩下数据文件没有日志文件时,如何附加 (摘自:http://www.cnblogs.com/yukaizhao/archive/2008/07/23/sp_attach_single_file_db.html)
- MongoDB在admin库下面执行了db.dropAllUsers()导致没有管理权限要如何处理
- 如何获取近24小时内没有备份的DB