建立了db_link,可以跨库查询一下,看看db_link的是否能用

解决方案 »

  1.   

    你检查一下能不能进行查询通过dblink进行查询!
    如果不行的话你可以建立这个表的别名来进行解决。
      

  2.   

    在MAS上建连接:
    create database link SCBCHR.CIMC.COM
      connect to SYS identified by change_on_install
      using 'SCBCHR';     <---这里是你的到HR的连接串.
      

  3.   

    在mas数据库上SYS/change_on_install@SCBCHR确实能登陆??
      

  4.   

    我能用SYS/change_on_install@SCBCHR登陆的
      

  5.   

    有没有可能oracle不允许通过dblink来创建视图呢,我有点怀疑,在这里不能查文档,只能揣测一下了,如果大家有创建过的话就是他创建dblink的 问题了!
      

  6.   

    try first:设置参数文件中参数global_names=false
    另外:
    表中如果有特殊字段类型,如LONG类型的话,是不能跨库操作的,此时建立视图也会不成功
    另外,我曾见过一台数据库服务器,装的是ora816的,不清楚安装盘是哪里来的,装上后数据库可以正常跑,就是少了几种功能,比如只有一种分区支持,可以创建数据库链接,但创建后的db_link状态是不正常的。
      

  7.   

    不过看他的错误信息,不是global_name参数的问题。
      

  8.   

    我的问题解决了,
    把dblink的名字由原来的scbchr.cimc.com改成scbchr.us.oracle.com。但我不知道为什么,是不是两个数据库的字符集不同造成的,请各位告诉我,谢谢!
      

  9.   

    using 'SCBCHR';     <---这里是你的到HR的连接串.
    请问一下,这个连接串在哪里定义的,具体内容是什么?
      

  10.   

    using 'SCBCHR';
    这里的TNS连接字串必须在你要建立DB Link的数据库机器上有此配置!而不是你的客户端哦
      

  11.   

    在MAS数据库这端,有域名,当然平时用scbchr也可以连接数据库,
    那是因为在SQLNET。ORA中定义了默认域名的关系。
    但是建dblink时,必须带上域名。
    你应当查看SQLNET.ORA文件中的names.default_domain参数,如world
    然后在建立时用
    create database link SCBCHR.CIMC.COM
      connect to SYS identified by change_on_install
      using 'SCBCHR.world';     <---这里要加域名。
      

  12.   

    CREATE DATABASE LINK数据库链接名CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘数据库连接字符串’;

    数据库连接字符串可以用NET8 EASY CONFIG或者直接修改TNSNAMES.ORA里定义.数据库参数global_name=true时要求数据库链接名称跟远端数据库名称一样数据库全局名称可以用以下命令查出
    SELECT * FROM GLOBAL_NAME;查询远端数据库里的表
    SELECT …… FROM 表名@数据库链接名;