博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle数据抽取步骤
阅读量:5891 次
发布时间:2019-06-19

本文共 1940 字,大约阅读时间需要 6 分钟。

hot3.png

oracle数据抽取步骤

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_name为false:

alter system  set  global_names = false;

6、        测试连接是否成功:

select * from dual@[remote_global_name];

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

DUMMY

-----

二、  创建存储过程:

7、   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;

三、  创建job:

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

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

9、    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;

10、  运行job:

1: 命令方式:

SQL >begin

          dbms_job.run(:jobno)

          end;

          /

2: 快捷方式:

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

11、  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

 

转载于:https://my.oschina.net/u/856651/blog/89080

你可能感兴趣的文章
软件测试的分类
查看>>
【C语言】15-预处理指令1-宏定义
查看>>
vuejs与服务器通信
查看>>
Cesium原理篇:4Web Workers剖析(2)
查看>>
如何实现在H5里调起高德地图APP?(上)
查看>>
一个简单的任务执行时间监视器 StopWatch
查看>>
分享一下Java写的坦克大战游戏,相信很多人小时候玩过
查看>>
PHP基础知识之————php5-cli 的安装以及phpredis的安装
查看>>
Java可变参数 & Python可变参数 & Scala可变参数
查看>>
iOS图片拉伸
查看>>
移动硬盘修复
查看>>
Solid Edge如何快速装配,如何截取组装关系式
查看>>
C#.NET 如何打开高版本的sln文件
查看>>
THINKPHP5判断当前浏览器请求方式
查看>>
asp.net管线
查看>>
表面看是营销书,事实上是励志书——Leo鉴书77
查看>>
Network in Network
查看>>
SQLServer 错误: 15404,维护计划无法执行
查看>>
thinkphp处理jQuery EasyUI form表单问题
查看>>
scanner使用中遇见的问题
查看>>