oracle数据抽取步骤

oracle数据抽取步骤 数据库

Database links: oracle

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

二、        返回远程数据库的GLOBAL_NAME: 测试

执行:SELECT * FROM GLOBAL_NAME; rem

记住此值; it

三、        查看本地Global_name参数是true仍是False date

执行:SQL> show parameter global_name; select

修改本地Global_name的参数: 权限

alter  system  set  global_names = false;--慎重 密码

四、        建立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:链接远程数据库的密码;

五、        若是不能建立,须要修改本地的global_name为false:

alter system  set  global_names = false;

六、        测试链接是否成功:

select * from dual@[remote_global_name];

若是返回结果以下则表示链接成功了。

DUMMY

-----

2、  建立存储过程:

七、   CREATEORREPLACEPROCEDUREUSER_INFO_TEMP_TEST

IS

BEGIN

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

        INSERTINTOUSER_INFO_TEMP

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

       WhereUSER_INFO.USERID@ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM.TEMPNOTIN (SELECTUSERIDFROMUSER_INFO_TEMP);

END USER_INFO_TEMP_TEST;

3、  建立job:

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

grantexecuteondbms_jobto[本地用户的账号:xjgzmk];

九、    SQL> variablejobnonumber;

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;

十、  运行job:

1: 命令方式:

SQL >begin

          dbms_job.run(:jobno)

          end;

          /

2: 快捷方式:

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

十一、  job各时间段介绍:

1: 每分钟执行

Interval=> TRUNC(sysdate,'mi') + 1/ (24*60)

Interval=> sysdate+1/1440

2: 天天定时执行

例如:天天的凌晨1点执行

Interval=> TRUNC(sysdate) + 1 +1/ (24)

3: 每周定时执行

例如:每周一凌晨1点执行

Interval=> TRUNC(next_day(sysdate,'星期一'))+1/24

4: 每个月定时执行

例如:每个月1日凌晨1点执行

Interval=>TRUNC(LAST_DAY(SYSDATE))+1+1/24

5: 每季度定时执行

例如每季度的第一天凌晨1点执行

Interval=> TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24

6: 每半年定时执行

例如:每一年7月1日和1月1日凌晨1点

Interval=> ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24

7: 每一年定时执行

例如:每一年1月1日凌晨1点执行

Interval=>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24

相关文章
相关标签/搜索