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

相關文章
相關標籤/搜索