版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 Oracle服務器進程和存儲結構第五章 管理Oracle進程5.1 服務器進程5.1.1 專用服務器進程 1)提交批處理作業(yè)2) 使用Recovery Manager(恢復管理器)備份,還原或恢復數據庫5.1.2 共享服務器進程:需要啟動Oracle Net Services監(jiān)聽進程5.2 將Oracle配置為共享服務器5.2.1 配置共享服務器的初始化參數5.2.2 設置調度程序的起始數目(DISPATCHERS):在實例啟動時開始運行的調度程序進程的數目是由初始化參數dispatchers控制的。1)典型情況: DISPATCHERS=“(PROTOCOL=TCP)”2)強制調度程序使用
2、IP地址: DISPATCHERS=”(ADDRESS=(PROTOCOL=TCP)(HOST=))(DISPATCHERS=2)”3) 強制調度程序使用端口:DISPATCHERS=“(ADDRESS=(PROTOCOL=TCP)(PORT=5000)”5.2.3 設置共享服務器的起始數目(SHARED_SERVERS)5.2.4 修改調度程序和服務器進程1)添加和刪除調度程序進程 (V$QUEUE, V$DISPATCHER, V$DISPATCHER_RATE)Alter system Set dispatchers = (protocol=TCP)(DISPATCHER
3、S=5) (INDEX=0), (protocol=TCP)(DISPATCHERS=2) (INDEX=1),2) 關閉指定的調度程序進程 SQL select Name ,network from v$dispatcher;NAME NETWORKD000 (ADDRESS=(PROTOCOL=tcp)(HOST=LBX.ITGT.COM)(PORT=1563)SQL Alter system shutdwon immediate D000; 關閉調度3)改變共享服務器進程的最少數目 Alter system set shared_servers = 2;將動態(tài)的設置兩個共享服務器進程5.
4、2.5 監(jiān)視共享服務器5.3 關于Oracle的后臺進程5.4 監(jiān)視Oracle實例的進程5.4.1 進程和會話視圖5.4.2監(jiān)視鎖 V$LOCK 列出Oracle服務器當前擁有的鎖以及對鎖或鎖存儲器沒有完成的請求5.4.3 跟蹤文件和報警文件:1)使用跟蹤文件:以便查看后臺進程是否有錯誤。2)指定跟蹤文件的位置:后臺進程的所有跟蹤文件和報警文件都將寫入到由初始化參數backgroup_dump_dest指定的目標目錄中3) 控制跟蹤文件的大小 MAX_DUMP_FILE_SIZE 4)控制Oracle寫入跟蹤文件的過程 alter session set sql_trace true;5.5
5、 為并行執(zhí)行管理進程5.5.1 管理并行執(zhí)行的服務器 設置parallel_automatic_tuning=trun5.5.2 為某個會話更改并行執(zhí)行 1)停用并行執(zhí)行:在發(fā)布alter session disable parallel dml|ddl|query語句后,就不能將所有后面的DML(inster update delete)DDL(create Alter)或查詢(select)語句并行處理。 2)啟用并行執(zhí)行:在發(fā)布alter session enable parallel dml|ddl|query后,就可以并行處理3) 強制并行執(zhí)行 alter session force
6、 parallel dml|ddl|query5.6 為外部過程管理進程5.6.1 為調用外部 設置一個環(huán)境 1)編輯tnsname.ora文件,通過添加一個入口連接到監(jiān)聽進程或者可以使用oracle網絡配置助理來設置tnsname.ora 2) 編輯listener.ora文件,為外部過程監(jiān)聽進程添加一個入口?;蛘呖梢允褂胦racle網絡配置助理來設置listener.ora文件 3)啟動一個單獨的監(jiān)聽進程來專門處理外部過程 4)建議限制單獨的監(jiān)聽進程的權限 5)如果外部過程代理是在一臺遠程的計算機上,那么可以將可執(zhí)行的外部過程代理設置在$oracle_home/bin路徑中。5.6.2 在
7、tnsname.ora文件中為外部過程監(jiān)聽程序添加入口 Extproc_connection_data=( description=(address=(protocol=ipc) (key=extproc_key) (connect_data=(sid=extproc_agent)5.6.3 在listener.ora文件中為外部過程添加入口 Listener=( description=(address=(protocol=ipc) (key=extproc_key) Sid_list_listener=(sid_list= (sid_desc= (sid_name=extproc_agen
8、t) (oracle_home=/oracle) (program=extproc)5.7 終止會話 alter system kill session 1,15:終止會話的系統(tǒng)標識符為7,它的串行號為155.7.1 識別要終止的是哪個會話 可以查詢V$SESSION動態(tài)性能視圖 SELECT SID,SERIAL#,STATUS FROM V$SESSION WHERE USERNAME = tom;5.7.2 終止處理激活狀態(tài)的會話5.7.3 終止處于非激活狀態(tài)的會話第6章 管理控制文件6.1 什么是控制文件:控制文件是一個小型的二進制文件,它可以記錄數據庫的物理結構,包括的內容有數據庫名
9、稱,相關的數據文件和聯機重做日志文件的名稱和位置,數據庫創(chuàng)建的時標,當前日志的序號,檢驗點信息。6.2 控制文件的準則: 1)提供控制文件的文件名:使用初始化參數CONTROL_FILES指定控制文件名。 2)在不同磁盤上的復用控制文件: 3) 適當放置控制文件 4)備份控制文件 5)管理控制文件的大?。汗芾砦募笮〉闹饕獩Q定權在于設置MAXDATAFILES,MAXLOGFILES,MAXLOGMEMBERS,MAXLOGHISTORY參數以及在創(chuàng)建相關數據庫的CREATE DATABASE語句中MAXINSTANCES參數的值。6.3)創(chuàng)建控制文件 1) 創(chuàng)建初始化控制文件 CONTROL
10、_FILES=(/u01/oracle/prod/control01.ctl, /u02/oracle/prod/control01.ctl, /u03/oracle/prod/control01.ctl) 2)創(chuàng)建額外的副本、重命名和重定位控制文件 如果要多路復用或移動當前控制文件的另外副本,按如下步驟操作 (1)關閉數據庫 (2)使用操作系統(tǒng)命令,將現有控制文件備份到另外一個位置 (3)編輯數據庫初始化參數文件中的初始化參數CONTROL_FILES,進而添加新的控制文件的名稱,或者更改現有控制文件的文件名。 (4)重新啟動數據庫 3)創(chuàng)建新的控制文件 何時創(chuàng)建新的控制文件(1)所有數據庫
11、的控制文件都受到永久性的損壞,并且還沒有任何控制文件的備份(2)希望改變其中某個數據庫參數的永久性設置。包括MAXDATAFILES,MAXLOGFILES,MAXLOGMEMBERS,MAXLOGHISTORY、MAXINSTANCES參數的值。 CREATE CONTROLFILE語句 CREATE CONTROLFILE SET DATABASE prodLOGFILE GROUP 1 (/u01/oracle/prod/REDO01_01.log, /u02/oracle/prod/redo01_02.log), GROUP 2 (/u01/oracle/prod/REDO02_01.
12、log, /u02/oracle/prod/redo02_02.log), GROUP 3 (/u01/oracle/prod/REDO03_01.log, /u02/oracle/prod/redo03_02.log),NORESETLOGSDATAFILE /u01/oracle/prod/system01.dbf SIZE 3M, /u01/oracle/prod/rbs01.dbs SIZE 5M /u01/oracle/prod/users01.dbs SIZE 5M /u01/oracle/prod/temp01.dbs SIZE 5MMAXLOGFILES 50MAXLOGMEM
13、BERS 3MAXDATAFILES 200MAXINSTANCES 6ARCHIVERLOG; 創(chuàng)建新的控制文件的步驟:(1) 制作一個包含數據庫的所有數據文件和聯機重做日志文件的列表,需要如下列表 SELECT MEMBER FROM V$LOGFILE SELECT NAME FROM V$DATAFILE SELECT VALUE FROM V$PARAMETER WHERE NAME = CONTROL_FILES;(2) 關閉數據庫(3) 備份數據庫的所有數據文件和聯機重做日志文件(4) 啟動一個新的實例,但是不要裝載或打開數據庫 startup nomount(5) 使用CREA
14、TE CONTROLFILE語句為數據庫創(chuàng)建一個新的控制文件(6) 在離線存儲設備上存儲新的控制文件的備份(7) 為數據庫編輯CONTRIL_FILES初始化參數(8) 如果有必要可以恢復數據庫(9) 打開數據庫 如果沒有執(zhí)行8恢復過程,則直接運行 ALTER DATABASE OPEN;如果創(chuàng)建控制文件是指定resetlogs,則執(zhí)行ALTER DATABASE OPEN RESETLOGS;4) 在創(chuàng)建控制文件之后遇到的文件及其解決方法 1)檢查丟失或多余的文件 2) 在CREATE CONTRO;FILE過程中處理錯誤5) 備份控制文件 1) 使用以下語句將控制文件備份為二進制文件ALT
15、ER DATABASE BACKUP CONTROLFILE to /oracle/backup/control.bkp; 2)制作以后可用于重新創(chuàng)建控制文件的SQL語句 ALTER DATABASE BACKUP CONTROLFLE TO TRACE;6)使用當前副本恢復控制文件 1)使用控制文件的副本對受到損壞的控制文件進行恢復 (1)關閉實例,使用操作系統(tǒng)命名用一個完好的副本重寫損壞的控制文件 cp /u01/oracle/prod/control03.ctl /u01/oracle/prod/control02.ctl (2)啟動SQL*PLUS并打開數據庫 startup 2)使用
16、控制文件的副本對永久性介質失敗進行恢復 (1)關閉實例,使用操作系統(tǒng)命名將控制文件的當前副本復制到一個新的可訪問的位置 cp /u01/oracle/prod/control01.ctl /u01/oracle/prod/control03.ctl(2)編輯初始化參數中的CONTROL_FILES參數,以便用心的位置代替原來的被損壞的位置: CONTROL_FILES = (/u01/oracle/prod/control01.ctl /u02/oracle/prod/control02.ctl/u04/oracle/prod/control03.ctl )(3)啟動SQL*Plus并打開數據
17、庫 STARTUP7) 刪除控制文件 (1)關閉數據庫 (2)編輯數據初始化參數文件中的初始化參數CONTROL_FILES,以便刪除舊的控制文件的名稱 (3)重新啟動數據庫8)顯示控制文件信息第7章 管理聯機重做日志7.1 什么是聯機重做日志 聯機重做日志包括兩個或更多個預先分配好的文件,這些文件中存儲自文件產生以來對數據庫所做的所有更改。1) 重做線程:每個數據庫實例都有它自己的聯機重做日志組,這些聯機重做日志組,不管是不是多路復用,都稱之為一個聯機重做的實例線程。2) 聯機重做日志目錄:聯機重做日志文件中填滿了重做記錄。重做記錄又稱為重做條目,它由一組修改向量組成,其中每個修改向量都是用
18、來描述對數據庫中的某個塊所做的一種修改。3) Oracle如何將內容寫到聯機重做日志:oracle數據庫聯機重做日志包括兩個或 聯機重做日志文件,一般至少兩個,以確保其中一個一直用于寫入,另一個用于存檔。后臺進程日志寫入程序(LGWR)以循環(huán)方式填寫聯機重做日志文件3.1)活動的(當前的)和非活動的聯機重做日志文件3.2)日志卻換和日志順序號7.2 規(guī)劃聯機重做日志1)多路復用聯機重做日志文件2)將聯機重做日志成員放置在不同的磁盤上3)設置聯機重做日志成員的大小4)選擇聯機重做日志文件的號碼5)控制存檔延遲7.3 創(chuàng)建聯機重做日志組及其成員:需要擁有ALTER DATABASE系統(tǒng)權限1)創(chuàng)建
19、聯機重做日志組 向數據庫添加了一個新的重做日志組: ALTER DATABASE ADD LOGFILE(/oracle/dbs/loglc.rdo,/oracle/dbs/log2c.rdo)SIZE 500K使用GROUP選項來制定標識組的編號ALTER DATABASE ADD LOGFILE GROUP 10(/oracle/dbs/loglc.rdo,/oracle/dbs/log2c.rdo)SIZE 500K2) 創(chuàng)建聯機重做日志成員為組號為2的組添加了一個新的重做日志成員ALTER DATABASE ADD LOGFILE MEMBER /oracle/dbs/log2c.rd
20、o TO GROUP 2通過to蠶食中制定組中所有其他成員的方法來識別目標組 ALTER DATABASE ADD LOGFILE MEMBER /oracle/dbs/log2c.rdo TO (/oracle/dbs/log2a.rdo,/oracle/dbs/log2b.rdo)7.4 重新定位和重新命名聯機重做日志成員 1)關閉數據庫 SHUTDOWN 2)將聯機重做日志文件復制到新的位置 mv /diska/logs/log1a.rdo /diskc/logs/log1c.rdo mv /diska/logs/log2a.rdo /diskc/logs/log2c.rdo 3) 啟動
21、并裝載數據庫,但不打開數據庫 CONNECT / AS SYSDBA STARTUP MOUNT 4) 重新命名聯機重做日志成員ALTER DATABASE RENAME FILE /diska/logs/log1a.rdo, /diska/logs/log2a.rdo to /diskc/logs/log1c.rdo,/diskc/logs/log2c.rdo; 5) 打開數據庫進行正常操作 ALTER DATABASE OPEN;7.5 取消聯機重做日志組及其成員 1)取消日志組 ALTER DATABASE DROP LOGFILE GROUP 3 2) 取消聯機重做日志成員 ALTER
22、 DATABASE DROP LOGFILE MEMBER /oracle/dbs/log3c.rdo;7.6 強制實施日志切換 ALTER SYSTEM SWITCH LOGFILE;7.7 檢驗重做日志文件中的塊 初始化參數DB_BLOCK_CHECKSUM的值TRUE OR FALSE7.8 清楚聯機重做日志文件 清除組號為3的重做日志組中的日志文件:ALTER DATABASE CLEAR LOGFILE GROUP 3;受到損壞的重做日志文件如果還沒有存檔,可以使用UNARCHIVED關鍵字ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 3
23、;7.9 查看連接重做日志信息第8章 管理已存檔的重做日志8.1 什么是已經存檔的重做日志Oraccle允許將已填滿的聯機重做日志文件的組保存到一個或多個脫機目的地,這些日志全都稱為已存檔的重做日志,也可稱為存檔日志。將聯機重做日志文件變成已存檔的重做日志文件的進程稱為存檔。8.2 在NOARCHIVELOG和ARCHIVELOG兩種模式之間進行選擇 1)在NOARCHIVELOG模式下運行數據庫:該模式只能保護數據庫免于實例識別,單不能避免介質失敗。 2) 在ARCHIVELOG模式下運行數據庫 該模式的好處: 數據庫備份,聯機重做日志文件也一起備份,這樣可以保證在操作系統(tǒng)或磁盤失敗事件后能
24、夠恢復所有已提交的事務。 如果有已存檔的日志,可以使用在打開數據庫時以及在正常系統(tǒng)使用過程中所獲得的備份 通過將原有的已存檔的重做日志應用于備用數據庫的方法,可以將當前的備份數據庫與它原來的數據庫一起保留8.3 控制存檔模式 1) 設置最初的數據庫存檔模式:在CREATE DATABASE語句中需要設置數據庫最初的存檔模式,默認為NOARCHIVELOG 2)改變數據庫的存檔模式 使用ALTER DATABASE語句來改變,方法: 關閉數據庫實例 shutdown 備份數據庫 對初始化參數進行編輯,其中包含了指定是否允許自動存檔以及指定存檔日志文件的目標位置的初始化參數 啟動一個新的實例并裝載
25、數據庫,但是不打開數據庫 STARTUP MOUNT 轉換數據庫的存檔模式,然后打開數據庫進行正常操作 ALTER DATABASE ARCHIVELOG; ALTER DATABSE OPEN 3) 允許自動存檔方式 在實例啟動時允許自動存檔方式:在數據庫啟動實例時自動初始化參數LOG_ARCHIVE_START=true 在實例啟動后允許自動存檔方式 ALTER SYSTEM ARCHIVE LOG START; 控制存檔進程的數目 參數LOG_ARCHIVE_MAX_PROCESSESALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=3;4) 禁止自動
26、存檔 在實例啟動時禁止自動存檔方式 設置初始化參數:LOG_ARCHIVE_START=FALSE 在實例啟動后禁止自動存檔方式 ALTER SYSTEM ARCHIVE LOG STOP 5)執(zhí)行手動存檔 ALTER SYSTEM ARCHIVE LOG ALL 如果不允許自動存檔,就必須及時手動存檔聯機重做日志的組 如果允許自動存檔,但是又希望將已填滿的聯機重做日志成員的某個非活動組重新存檔到另外一個位置,那么可以使用手動存檔的方式。8.4 指定存檔目標位置 1)指定存檔目標位置 通過初始化參數可以指定存檔的目標位置 方法1 使用參數LOG_ARCHIVE_DEST_n 步驟:(1) 使用
27、SQL*Plus來關閉數據庫 SHUTDOWN(2) 編輯LOG_ARCHIVE_DEST_n參數來指定1到10個存檔位置(3) 編輯LOG_ARCHIVE_FORMAT 初始化參數,使用%s來包含日志序號作為文件名地一部分,并且使用%t來包含線程號。使用大寫字母(%S和%T)來以0填補文件名左邊的空處。 方法2 使用參數LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST LOG_ARCHIVE_DEST參數指定的主存檔目標位置 LOG_ARCHIVE_DUPLEX_DEST參數指定的輔助存檔目標位置2)了解存檔目標位置的狀態(tài) Valid/Invalid指出磁盤位
28、置或服務名稱是否是指定的和有效的 Enable/Disbaled指出目標位置的可用性狀態(tài)以及Oracle是否可以使用這個目標位置 Active/Inactive指出在訪問目標位置時是否會出現問題8.5 指定日志傳送模式 1)正常傳送模式 2)備用傳送模式8.6 管理存檔目標失敗 1)指定最小數目的成功的目標 初始化參數:LOG_ARCHIVE_MIN_SUCCEED_DEST=n(1-10) 2)重新存檔到一個失敗過的目標位置8.7 通過指定多個ARCn進程調整存檔性能 ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=28.8 控制存檔日志進程生成的跟蹤輸
29、出 初始參數LOG_ARCHIVE_TRACE來指定跟蹤級別如果設置LOG_ARCHIVE_TRACE=12那么將生成跟蹤解蔽分別為8和4輸出。ALTER SYSTEM SET LOG_ARCHIVE_TRACE=128.9 查看有關已存檔的重組日志信息 1)固定的視圖:2)ARCHIVE LOG LIST命令第9章 使用LogMiner來分析重做日志文件9.1 了解分析重做日志文件的價值 1)查明何時發(fā)生數據庫邏輯上的損壞。 2)決定在事物級執(zhí)行細粒度地恢復所必需的動作 3)性能協(xié)調和容量規(guī)劃 4)實行事后審計9.2 在開始之前需要知道的內容 1) 重做日志文件 通過V$LOGMNR_CON
30、TENTS視圖 重做日志文件必須來自Orale數據庫的8.0或更高版本 重做日志文件必須使用與運行LogMine相同的數據庫的字符集 通常,重做日志文件的分析需要生產重做日志文件的數據庫所生產的字典 LogMiner必須運行在生成正在分析的重做日志文件的硬件平臺上。 2) 字典選項 要完整的譯出重做日志文件的內容,LogMiner需要訪問數據庫字典 LogMiner 從源字典中取出數據的方式:將字典中的數據提取到平面文件,將字典中的數據提取到重做日志文件,或者使用聯機目錄(數據庫當前使用的字典) 將字典提取到平面文件或重做日志文件LogMiner字典文件包含識別創(chuàng)建這個文件的數據庫以及該文件創(chuàng)
31、建時間的信息。DBMS_LOGMNR_D.BUILD過程允許將字典提取到平面文件或重做日志文件將字典提取到平面文件:當數據字典提取到一個平面文件時,DDL語句可以由其他用戶發(fā)布。將字典提取到重做日志文件:當正在將字典提取到重做日志流時,不能執(zhí)行任何DDL語句。 使用聯機目錄 3) DDL語句的跟蹤 DDL_DICT_TRACKING選項設置LogMiner跟蹤數據定義語言 4) 存儲管理 ALTER TABLESPACE ADD DETAFILE 5) 從重做日志文件中獲取數值:使用mine函數從重做日志文件中提取LogMiner所需的數據,mine函 數有DNMS_LOGMNR.MINE_V
32、ALUE和COLUMN_PRESENT 6)LogMiner的局限 不支持以下內容:數據類型LONG和LOB;簡單的和嵌套的數據提取類型(ADTs);集合(嵌套表和VARRAYs);對象Refs;索引結構的表(IOTs) 7)LogMiner的視圖 V$LOGMNR_CONTENTS 顯示對用戶所做的修改以及表信息V$LOGMNR_DICTIONARY顯示有關LogMiner字典文件的信息,V$LOGMNR_LOGS顯示有關指定的日志文件信息V$LOGMNT_PARAMS顯示有關可選的logMiner參數的信息,包括啟動和結束系統(tǒng)更改號碼以及啟動和結束的時間9.3 使用LogMiner 要運行
33、LogMiner可以使用兩個PL/SQL包: DBMS_LOGMNR 包含初始化LogMiner和運行LogMiner必須的過程。這些過車包含指定日志文件名、帥選標準和LogMiner會話特性的接口 DBMS_LOGMNR_D 查詢當前數據庫的字典表并創(chuàng)建LogMiner字典文件 典型LogMiner會話中的步驟1) 提取字典:要使用LogMiner,必須通過以下方法提供一個字典 將數據庫字典信息提取到平面文件,使用DBMS_LOGMNR_D.BUILD過程 創(chuàng)建Oracle9i數據庫的字典平面文件(1) 要為字典文件指定放置的位置,可以設置init.ora文件中的UTL_FILE_DIR參數
34、。(2) 如果數據庫處理關閉狀態(tài),可以使用SQL*Plus來裝載并打開數據庫,數據庫中有希望分析的重做日志文件(3) 執(zhí)行PL/SQL過程DBMS_LOGMNR_D.BUILD 將數據庫字典信息提取到重做日志文件 通過DICT_FROM_ONLINE_CATALOG選項來指定使用聯機目錄2) 指定要分析的重做日志文件:執(zhí)行DBMS_LOGMNR.ADD_LOGFILE過程即可 使用SQl*plus來啟動Oracle實例,數據庫可以裝載,也可以不裝載 Startup 通過指定DBMS_LOGMNR.ADD_LOGFILE過程的NEW選項來創(chuàng)建重做日志文件列表 EXECUTE DBMS_LOGMN
35、R.ADD_LOGFILE (LOGFILENAME=/oracle/logs/log1.f, OPTIONS=DBMS_LOGMNR.ADDFILE); 如果需要,可以通過DBMS_LOGMNR.ADD_LOGFILE過程的ADDFILE選項來添加更多的重做日志文件 如下:添加log2.f文件EXECUTE DBMS_LOGMNR.ADD_LOGFILE (LOGFILENAME=/oracle/logs/log2.f, OPTIONS=DBMS_LOGMNR.ADDFILE); 如果需要,還可以通過DBMS_LOGMNR.ADD_LOGFIE過車的REMOVEFILE選項來刪除重做日志文件
36、,如下刪除log2.f文件 EXECUTE DBMS_LOGMNR.ADD_LOGFILE (LOGFILENAME=/oracle/logs/log2.f, OPTIONS=DBMS_LOGMNR.REMOVEFILE);3) 啟動LogMiner 執(zhí)行DBMS_LOGMNR.START_LOGMNR過程來啟動LogMinerEXECUTE DBMS_LOGMNR.START_LOGMNR(DICTFILENAME=/oracle/database/dictionary.ora) 還可以設置startTime和endTime參數來根據時間刷選數據 TO_DATA EXECUTE DBMS_L
37、OGMNR.START_LOGMNR(DICTFILENAME=/oracle/database/dictionary.ora,STARTTIME=TO_DATA(01-JAN-1999 08:30:00,DD-MON-YYYY HH:MI:SS)ENDTIME=TO_DATA(01-JAN-1999 08:40:00,DD-MON-YYYY HH:MI:SS) 還可以使用SCN的startScn和endScn參數來刷選數據 EXECUTE DBMS_LOGMNR.START_LOGMNR(DICTFILENAME=/oracle/database/dictionary.ora, STARTS
38、CN = 100,ENDSCN = 150); 如果需要,還可以使用OPTIONS參數來設置以下會話特性:(1) COMMITTED_DATA_ONLY:在V$LOGMNR_CONTENTS視圖中,只顯示已提交事務的行,這個特性能夠帥選出回滾事務以及進程中的事務(2) SKIP_CORRUPTION: 在V$LOGMNR_CONTENTS視圖中進行選擇性操作的過程中,會跳過重做日志文件的任何遭到損壞的地方(3) DDL_DICT_TRACKING(4) NO_DICT_RESET_ONSELECT(5) DICT_FROM_ONLINE_CATALOG(6) DICT_FROM_REDO_LO
39、GS4) 分析V$LOGMNR_CONTENTS視圖中的輸出 SELECT operation,sql_redo FROM V$LOGMNR_CONTENTS5) 使用LogMiner執(zhí)行對象級的恢復操作:用SQL_UNDO語句來回滾原來對數據庫所做的修改6) 結束LogMiner會話:EXECUTE DBMS_LOGMNR.END_LOGMNR;9.4 使用LogMiner的例子 1)跟蹤某個特定用戶實施的更改 創(chuàng)建字典文件(1) 在init.ora文件中,將初始化參數UTL_FILE_DIR設置為/user/local/dbsUTL_FILE_DIR = /user/local/dbs(2
40、) 啟動SQL*plus,然后連接數據庫 CONNECT SYSTEM/PASSWORD(3) 打開數據庫以便創(chuàng)建字典文件:STARTUP(4) 將字典命名為orcldict.ora并把它放在/user/local/dbs目錄中EXECUTE DBMS_LOGMNR_D.BUILD( DICTIONARY_FILENAME = orcldict.ora, DICTIONARY_LOCATION = /usr/local/dbs);(5) 這樣就創(chuàng)建了字典,并且可以用于以后的操作中??梢躁P閉數據庫:shutdown 添加重做日志文件并確定搜索范圍(1) 啟動SQL*plus,按SYSTEM身份連
41、接,然后啟動實例:CONNECT SYSTEM/PASSWORDSTARTUP NOMOUNT(2) 提供要分析的日志文件的列表,設置標記Options來表明這是一個新的列表EXECUTE DBMS-LOGMNR.ADD_LOGFILE( LOGFILENAME = loglorcl.ora, OPTIONS = DBSM_LOGMNR.NEW);(3) 往現有列表中添加文件。設置OPTIONS來表明正在往現有列表添加文件EXECUTE DBMS-LOGMNR.ADD_LOGFILE( LOGFILENAME = log2orcl.ora, OPTIONS = DBSM_LOGMNR.ADDF
42、IE); 啟動LogMiner并分析數據(1) 啟動LogMiner 并吸納之在制定時間范圍內進行搜索 EXECUTE DBMS_LOGMNR.START_LOGMNR(DICTFILENAME= orcldict.ora,STARTTIME=TO_DATA(01-JAN-1999 08:30:00,DD-MON-YYYY HH:MI:SS)ENDTIME=TO_DATA(01-JAN-1999 08:40:00,DD-MON-YYYY HH:MI:SS)(2) 查詢V$LOGMNR_CONTENTS視圖來查看搜索結果 SELECT sql_redo,sql_undo FROM V$LOGMN
43、R_CONTENTS WHERE USERNAME =;2)計算表訪問統(tǒng)計信息 啟動LogMiner避過制定一個時間范圍EXECUTE DBMS_LOGMNR.START_LOGMNR(DICTFILENAME= orcldict.ora,STARTTIME=TO_DATA(01-JAN-1999 08:30:00,DD-MON-YYYY HH:MI:SS)ENDTIME=TO_DATA(01-JAN-1999 08:40:00,DD-MON-YYYY HH:MI:SS)DICTFILENAME = /usr/local/dict.ora); 查詢V$LOGMNR_CONTENTS視圖來確定在
44、制定時間范圍內那些表進行修改SELECT seg_owner,seg_name,count(*)As Hits FROM V$LOGMNR_CONTENTS WHERE seg_name not LIKE %$ GROUP BY seg_owner,seg_name;第10章 管理作業(yè)隊列10.1 啟動執(zhí)行作業(yè)的進程作業(yè)隊列(Jnnn)進程執(zhí)行作業(yè)隊列中的作業(yè)初始化參數JOB_QUEUE_PROCESSES控制實例能否啟動一個協(xié)調作業(yè)隊列程序進程。設置0-1000ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 20 10.2 管理作業(yè)隊列 1)DBMS_JOB包2
45、)將作業(yè)提交到作業(yè)隊列 作業(yè)環(huán)境:當把作業(yè)提交到作業(yè)隊列或者更改作業(yè)的定義時,Oracle記錄了以下環(huán)境特征: 當前用戶;提交或更改作業(yè)的用戶;當前模式;MAC權限。 同時Oracle還記錄以下NLS參數:NLS_LANGUAGE, NLS_TERRITORY; NLS_CURRENCY;NLS_ISO_CURRENCY;NLS_NUMERIC_CHACTERS; NLS_DATE_FORMAT; NLS_DATE_LANGUAGE; NLS_SORT 作業(yè)和導入/導出 作業(yè)所有者 作業(yè)號碼 作業(yè)定義 作業(yè)執(zhí)行間隔 數據庫鏈接和作業(yè)3)作業(yè)如何執(zhí)行 作業(yè)隊列鎖:V$LOCK 使用該隊列鎖來確保
46、每次作業(yè)只在一個會話中執(zhí)行 作業(yè)執(zhí)行錯誤:在網絡失敗或實例失敗以及當執(zhí)行作業(yè)時發(fā)生異常情況時不能成功執(zhí)行隊列中的作業(yè)4)從作業(yè)隊列中刪除作業(yè):使用DBMS_JOB包中的REMOVE過程 DBMS_JOB.REMOVE(作業(yè)號)5) 更改作業(yè):使用DBMS_JOB包中的CHANGE、WHAT、NEXT_DATE或者INTERVAL過程 CHANGE過程:通過調用FBMS_JOB.CHANGE過程可以改變任何與作業(yè)相關聯的用戶可定義參數 如將標識符12114的作業(yè)將變成每三天執(zhí)行一次:DBMS_JOB.CHANGE(12114,NULL,NULL,SYSDATE + 3 ); WHAT過程:改變作
47、業(yè)的定義。如改變標識符為12144的作業(yè)的定義:DBMS_JOB.WHAT(12144,scott.emppackege.give_raise(RBAYLIS),6000.00); NEXT_DATE過程 改變作業(yè)下一次執(zhí)行時間 INTERVAL過程 改變執(zhí)行間隔的方法6) 損壞的作業(yè) 作業(yè)如何遭到損壞:Oracle嘗試了16次區(qū)執(zhí)行作業(yè),并以失敗告終;使用DBMS_JOB.BRIKEN過程把作業(yè)標記為損壞DB,S_JOB.BROKEN(12144,TRUE);只能將自己的作業(yè)標記為損壞 運行已經損壞的作業(yè):(1) 通過調用DBMS_JOB.RUN過程來強制運行該作業(yè)(2) 通過調用DBMS_
48、JOB.REOKEN過程將該作業(yè)標識為沒有損壞,并且等待Oracle執(zhí)行7) 強制執(zhí)行作業(yè) DBMS_JOB.RUN(標識符)8) 終止作業(yè):可以通過將作業(yè)標記為損壞,識別正在運行作業(yè)的會話程序以及解除該會話連接的方法來終止正在運行的作業(yè)10.3 查看作業(yè)隊列信息1) 顯示有關作業(yè)的信息2) 顯示有關正在運行的作業(yè)信息第11章 管理表空間11.1 管理表空間的準則 1)使用多個表空間:允許用戶在執(zhí)行數據庫操作有更大的靈活性 將用戶數據從數據字典數據中分離出來,以減少在同一個數據文件的字典對象和模式對象之間的競爭 將一個應用程序的數據與另一個的分離,防止如果一個表空間必須被脫機,多個應用程序都受
49、到影響 在不同的磁盤驅動器上存儲不同表空間的數據文件,以減少I/O競爭 將回滾段數據從用戶數據中分離出來,防止單個磁盤的故障造成數據的永久丟失 為其他表空間保持聯機時,使單個表空間脫機,提供更好的整體可用性 為一個特定類型的數據庫使用保留一個表空間 備份單獨的表空間2)指定表空間默認的存儲參數 3)為用戶指定表空間限額11.2 創(chuàng)建表空間 1)本地管理的表空間 好處:提供空間操作的速度和并發(fā)性;提供性能;允許可讀的備用數據庫;簡化空間分配;減少用戶對數據字典的依賴 創(chuàng)建本地管理的表空間:在CREATE TABLESPACE語句中的EXTENT MANAGEMENT子句中指定LOCAL。利用AUTOALLOCATE選項使Oracle自動管理盤區(qū),指定使用一個指定大?。║NIFORAM SIZE)的統(tǒng)一盤區(qū)來管理該表空間。CREATE TABLESPACE lmtbsb DATAFILE /oracle/data/lmtabsb01.dbf SIZE 50M E
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 內蒙古呼倫貝爾市阿榮旗2024-2025學年七年級上學期1月期末語文試卷(含答案)
- 貴州省部分學校聯考2024-2025學年高三上學期12月月考語文試卷(含答案)
- 安徽省示范高中2024-2025學年高一(上)期末綜合測試物理試卷(含答案)
- 福建省寧德市(2024年-2025年小學六年級語文)部編版開學考試(下學期)試卷及答案
- 2024年事業(yè)單位教師招聘言語理解與表達題庫帶答案解析
- 貴州輕工職業(yè)技術學院《護理學基礎Ⅰ(實驗)》2023-2024學年第一學期期末試卷
- 2025版酒吧裝飾材料批發(fā)代理銷售合同3篇
- 新疆塔城地區(qū)(2024年-2025年小學六年級語文)統(tǒng)編版能力評測((上下)學期)試卷及答案
- 新疆哈密地區(qū)(2024年-2025年小學六年級語文)統(tǒng)編版期中考試(上學期)試卷及答案
- 貴州理工學院《資產評估綜合實驗》2023-2024學年第一學期期末試卷
- 售樓部保安管理培訓
- 2024年高壓電工證理論考試題庫(含答案)
- 2023-2024學年仁愛版七上期末考試英語(試題)
- 2024年醫(yī)院培訓計劃
- 2023年湖南出版中南傳媒招聘筆試真題
- 呼吸內科臨床診療指南及操作規(guī)范
- 學生管理教育課件
- 世界職業(yè)院校技能大賽高職組“關務實務組”賽項參考試題及答案
- 高中歷史教師資格考試面試試題及解答參考(2024年)
- 銀行貸款房產抵押合同樣本
- 期末 試題 -2024-2025學年人教PEP版英語六年級上冊 (含答案)
評論
0/150
提交評論