Oracle数据抽取步骤

2547阅读 0评论2012-11-15 sdsdfs1111
分类:数据库开发技术

一、   创建Database links:

1、      在本地计算机上,新建一个连接远程数据库的连接,并记住这个连接的服务名(例如:jzfx_remote);

2、         返回远程数据库的GLOBAL_NAME

执行:SELECT * FROM GLOBAL_NAME;

记住此值;

3、         查看本地Global_name参数是true还是False

执行:SQL> show parameter global_name;

修改本地Global_name的参数:

alter  system  set  global_names = false;--慎重

4、         创建Database link:

create database link [remote_global_name] connect to remote_username  identified  by  remote_password  using  'jzfx_remote';

参数介绍:

remote_global_name:远程数据库global_name;

remote_username:连接远程数据库的帐号;

remote_password:连接远程数据库的密码;

5、         如果不能创建,需要修改本地的global_namefalse

alter  system  set  global_names = false;

6、         测试连接是否成功:

select * from dual@[remote_global_name];

如果返回结果如下则表示连接成功了。

DUMMY

-----

X

二、   创建存储过程:

7、    CREATE OR REPLACE PROCEDURE USER_INFO_TEMP_TEST

IS

BEGIN

--插入数据(此SQL语句为示例)

        INSERT INTO USER_INFO_TEMP

        SELECT * FROM USER_INFO@ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM.TEMP

        Where USER_INFO.USERID@ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM.TEMP NOT IN (SELECT USERID FROM USER_INFO_TEMP);

END  USER_INFO_TEMP_TEST;

参考

三、   创建job

8、      使用sys,给本地用户赋予job的权限:

grant execute on dbms_job to [本地用户的帐号:xjgzmk];

9、    SQL > variable jobno number;

SQL > begin

dbms_job.submit(job => :jobno,

what => 'DATA_T_INFO_CRMNLCSSLV_PRO;',

next_date => sysdate,

interval => 'sysdate+1/1440*10'

);

commit;

end;

/

 

此写法(sysdate+1/1440)代表,每分钟执行一次job

10、  运行job

1: 命令方式:

SQL > begin

          dbms_job.run(:jobno)

          end;

          /

2: 快捷方式:

   在需要运行的job上,点击右键,再点击“run”即可;

11、  job各时间段介绍:

上一篇:企业如何通过流量报告改进网站?
下一篇:百度官方SEO建议