以下是引用片段:
SQL> select * from global_name; GLOBAL_NAME ---------------------------- TEST123.COM SQL>
|
不过可以直接update global_name 或者props$来去掉后缀:
SQL> update global_name set global_name='test1';
|
更新 1 行。
SQL> commit;
提交完成。
以下是引用片段:
SQL> select * from global_name; GLOBAL_NAME ------------------------------ test1 SQL>
|
global_name 的作用主要也是用在Distributed Database中,我只在高级复制中用过global_name
详细的内容也可以参考下面的连接:
[url=http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/ds_admin. htm#sthref4096]http://download.oracle.com/docs/ ... dmin.htm#sthref4096[/url]
|
为什么要提它,是应为global_names和global_name看起来很相似,global_names的作用是创建db link时是否强制使用远程数据库的global_name,如果global_names=true,则db link name必须要求是remote database的global_name,否则创建之后db link 不能连同,测试如下,缺省值是false。
以下是引用片段:
SQL> show parameter global_names NAME TYPE VALUE ------------------------------------ global_names boolean TRUE SQL> select count(*) from t_emp@dbl; select count(*) from t_emp@dbl *
|
第 1 行出现错误:
ORA-02085: 数据库链接 DBL 连接到 ORCL SQL> col db_link format a10 SQL> col host format a10 SQL> col owner format a10 SQL> col username format a10 SQL> select * from dba_db_links; OWNER DB_LINK USERNAME HOST CREATED ---------- ---------- ---------- ---------- -------------- SYS DBL TEST orcl 01-12月-07 SYS ORCL TEST orcl 01-12月-07 SQL> select count(*) from t_emp@orcl; COUNT(*) ---------- 4 SQL>
|
8、在通过netmanager配置静态监听注册时,需要输入的全局数据库名(GLOBAL_DBNAME )到底应该输入什么?而通过netmanager配置网络服务命名(tns)是需要输入的服务名(SERVICE_NAME )又是什么?
listener.ora内容如下:
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = test) (ORACLE_HOME = E:\oracle\product\10.2.0\db_1) (SID_NAME = tsid) ) ) LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = xys)(PORT = 1521)) tnsnames.ora内容如下: TEST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = xys)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = test) ) )
|