zoukankan      html  css  js  c++  java
  • 在Oracle10g中如何建立没有域名的DB_LINK

    如何建立没有域名的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>
     

    作者:深潭
    出处:http://www.cnblogs.com/dbasys/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    JS中offsetTop、clientTop、scrollTop、offsetTop各属性介绍
    在MOSS中使用无刷新的日历日程控件
    VCalendar不错的开源日历项目
    非常适用的Exchange 2007 Web Services
    在C#中实现DateDiff功能
    Div被Select挡住的解决办法
    安装Project Server2007出现错误
    vs2005中调试js(转)
    CrystalReports在MOSS下的新问题:来自磁盘上的图片不能显示
    关于多级审批工作流的问题描述
  • 原文地址:https://www.cnblogs.com/dbasys/p/2127605.html
Copyright © 2011-2022 走看看