创建语法:
create database link linkname
connect to user
identified by usrpwd 
using 'demona';其中
--demona为用net8 easy config创建的连接字符串
目的方数据库的init.ora文件中的global_names设为false
重新启动数据库设置才能生效
或者用sys用户执行
alter system set global_names=false;DBMS_JOB.SUBMIT(:jobno,//job号
                'your_procedure;',//要执行的过程
                trunc(sysdate)+1/24,//下次执行时间
                'trunc(sysdate)+1/24+1'//每次间隔时间
               );
删除job:dbms_job.remove(jobno);
修改要执行的操作:job:dbms_job.what(jobno,what);
修改下次执行时间:dbms_job.next_date(job,next_date);
修改间隔时间:dbms_job.interval(job,interval);
停止job:dbms.broken(job,broken,nextdate);
启动job:dbms_job.run(jobno);
例子:
VARIABLE jobno number;
begin
      DBMS_JOB.SUBMIT(:jobno, 
              'Procdemo;', 
               SYSDATE, 'SYSDATE + 1/720');
         commit;
end;
/

解决方案 »

  1.   

    访问时
    select * from tbname@link_name where...;删除后将无法继续访问远程数据库了。
      

  2.   

    VARIABLE jobno number;
    begin
          DBMS_JOB.SUBMIT(:jobno, 
                  'Procdemo;', 
                   SYSDATE, 'trunc(SYSDATE)+1+21/24');
             commit;
    end;
    /
      

  3.   

    谢谢!Procdemo是要执行的存贮过程名字吧?
      

  4.   

    还有insert [OEM_SUN_NJGF].TGFZS from tbname@link_name where...;--本地有OEM_SUN_NJGF用户的TGFZS表的情况
    或select * into SYSTEM.TGFZS  from tbname@link_name where...;--本地没有OEM_SUN_NJGF用户的TGFZS表的情况
    是不是都可以?
      

  5.   

    这是sql server的写法
    insert into tbname@link_name where ...;
    本地有这个tbname表,也不会有问题的。
      

  6.   

    tbname@link_name应该是远程数据库的表吧?
      

  7.   

    为什么目的方的global_name要为false呢?
    两个数据库的参数设置应注意什么?
    请给予具体指点
    为什么高级复制又要求global_name为true呢?
      

  8.   

    to:bzszp(www.bzszp.533.net):你好!
    请问你上面说的 demona为用net8 easy config创建的连接字符串,可是我看有的例子上好像随便起了一个名字,比如'unix001',我还不太懂“net8 easy config创建的连接字符串”是什么意思,请解释一下好吗?
      

  9.   

    还有create database link linkname
    connect to user
    identified by usrpwd 
    using 'demona';
    要放到job里吧,不然服务器重启后怎么连接呢?
      

  10.   

    database link 是数据库对象,不需要重建的
      

  11.   

    to: bzszp(www.bzszp.533.net) 
    不好意思,再问你一个问题,在Net Configuration Assistant里设置本地Net服务名配置,把oracle8i数据库服务器配置好后是不是就可以直接连oracle8i了?这样事不是用不着create database link 就可以直接用select了?
      

  12.   

    我再次看了你写的
    “--demona为用net8 easy config创建的连接字符串”
    这里demona是用Net Configuration Assistant设置本地(oracle9i)的,还是用Net Configuration Assistant设置远端oracle8i的?如果是远端的,那么是不是在Net Configuration Assistant配置好后,再需要create database link?
    谢谢指教!
      

  13.   

    是的,创建database link 需要用到 连接字符串
      

  14.   

    用Net Configuration Assistant可以设置本机的(oracle9i)的网络服务名,也可以设置远端的(oracle8i)的网络服务名吧?那么创建database link 需要用到 连接字符串是oracle9i的还是oracle8i的?
      

  15.   

    如果要从本地(9i)连接外地(8i)
    配置连接到(8i)的连接字符串(to8i),创建连接这个数据库的dblink using 'to8i'。