好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > PL/SQL實現Oracle數據庫任務調度

PL/SQL實現Oracle數據庫任務調度

熱門標簽:語音電話機器人缺點 廣州市400電話辦理 語音電話機器人營銷方案 淮安自動外呼系統開發 南通防封外呼系統運營商 宜賓外呼系統廠家 修改高德地圖標注 地圖標注原件 百變地圖標注
正在看的ORACLE教程是:PL/SQL實現Oracle數據庫任務調度。摘要:本文主要就數據庫恢復與系統任務的調度,在結合一般性的數據庫后臺處理的經驗上,提出較為實用而新穎的解決方法,拓寬了數據庫后臺開發的思路。

  關鍵詞:數據恢復,任務調度,ORACLE,PL/SQL

  在數據庫操作中時常會有這樣的情況發生,由于一時的疏忽而誤刪或誤改了一些重要的數據,另外還有一些重要的任務需要周期性地運行。顯然,前一類問題主要是數據備份與恢復方面的,而后一類則主要是系統的任務調度。本文將針對這兩類問題,從應用程序開發角度給出一個解決方法。

  一.技術基礎

  由于本文是使用PL/SQL作為開發平臺來提供解決方案,所以首先了解相關的背景知識。

  PL/SQL本身只是作為SQL語句的一個補充,通過引入過程化的概念來增強數據庫處理能力。然而,相對于C,C++,JAVA等過程化語言來說,PL/SQL的處理功能依然不夠強大。為此,Oracle數據庫提供了大量的應用程序開發包,來增強應用程序開發能力。根據本文的主題,介紹如下兩個開發包:DBMS_FLASHBACK和DBMS_JOB。

  1. DBMS_FLASHBACK包主要是用來進行倒敘查詢使用的,即通過設置查詢時間來確定該時刻下的查詢結果。一般情況下,我們平時使用的查詢是查詢當前時間(sysdate)下的數據。使用DBMS_FLASHBACK包就可以查詢以前數據的狀態,這一功能對于誤處理的情形而言就顯得極為重要。下面是該包中的兩個主要函數介紹:

  ·Enable與disable:分別是啟動和關閉倒敘查詢功能。應該注意的是,每次啟動倒敘查詢之前應首先關閉倒敘模式。

  ·Enable_at_time:設置查詢的時間點,它是以當前時間為起點進行設置的。

  2. DBMS_JOB包是用來對PL/SQL塊進行調度的實用包,它允許PL/SQL塊在指定的時間內自動運行,類似于VC中的Settimer這樣的定時器。為便于該包的運行,需要首先設置兩個init.ora參數:

  ·JOB_QUEUE_PROCESS指定啟動的后臺處理數。如果它是0或沒有被設置,將沒有后臺處理進入作業,它們也就不會運行。 

  ·JOB_QUEUE_INTERVAL以秒為單位,指定每一個過程在檢查新的作業前等待的時間。在JOB_QUEUE_INTERVA所指定的時間內,一個作業最多只能運行一次。

  設置好這兩個參數后,就可對程序進行調度了,該包主要使用SUBMIT函數進行調度,該函數的原型為:

submit(返回的作業號,程序過程名,sysdate,下次運行的時間);

  二.數據恢復

  數據恢復是數據庫本身一個極其重要的功能,通常重要的數據可以通過其系統的數據備份功能來實現,所以在實際的開發中,重要的數據往往容易恢復,反而是一些平常的數據因為誤操作而引起一些麻煩。

  對于有經驗的開發人員來說,往往會對那些開發需要的基表(基表就是提供數據源的數據表)做一些備份。這樣,即使以后出現一些數據誤操作也不會導致重大的事故。

  更為實用而又很少為開發人員所使用的方法就是采用倒敘查詢,鑒于前面已經有了一定的技術鋪墊,現在就可以使用DBMS_FLASHBACK包來對數據進行恢復了。為方便講述,假定一個基表emp_table,其表記錄如下: 


  即此表僅有3條記錄,那么由于對數據庫的誤操作,導致第一條記錄被刪除,那么執行下面的SQL語句:


  其執行結果為:


  由于已經執行了提交操作(COMMIT),所以無法進行回滾(ROLLBACK),這樣原來的數據就無法用正常方法進行恢復。不過,由于誤操作的時候在不久以前(假設是5分鐘之前),在這種情況下,可以使用DBMS_FLASHBACK包來恢復數據,可以在SQL*PLUS里鍵入如下代碼:

