




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、 Oracle服務(wù)器進程和存儲結(jié)構(gòu)第五章 管理Oracle進程5.1 服務(wù)器進程5.1.1 專用服務(wù)器進程 1)提交批處理作業(yè)2) 使用Recovery Manager(恢復(fù)管理器)備份,還原或恢復(fù)數(shù)據(jù)庫5.1.2 共享服務(wù)器進程:需要啟動Oracle Net Services監(jiān)聽進程5.2 將Oracle配置為共享服務(wù)器5.2.1 配置共享服務(wù)器的初始化參數(shù)5.2.2 設(shè)置調(diào)度程序的起始數(shù)目(DISPATCHERS):在實例啟動時開始運行的調(diào)度程序進程的數(shù)目是由初始化參數(shù)dispatchers控制的。1)典型情況: DISPATCHERS=“(PROTOCOL=TCP)”2)強制調(diào)度程序使用
2、IP地址: DISPATCHERS=”(ADDRESS=(PROTOCOL=TCP)(HOST=))(DISPATCHERS=2)”3) 強制調(diào)度程序使用端口:DISPATCHERS=“(ADDRESS=(PROTOCOL=TCP)(PORT=5000)”5.2.3 設(shè)置共享服務(wù)器的起始數(shù)目(SHARED_SERVERS)5.2.4 修改調(diào)度程序和服務(wù)器進程1)添加和刪除調(diào)度程序進程 (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) 關(guān)閉指定的調(diào)度程序進程 SQL select Name ,network from v$dispatcher;NAME NETWORKD000 (ADDRESS=(PROTOCOL=tcp)(HOST=LBX.ITGT.COM)(PORT=1563)SQL Alter system shutdwon immediate D000; 關(guān)閉調(diào)度3)改變共享服務(wù)器進程的最少數(shù)目 Alter system set shared_servers = 2;將動態(tài)的設(shè)置兩個共享服務(wù)器進程5.
4、2.5 監(jiān)視共享服務(wù)器5.3 關(guān)于Oracle的后臺進程5.4 監(jiān)視Oracle實例的進程5.4.1 進程和會話視圖5.4.2監(jiān)視鎖 V$LOCK 列出Oracle服務(wù)器當(dāng)前擁有的鎖以及對鎖或鎖存儲器沒有完成的請求5.4.3 跟蹤文件和報警文件:1)使用跟蹤文件:以便查看后臺進程是否有錯誤。2)指定跟蹤文件的位置:后臺進程的所有跟蹤文件和報警文件都將寫入到由初始化參數(shù)backgroup_dump_dest指定的目標(biāo)目錄中3) 控制跟蹤文件的大小 MAX_DUMP_FILE_SIZE 4)控制Oracle寫入跟蹤文件的過程 alter session set sql_trace true;5.5
5、 為并行執(zhí)行管理進程5.5.1 管理并行執(zhí)行的服務(wù)器 設(shè)置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 為調(diào)用外部 設(shè)置一個環(huán)境 1)編輯tnsname.ora文件,通過添加一個入口連接到監(jiān)聽進程或者可以使用oracle網(wǎng)絡(luò)配置助理來設(shè)置tnsname.ora 2) 編輯listener.ora文件,為外部過程監(jiān)聽進程添加一個入口?;蛘呖梢允褂胦racle網(wǎng)絡(luò)配置助理來設(shè)置listener.ora文件 3)啟動一個單獨的監(jiān)聽進程來專門處理外部過程 4)建議限制單獨的監(jiān)聽進程的權(quán)限 5)如果外部過程代理是在一臺遠(yuǎn)程的計算機上,那么可以將可執(zhí)行的外部過程代理設(shè)置在$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)標(biāo)識符為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 什么是控制文件:控制文件是一個小型的二進制文件,它可以記錄數(shù)據(jù)庫的物理結(jié)構(gòu),包括的內(nèi)容有數(shù)據(jù)庫名
9、稱,相關(guān)的數(shù)據(jù)文件和聯(lián)機重做日志文件的名稱和位置,數(shù)據(jù)庫創(chuàng)建的時標(biāo),當(dāng)前日志的序號,檢驗點信息。6.2 控制文件的準(zhǔn)則: 1)提供控制文件的文件名:使用初始化參數(shù)CONTROL_FILES指定控制文件名。 2)在不同磁盤上的復(fù)用控制文件: 3) 適當(dāng)放置控制文件 4)備份控制文件 5)管理控制文件的大?。汗芾砦募笮〉闹饕獩Q定權(quán)在于設(shè)置MAXDATAFILES,MAXLOGFILES,MAXLOGMEMBERS,MAXLOGHISTORY參數(shù)以及在創(chuàng)建相關(guān)數(shù)據(jù)庫的CREATE DATABASE語句中MAXINSTANCES參數(shù)的值。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)建額外的副本、重命名和重定位控制文件 如果要多路復(fù)用或移動當(dāng)前控制文件的另外副本,按如下步驟操作 (1)關(guān)閉數(shù)據(jù)庫 (2)使用操作系統(tǒng)命令,將現(xiàn)有控制文件備份到另外一個位置 (3)編輯數(shù)據(jù)庫初始化參數(shù)文件中的初始化參數(shù)CONTROL_FILES,進而添加新的控制文件的名稱,或者更改現(xiàn)有控制文件的文件名。 (4)重新啟動數(shù)據(jù)庫 3)創(chuàng)建新的控制文件 何時創(chuàng)建新的控制文件(1)所有數(shù)據(jù)庫
11、的控制文件都受到永久性的損壞,并且還沒有任何控制文件的備份(2)希望改變其中某個數(shù)據(jù)庫參數(shù)的永久性設(shè)置。包括MAXDATAFILES,MAXLOGFILES,MAXLOGMEMBERS,MAXLOGHISTORY、MAXINSTANCES參數(shù)的值。 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) 制作一個包含數(shù)據(jù)庫的所有數(shù)據(jù)文件和聯(lián)機重做日志文件的列表,需要如下列表 SELECT MEMBER FROM V$LOGFILE SELECT NAME FROM V$DATAFILE SELECT VALUE FROM V$PARAMETER WHERE NAME = CONTROL_FILES;(2) 關(guān)閉數(shù)據(jù)庫(3) 備份數(shù)據(jù)庫的所有數(shù)據(jù)文件和聯(lián)機重做日志文件(4) 啟動一個新的實例,但是不要裝載或打開數(shù)據(jù)庫 startup nomount(5) 使用CREA
14、TE CONTROLFILE語句為數(shù)據(jù)庫創(chuàng)建一個新的控制文件(6) 在離線存儲設(shè)備上存儲新的控制文件的備份(7) 為數(shù)據(jù)庫編輯CONTRIL_FILES初始化參數(shù)(8) 如果有必要可以恢復(fù)數(shù)據(jù)庫(9) 打開數(shù)據(jù)庫 如果沒有執(zhí)行8恢復(fù)過程,則直接運行 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)使用當(dāng)前副本恢復(fù)控制文件 1)使用控制文件的副本對受到損壞的控制文件進行恢復(fù) (1)關(guān)閉實例,使用操作系統(tǒng)命名用一個完好的副本重寫損壞的控制文件 cp /u01/oracle/prod/control03.ctl /u01/oracle/prod/control02.ctl (2)啟動SQL*PLUS并打開數(shù)據(jù)庫 startup 2)使用
16、控制文件的副本對永久性介質(zhì)失敗進行恢復(fù) (1)關(guān)閉實例,使用操作系統(tǒng)命名將控制文件的當(dāng)前副本復(fù)制到一個新的可訪問的位置 cp /u01/oracle/prod/control01.ctl /u01/oracle/prod/control03.ctl(2)編輯初始化參數(shù)中的CONTROL_FILES參數(shù),以便用心的位置代替原來的被損壞的位置: CONTROL_FILES = (/u01/oracle/prod/control01.ctl /u02/oracle/prod/control02.ctl/u04/oracle/prod/control03.ctl )(3)啟動SQL*Plus并打開數(shù)據(jù)
17、庫 STARTUP7) 刪除控制文件 (1)關(guān)閉數(shù)據(jù)庫 (2)編輯數(shù)據(jù)初始化參數(shù)文件中的初始化參數(shù)CONTROL_FILES,以便刪除舊的控制文件的名稱 (3)重新啟動數(shù)據(jù)庫8)顯示控制文件信息第7章 管理聯(lián)機重做日志7.1 什么是聯(lián)機重做日志 聯(lián)機重做日志包括兩個或更多個預(yù)先分配好的文件,這些文件中存儲自文件產(chǎn)生以來對數(shù)據(jù)庫所做的所有更改。1) 重做線程:每個數(shù)據(jù)庫實例都有它自己的聯(lián)機重做日志組,這些聯(lián)機重做日志組,不管是不是多路復(fù)用,都稱之為一個聯(lián)機重做的實例線程。2) 聯(lián)機重做日志目錄:聯(lián)機重做日志文件中填滿了重做記錄。重做記錄又稱為重做條目,它由一組修改向量組成,其中每個修改向量都是用
18、來描述對數(shù)據(jù)庫中的某個塊所做的一種修改。3) Oracle如何將內(nèi)容寫到聯(lián)機重做日志:oracle數(shù)據(jù)庫聯(lián)機重做日志包括兩個或 聯(lián)機重做日志文件,一般至少兩個,以確保其中一個一直用于寫入,另一個用于存檔。后臺進程日志寫入程序(LGWR)以循環(huán)方式填寫聯(lián)機重做日志文件3.1)活動的(當(dāng)前的)和非活動的聯(lián)機重做日志文件3.2)日志卻換和日志順序號7.2 規(guī)劃聯(lián)機重做日志1)多路復(fù)用聯(lián)機重做日志文件2)將聯(lián)機重做日志成員放置在不同的磁盤上3)設(shè)置聯(lián)機重做日志成員的大小4)選擇聯(lián)機重做日志文件的號碼5)控制存檔延遲7.3 創(chuàng)建聯(lián)機重做日志組及其成員:需要擁有ALTER DATABASE系統(tǒng)權(quán)限1)創(chuàng)建
19、聯(lián)機重做日志組 向數(shù)據(jù)庫添加了一個新的重做日志組: ALTER DATABASE ADD LOGFILE(/oracle/dbs/loglc.rdo,/oracle/dbs/log2c.rdo)SIZE 500K使用GROUP選項來制定標(biāo)識組的編號ALTER DATABASE ADD LOGFILE GROUP 10(/oracle/dbs/loglc.rdo,/oracle/dbs/log2c.rdo)SIZE 500K2) 創(chuàng)建聯(lián)機重做日志成員為組號為2的組添加了一個新的重做日志成員ALTER DATABASE ADD LOGFILE MEMBER /oracle/dbs/log2c.rd
20、o TO GROUP 2通過to蠶食中制定組中所有其他成員的方法來識別目標(biāo)組 ALTER DATABASE ADD LOGFILE MEMBER /oracle/dbs/log2c.rdo TO (/oracle/dbs/log2a.rdo,/oracle/dbs/log2b.rdo)7.4 重新定位和重新命名聯(lián)機重做日志成員 1)關(guān)閉數(shù)據(jù)庫 SHUTDOWN 2)將聯(lián)機重做日志文件復(fù)制到新的位置 mv /diska/logs/log1a.rdo /diskc/logs/log1c.rdo mv /diska/logs/log2a.rdo /diskc/logs/log2c.rdo 3) 啟動
21、并裝載數(shù)據(jù)庫,但不打開數(shù)據(jù)庫 CONNECT / AS SYSDBA STARTUP MOUNT 4) 重新命名聯(lián)機重做日志成員ALTER DATABASE RENAME FILE /diska/logs/log1a.rdo, /diska/logs/log2a.rdo to /diskc/logs/log1c.rdo,/diskc/logs/log2c.rdo; 5) 打開數(shù)據(jù)庫進行正常操作 ALTER DATABASE OPEN;7.5 取消聯(lián)機重做日志組及其成員 1)取消日志組 ALTER DATABASE DROP LOGFILE GROUP 3 2) 取消聯(lián)機重做日志成員 ALTER
22、 DATABASE DROP LOGFILE MEMBER /oracle/dbs/log3c.rdo;7.6 強制實施日志切換 ALTER SYSTEM SWITCH LOGFILE;7.7 檢驗重做日志文件中的塊 初始化參數(shù)DB_BLOCK_CHECKSUM的值TRUE OR FALSE7.8 清楚聯(lián)機重做日志文件 清除組號為3的重做日志組中的日志文件:ALTER DATABASE CLEAR LOGFILE GROUP 3;受到損壞的重做日志文件如果還沒有存檔,可以使用UNARCHIVED關(guān)鍵字ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 3
23、;7.9 查看連接重做日志信息第8章 管理已存檔的重做日志8.1 什么是已經(jīng)存檔的重做日志Oraccle允許將已填滿的聯(lián)機重做日志文件的組保存到一個或多個脫機目的地,這些日志全都稱為已存檔的重做日志,也可稱為存檔日志。將聯(lián)機重做日志文件變成已存檔的重做日志文件的進程稱為存檔。8.2 在NOARCHIVELOG和ARCHIVELOG兩種模式之間進行選擇 1)在NOARCHIVELOG模式下運行數(shù)據(jù)庫:該模式只能保護數(shù)據(jù)庫免于實例識別,單不能避免介質(zhì)失敗。 2) 在ARCHIVELOG模式下運行數(shù)據(jù)庫 該模式的好處: 數(shù)據(jù)庫備份,聯(lián)機重做日志文件也一起備份,這樣可以保證在操作系統(tǒng)或磁盤失敗事件后能
24、夠恢復(fù)所有已提交的事務(wù)。 如果有已存檔的日志,可以使用在打開數(shù)據(jù)庫時以及在正常系統(tǒng)使用過程中所獲得的備份 通過將原有的已存檔的重做日志應(yīng)用于備用數(shù)據(jù)庫的方法,可以將當(dāng)前的備份數(shù)據(jù)庫與它原來的數(shù)據(jù)庫一起保留8.3 控制存檔模式 1) 設(shè)置最初的數(shù)據(jù)庫存檔模式:在CREATE DATABASE語句中需要設(shè)置數(shù)據(jù)庫最初的存檔模式,默認(rèn)為NOARCHIVELOG 2)改變數(shù)據(jù)庫的存檔模式 使用ALTER DATABASE語句來改變,方法: 關(guān)閉數(shù)據(jù)庫實例 shutdown 備份數(shù)據(jù)庫 對初始化參數(shù)進行編輯,其中包含了指定是否允許自動存檔以及指定存檔日志文件的目標(biāo)位置的初始化參數(shù) 啟動一個新的實例并裝載
25、數(shù)據(jù)庫,但是不打開數(shù)據(jù)庫 STARTUP MOUNT 轉(zhuǎn)換數(shù)據(jù)庫的存檔模式,然后打開數(shù)據(jù)庫進行正常操作 ALTER DATABASE ARCHIVELOG; ALTER DATABSE OPEN 3) 允許自動存檔方式 在實例啟動時允許自動存檔方式:在數(shù)據(jù)庫啟動實例時自動初始化參數(shù)LOG_ARCHIVE_START=true 在實例啟動后允許自動存檔方式 ALTER SYSTEM ARCHIVE LOG START; 控制存檔進程的數(shù)目 參數(shù)LOG_ARCHIVE_MAX_PROCESSESALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=3;4) 禁止自動
26、存檔 在實例啟動時禁止自動存檔方式 設(shè)置初始化參數(shù):LOG_ARCHIVE_START=FALSE 在實例啟動后禁止自動存檔方式 ALTER SYSTEM ARCHIVE LOG STOP 5)執(zhí)行手動存檔 ALTER SYSTEM ARCHIVE LOG ALL 如果不允許自動存檔,就必須及時手動存檔聯(lián)機重做日志的組 如果允許自動存檔,但是又希望將已填滿的聯(lián)機重做日志成員的某個非活動組重新存檔到另外一個位置,那么可以使用手動存檔的方式。8.4 指定存檔目標(biāo)位置 1)指定存檔目標(biāo)位置 通過初始化參數(shù)可以指定存檔的目標(biāo)位置 方法1 使用參數(shù)LOG_ARCHIVE_DEST_n 步驟:(1) 使用
27、SQL*Plus來關(guān)閉數(shù)據(jù)庫 SHUTDOWN(2) 編輯LOG_ARCHIVE_DEST_n參數(shù)來指定1到10個存檔位置(3) 編輯LOG_ARCHIVE_FORMAT 初始化參數(shù),使用%s來包含日志序號作為文件名地一部分,并且使用%t來包含線程號。使用大寫字母(%S和%T)來以0填補文件名左邊的空處。 方法2 使用參數(shù)LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST LOG_ARCHIVE_DEST參數(shù)指定的主存檔目標(biāo)位置 LOG_ARCHIVE_DUPLEX_DEST參數(shù)指定的輔助存檔目標(biāo)位置2)了解存檔目標(biāo)位置的狀態(tài) Valid/Invalid指出磁盤位
28、置或服務(wù)名稱是否是指定的和有效的 Enable/Disbaled指出目標(biāo)位置的可用性狀態(tài)以及Oracle是否可以使用這個目標(biāo)位置 Active/Inactive指出在訪問目標(biāo)位置時是否會出現(xiàn)問題8.5 指定日志傳送模式 1)正常傳送模式 2)備用傳送模式8.6 管理存檔目標(biāo)失敗 1)指定最小數(shù)目的成功的目標(biāo) 初始化參數(shù):LOG_ARCHIVE_MIN_SUCCEED_DEST=n(1-10) 2)重新存檔到一個失敗過的目標(biāo)位置8.7 通過指定多個ARCn進程調(diào)整存檔性能 ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=28.8 控制存檔日志進程生成的跟蹤輸
29、出 初始參數(shù)LOG_ARCHIVE_TRACE來指定跟蹤級別如果設(shè)置LOG_ARCHIVE_TRACE=12那么將生成跟蹤解蔽分別為8和4輸出。ALTER SYSTEM SET LOG_ARCHIVE_TRACE=128.9 查看有關(guān)已存檔的重組日志信息 1)固定的視圖:2)ARCHIVE LOG LIST命令第9章 使用LogMiner來分析重做日志文件9.1 了解分析重做日志文件的價值 1)查明何時發(fā)生數(shù)據(jù)庫邏輯上的損壞。 2)決定在事物級執(zhí)行細(xì)粒度地恢復(fù)所必需的動作 3)性能協(xié)調(diào)和容量規(guī)劃 4)實行事后審計9.2 在開始之前需要知道的內(nèi)容 1) 重做日志文件 通過V$LOGMNR_CON
30、TENTS視圖 重做日志文件必須來自O(shè)rale數(shù)據(jù)庫的8.0或更高版本 重做日志文件必須使用與運行LogMine相同的數(shù)據(jù)庫的字符集 通常,重做日志文件的分析需要生產(chǎn)重做日志文件的數(shù)據(jù)庫所生產(chǎn)的字典 LogMiner必須運行在生成正在分析的重做日志文件的硬件平臺上。 2) 字典選項 要完整的譯出重做日志文件的內(nèi)容,LogMiner需要訪問數(shù)據(jù)庫字典 LogMiner 從源字典中取出數(shù)據(jù)的方式:將字典中的數(shù)據(jù)提取到平面文件,將字典中的數(shù)據(jù)提取到重做日志文件,或者使用聯(lián)機目錄(數(shù)據(jù)庫當(dāng)前使用的字典) 將字典提取到平面文件或重做日志文件LogMiner字典文件包含識別創(chuàng)建這個文件的數(shù)據(jù)庫以及該文件創(chuàng)
31、建時間的信息。DBMS_LOGMNR_D.BUILD過程允許將字典提取到平面文件或重做日志文件將字典提取到平面文件:當(dāng)數(shù)據(jù)字典提取到一個平面文件時,DDL語句可以由其他用戶發(fā)布。將字典提取到重做日志文件:當(dāng)正在將字典提取到重做日志流時,不能執(zhí)行任何DDL語句。 使用聯(lián)機目錄 3) DDL語句的跟蹤 DDL_DICT_TRACKING選項設(shè)置LogMiner跟蹤數(shù)據(jù)定義語言 4) 存儲管理 ALTER TABLESPACE ADD DETAFILE 5) 從重做日志文件中獲取數(shù)值:使用mine函數(shù)從重做日志文件中提取LogMiner所需的數(shù)據(jù),mine函 數(shù)有DNMS_LOGMNR.MINE_V
32、ALUE和COLUMN_PRESENT 6)LogMiner的局限 不支持以下內(nèi)容:數(shù)據(jù)類型LONG和LOB;簡單的和嵌套的數(shù)據(jù)提取類型(ADTs);集合(嵌套表和VARRAYs);對象Refs;索引結(jié)構(gòu)的表(IOTs) 7)LogMiner的視圖 V$LOGMNR_CONTENTS 顯示對用戶所做的修改以及表信息V$LOGMNR_DICTIONARY顯示有關(guān)LogMiner字典文件的信息,V$LOGMNR_LOGS顯示有關(guān)指定的日志文件信息V$LOGMNT_PARAMS顯示有關(guān)可選的logMiner參數(shù)的信息,包括啟動和結(jié)束系統(tǒng)更改號碼以及啟動和結(jié)束的時間9.3 使用LogMiner 要運行
33、LogMiner可以使用兩個PL/SQL包: DBMS_LOGMNR 包含初始化LogMiner和運行LogMiner必須的過程。這些過車包含指定日志文件名、帥選標(biāo)準(zhǔn)和LogMiner會話特性的接口 DBMS_LOGMNR_D 查詢當(dāng)前數(shù)據(jù)庫的字典表并創(chuàng)建LogMiner字典文件 典型LogMiner會話中的步驟1) 提取字典:要使用LogMiner,必須通過以下方法提供一個字典 將數(shù)據(jù)庫字典信息提取到平面文件,使用DBMS_LOGMNR_D.BUILD過程 創(chuàng)建Oracle9i數(shù)據(jù)庫的字典平面文件(1) 要為字典文件指定放置的位置,可以設(shè)置init.ora文件中的UTL_FILE_DIR參數(shù)
34、。(2) 如果數(shù)據(jù)庫處理關(guān)閉狀態(tài),可以使用SQL*Plus來裝載并打開數(shù)據(jù)庫,數(shù)據(jù)庫中有希望分析的重做日志文件(3) 執(zhí)行PL/SQL過程DBMS_LOGMNR_D.BUILD 將數(shù)據(jù)庫字典信息提取到重做日志文件 通過DICT_FROM_ONLINE_CATALOG選項來指定使用聯(lián)機目錄2) 指定要分析的重做日志文件:執(zhí)行DBMS_LOGMNR.ADD_LOGFILE過程即可 使用SQl*plus來啟動Oracle實例,數(shù)據(jù)庫可以裝載,也可以不裝載 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) 還可以設(shè)置startTime和endTime參數(shù)來根據(jù)時間刷選數(shù)據(jù) 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參數(shù)來刷選數(shù)據(jù) EXECUTE DBMS_LOGMNR.START_LOGMNR(DICTFILENAME=/oracle/database/dictionary.ora, STARTS
38、CN = 100,ENDSCN = 150); 如果需要,還可以使用OPTIONS參數(shù)來設(shè)置以下會話特性:(1) COMMITTED_DATA_ONLY:在V$LOGMNR_CONTENTS視圖中,只顯示已提交事務(wù)的行,這個特性能夠帥選出回滾事務(wù)以及進程中的事務(wù)(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í)行對象級的恢復(fù)操作:用SQL_UNDO語句來回滾原來對數(shù)據(jù)庫所做的修改6) 結(jié)束LogMiner會話:EXECUTE DBMS_LOGMNR.END_LOGMNR;9.4 使用LogMiner的例子 1)跟蹤某個特定用戶實施的更改 創(chuàng)建字典文件(1) 在init.ora文件中,將初始化參數(shù)UTL_FILE_DIR設(shè)置為/user/local/dbsUTL_FILE_DIR = /user/local/dbs(2
40、) 啟動SQL*plus,然后連接數(shù)據(jù)庫 CONNECT SYSTEM/PASSWORD(3) 打開數(shù)據(jù)庫以便創(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)建了字典,并且可以用于以后的操作中。可以關(guān)閉數(shù)據(jù)庫:shutdown 添加重做日志文件并確定搜索范圍(1) 啟動SQL*plus,按SYSTEM身份連
41、接,然后啟動實例:CONNECT SYSTEM/PASSWORDSTARTUP NOMOUNT(2) 提供要分析的日志文件的列表,設(shè)置標(biāo)記Options來表明這是一個新的列表EXECUTE DBMS-LOGMNR.ADD_LOGFILE( LOGFILENAME = loglorcl.ora, OPTIONS = DBSM_LOGMNR.NEW);(3) 往現(xiàn)有列表中添加文件。設(shè)置OPTIONS來表明正在往現(xiàn)有列表添加文件EXECUTE DBMS-LOGMNR.ADD_LOGFILE( LOGFILENAME = log2orcl.ora, OPTIONS = DBSM_LOGMNR.ADDF
42、IE); 啟動LogMiner并分析數(shù)據(jù)(1) 啟動LogMiner 并吸納之在制定時間范圍內(nèi)進行搜索 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視圖來查看搜索結(jié)果 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、制定時間范圍內(nèi)那些表進行修改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è)初始化參數(shù)JOB_QUEUE_PROCESSES控制實例能否啟動一個協(xié)調(diào)作業(yè)隊列程序進程。設(shè)置0-1000ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 20 10.2 管理作業(yè)隊列 1)DBMS_JOB包2
45、)將作業(yè)提交到作業(yè)隊列 作業(yè)環(huán)境:當(dāng)把作業(yè)提交到作業(yè)隊列或者更改作業(yè)的定義時,Oracle記錄了以下環(huán)境特征: 當(dāng)前用戶;提交或更改作業(yè)的用戶;當(dāng)前模式;MAC權(quán)限。 同時Oracle還記錄以下NLS參數(shù):NLS_LANGUAGE, NLS_TERRITORY; NLS_CURRENCY;NLS_ISO_CURRENCY;NLS_NUMERIC_CHACTERS; NLS_DATE_FORMAT; NLS_DATE_LANGUAGE; NLS_SORT 作業(yè)和導(dǎo)入/導(dǎo)出 作業(yè)所有者 作業(yè)號碼 作業(yè)定義 作業(yè)執(zhí)行間隔 數(shù)據(jù)庫鏈接和作業(yè)3)作業(yè)如何執(zhí)行 作業(yè)隊列鎖:V$LOCK 使用該隊列鎖來確保
46、每次作業(yè)只在一個會話中執(zhí)行 作業(yè)執(zhí)行錯誤:在網(wǎng)絡(luò)失敗或?qū)嵗∫约爱?dāng)執(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過程:通過調(diào)用FBMS_JOB.CHANGE過程可以改變?nèi)魏闻c作業(yè)相關(guān)聯(lián)的用戶可定義參數(shù) 如將標(biāo)識符12114的作業(yè)將變成每三天執(zhí)行一次:DBMS_JOB.CHANGE(12114,NULL,NULL,SYSDATE + 3 ); WHAT過程:改變作
47、業(yè)的定義。如改變標(biāo)識符為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è)標(biāo)記為損壞DB,S_JOB.BROKEN(12144,TRUE);只能將自己的作業(yè)標(biāo)記為損壞 運行已經(jīng)損壞的作業(yè):(1) 通過調(diào)用DBMS_JOB.RUN過程來強制運行該作業(yè)(2) 通過調(diào)用DBMS_
48、JOB.REOKEN過程將該作業(yè)標(biāo)識為沒有損壞,并且等待Oracle執(zhí)行7) 強制執(zhí)行作業(yè) DBMS_JOB.RUN(標(biāo)識符)8) 終止作業(yè):可以通過將作業(yè)標(biāo)記為損壞,識別正在運行作業(yè)的會話程序以及解除該會話連接的方法來終止正在運行的作業(yè)10.3 查看作業(yè)隊列信息1) 顯示有關(guān)作業(yè)的信息2) 顯示有關(guān)正在運行的作業(yè)信息第11章 管理表空間11.1 管理表空間的準(zhǔn)則 1)使用多個表空間:允許用戶在執(zhí)行數(shù)據(jù)庫操作有更大的靈活性 將用戶數(shù)據(jù)從數(shù)據(jù)字典數(shù)據(jù)中分離出來,以減少在同一個數(shù)據(jù)文件的字典對象和模式對象之間的競爭 將一個應(yīng)用程序的數(shù)據(jù)與另一個的分離,防止如果一個表空間必須被脫機,多個應(yīng)用程序都受
49、到影響 在不同的磁盤驅(qū)動器上存儲不同表空間的數(shù)據(jù)文件,以減少I/O競爭 將回滾段數(shù)據(jù)從用戶數(shù)據(jù)中分離出來,防止單個磁盤的故障造成數(shù)據(jù)的永久丟失 為其他表空間保持聯(lián)機時,使單個表空間脫機,提供更好的整體可用性 為一個特定類型的數(shù)據(jù)庫使用保留一個表空間 備份單獨的表空間2)指定表空間默認(rèn)的存儲參數(shù) 3)為用戶指定表空間限額11.2 創(chuàng)建表空間 1)本地管理的表空間 好處:提供空間操作的速度和并發(fā)性;提供性能;允許可讀的備用數(shù)據(jù)庫;簡化空間分配;減少用戶對數(shù)據(jù)字典的依賴 創(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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人工智能練習(xí)試題
- 《氣候》知識導(dǎo)學(xué)【一站式課堂】(第2課時)
- 傳統(tǒng)藝術(shù)比賽題目及答案
- 畜牧技能大賽題目及答案
- 初中重點題目及答案
- 初中物理射擊題目及答案
- 傳祺銷售考試試題及答案
- 畜牧業(yè)類面試題庫及答案
- 2025建筑項目合同管理招標(biāo)文件條件
- 廚師管理考試試題及答案
- 2025年組織行為學(xué)專業(yè)考試試題及答案
- 不寐的中醫(yī)護理常規(guī)
- 天津市兩學(xué)校2025屆生物七下期末達標(biāo)檢測試題含解析
- 創(chuàng)新設(shè)計思維
- 客訴處理培訓(xùn)課件
- 人工智能在數(shù)據(jù)治理中的應(yīng)用-洞察闡釋
- 《社會保險政策解讀》課件
- 兒童言語康復(fù)試題及答案
- 2025-2030中國藍莓市場銷售策略分析與發(fā)展前景研究研究報告
- 廣東省深圳市龍華區(qū)2024年中考道德與法治二模試卷(含答案)
- 人才梯隊建設(shè)的重要性計劃
評論
0/150
提交評論