execute dbms_flashback.enable_at_time(sysdate-5/1440);

  此時,將數據庫調整到5分鐘之前的狀態,如果再執行查詢表的命令就會為如下結果:



  那么就可以在此時將其數據備份到emp_table_bk,即:


  這樣,就把以前誤操作的數據給恢復回來了。

  從上面的結果看的出,調用DBMS_FLASHBACK包的ENABLE_AT_TIME函數,可以將數據庫的當前查詢時間調整到以前,這樣給數據恢復提供了幫助。

  在使用DBMS_FLASHBACK包的時候還應該注意以下幾點:

  ·倒敘查詢是有前提的,即該數據庫必須具有撤消管理功能。具體做法是,DBA應該建立一個撤消表空間,并啟動自動撤消管理,并建立一個撤消保留時間窗。這樣,Oracle將在撤消表空間中維護足夠的撤消信息以便在保留時間內支持倒敘查詢。 

  ·由于撤消表空間的大小直接決定了倒敘查詢執行的成敗。即撤消表空間越大,那么可以查詢的時間可以越早,那么對于一般的撤消表空間的大小,為了保證倒敘查詢的成功,盡量查詢5天以內的數據,這樣成功的可能性更高一些。 

  三.任務調度

  在UNIX系統中,任務與進程的概念是等同的,即當系統執行一段程序代碼時會自動給其分配一個進程號和任務號,這樣使用進程號和任務號就可以對該任務進行操作(如掛起,停止,啟動等)。而Oracle數據庫內部也存在任務調度,比如,需要對某一操作進行周期性的執行,或者是在某事件發生的時候才執行。一般性的做法是使用觸發器,即將所有操作封裝在觸發器里,然后通過指定觸發事件即可將該操作等待執行。另外,還可以直接利用操作系統來實現,比如在Windows平臺就可以編寫Windows腳本并結合"任務計劃"來實施;如果在Unix平臺,就可以寫Shell來實現任務的周期性的執行操作。

  而這里主要是采用ORACLE數據庫的DBMS_JOB包來實現的。

  例如,由于每個月都需要對員工進行考評以進行薪水的調整,那么就需要對emp_table表進行更新處理。更新處理代碼如下:


  為了定期每個月都運行上面的程序,可以執行如下代碼:


  submit執行后將使得salary_upt過程馬上執行。在上面的代碼中,v_jobNum是該作業返回的作業號(任務號),后面兩個時間分別為開始時間和結束時間,所以salary_upt過程將每隔30天執行一次salary_upt程序,以此達到了定期更新的目的。

  如果要禁止該作業的繼續執行,可以執行下面的命令:


  使用DBMS_JOB包來實現任務的調度便于跟應用程序集成,有時候這樣處理更為的便捷。

  四.小結

  很多時候,數據庫的功能可以通過應用程序來進行擴展,對于進行后臺數據庫開發操作的用戶而言,除了對數據庫整體架構熟悉以外,掌握一定的應用程序開發能力是很有必要的。系統通過本文能夠給讀者一定的啟發。 

  本文的開發環境為:

  服務器端:UNIX+ORACLE9.2

  客戶端:WINDOWS2000 PRO+TOAD(或者SQL*PLUS)

  本文中的代碼在上述環境已調試通過。

您可能感興趣的文章:
  • oracle復習筆記之PL/SQL程序所要了解的知識點
  • PL/SQL Dev連接Oracle彈出空白提示框的解決方法分享
  • 64位win7下pl/sql無法連接oracle解決方法
  • Oracle中PL/SQL中if語句的寫法介紹
  • Oracle中在pl/sql developer修改表的2種方法
  • ORACLE PL/SQL 觸發器編程篇介紹
  • Oracle 10G:PL/SQL正規表達式(正則表達式)手冊
  • 在Oracle PL/SQL中游標聲明中表名動態變化的方法
  • Oracle PL/SQL語言入門基礎
  • Oracle PL/SQL入門案例實踐
  • Oracle PL/SQL入門慨述
  • Oracle教程之pl/sql簡介

標簽:南平 通化 襄陽 聊城 股票投資 池州 嘉峪關 南平

巨人網絡通訊聲明:本文標題《PL/SQL實現Oracle數據庫任務調度》,本文關鍵詞  SQL,實現,Oracle,數據庫,任務,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PL/SQL實現Oracle數據庫任務調度》相關的同類信息!
  • 本頁收集關于PL/SQL實現Oracle數據庫任務調度的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 欲望之岛完整版电影在线观看视频 | 99综合之综合久久伊人| 日本高清免费h色视频在线观看| 动漫美女脱了内裤打屁股| 中文在线免费不卡视频| 久久er精品热线免费| 黄色软件下载免费观看| 我与表组疯狂的性故事小说 | 爽?好多水?快?深点变态| 牛鞭擦进女人的下身视频播放| 娇妻被朋友日日躁高H| 黄色视屏在线免费观看| 中文字幕精品一区二区绿巨人| 中文字幕在线日韩| 思思99热这里只有精品66| 蜜臀AV一区二区三晚秋视频| 亚洲毛片免费视频| 夜夜狠狠| 精品日韩一区二区三区四区游戏| 4567影视| 日韩午夜高清福利片在线观看| 国產又粗又猛又爽又黄| 越南美女啪啪XXOO| 9丨精品国产高清自在线看| 欧美人人做人人爽人人喊| 伊人影院亚洲| 新婚大ying乱小说| 亚洲高清一区二区三区不卡| 公与3个熄乱理在线播放| 午夜理理伦片做爰在线观看| 雯雅婷工地丝袜3d动漫| 一级淫片潘金莲免费看| 日本大尺度在线观看| 久久国产乱子伦精品免费看| 公交车被脱了内裤进入 | 特a级黄色片| 秦岚翘臀后进娇喘呻吟的导演是谁| 男女生互摸互添下面| 依依激情网| 日韩乱巨码在线观看| 一边吃奶一边哭乱抻又乱扭|