可以使用oracle
公司主營(yíng)業(yè)務(wù):做網(wǎng)站、成都做網(wǎng)站、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)推出金鄉(xiāng)免費(fèi)做網(wǎng)站回饋大家。
sql
loader批量導(dǎo)入數(shù)據(jù):
生成測(cè)試數(shù)據(jù)的EXCEL文件,把EXCEL文件另存為CSV(逗號(hào)分隔)(*.csv),控制文件設(shè)置為用逗號(hào)分隔。
示例:
LOAD
DATA
INFILE
‘d:\car.csv’
APPEND
INTO
TABLE
t_car_temp
FIELDS
TERMINATED
BY
","
(phoneno,vip_car)
保存為input.ctl
最后在命令行下輸入:
C:\sqlldr
userid=system/manager
control=input.ctl(在unix環(huán)境下亦同)
默認(rèn)日志文件名為:input.log
默認(rèn)壞記錄文件為:input.bad
1、首先打開(kāi)oracle sql developer工具,沒(méi)有此工具的可以去百度瀏覽器下載安裝即可,鼠標(biāo)點(diǎn)擊查看菜單。
2、在二級(jí)菜單中,選擇SQL歷史記錄選項(xiàng),或者按快捷鍵F8打開(kāi)窗口。
3、默認(rèn)打開(kāi)是會(huì)顯示在最下方的小窗口,在標(biāo)題欄雙擊鼠標(biāo)左鍵,即可最大化窗口,再次雙擊左鍵還原窗口。
4、最大化窗口之后,便于更好的查詢記錄結(jié)果,可以看到,以往執(zhí)行的sql記錄都顯示出來(lái)了可以往下翻動(dòng),查詢自己需要的日志。
顯示歸檔日志信息
1,使用ARCHIVE LOG LIST命令可以顯示日志操作模式,歸檔位置,自動(dòng)歸檔機(jī)器要?dú)w檔的日志序列號(hào)等信息.
2顯示日志操作模式
SELECT name,log_mode FROM v$database;
3,顯示Oracle歸歸檔日志信息.
Col name format a46
Select name, swquence#, first_change# FROM v$archived_log;
Name用于表示Oracle歸歸檔日志文件名,sequence#用于表示歸檔日志對(duì)應(yīng)的日志序列號(hào),firs_change#用于標(biāo)識(shí)歸檔日志的起始SCN值.
4、執(zhí)行介質(zhì) 恢復(fù) 時(shí),需要使用歸檔日志文件,此四必須準(zhǔn)確定位歸檔日志的存放位置.通過(guò)查詢動(dòng)態(tài)性能視圖v$archive_dest可以取得歸檔日志所在目錄.
SELECT destination FROM v$archive dest;
5,顯示日志歷史信息
SELECT * FROM v$loghist;
THREAD#用于標(biāo)識(shí)重做線程號(hào),SEQUNCE#用于標(biāo)識(shí)日志序列號(hào),FIRST_CHANGE#用于標(biāo)識(shí)日志序列號(hào)對(duì)應(yīng)的起始SCN值,FIRST_TIME用于標(biāo)識(shí)起始SCN的發(fā)生時(shí)間.SWICTH_CHANGE#用于標(biāo)識(shí)日志切換的SCN值.
6.顯示歸檔進(jìn)程信息.
進(jìn)行日志切換時(shí),ARCH進(jìn)程會(huì)自動(dòng)將重做日志內(nèi)容復(fù)制到Oracle歸歸檔日志中,為了加快歸檔速度,應(yīng)該啟用多個(gè)ARCH進(jìn)程.通過(guò)查詢動(dòng)態(tài)性能視圖V$ARCHIVE_PROCESSES可以顯示所有歸檔進(jìn)程的信息!
SELECT * FROM v$archive_processes;
Porcess用于標(biāo)識(shí)ARCH進(jìn)程的編號(hào),status用于標(biāo)識(shí)ARCH進(jìn)程的狀態(tài)(ACTIVE:活動(dòng),STOPPED:未啟動(dòng)),log_sequence用于標(biāo)識(shí)正在進(jìn)行歸檔的日志序列號(hào),state用于標(biāo)識(shí)ARCH進(jìn)程的工作狀態(tài)
冗余容錯(cuò)的
規(guī)劃時(shí)將兩個(gè)文件規(guī)劃在不同的磁盤(pán)上
即使一個(gè)磁盤(pán)壞了,另外一個(gè)還可以用,數(shù)據(jù)庫(kù)不至于宕機(jī)
如果這兩個(gè)文件在一塊磁盤(pán)上就沒(méi)有意義了
深入分析Oracle數(shù)據(jù)庫(kù)日志文件
作為Oracle DBA,我們有時(shí)候需要追蹤數(shù)據(jù)誤刪除或用戶的惡意操作情況,此時(shí)我們不僅需要查出執(zhí)行這些操作的數(shù)據(jù)庫(kù)賬號(hào),還需要知道操作是由哪臺(tái)客戶端(IP地址等)發(fā)出的。針對(duì)這些問(wèn)題,一個(gè)最有效實(shí)用而又低成本的方法就是分析Oracle數(shù)據(jù)庫(kù)的日志文件。本文將就Oracle日志分析技術(shù)做深入探討。
一、如何分析即LogMiner解釋
從目前來(lái)看,分析Oracle日志的唯一方法就是使用Oracle公司提供的LogMiner來(lái)進(jìn)行, Oracle數(shù)據(jù)庫(kù)的所有更改都記錄在日志中,但是原始的日志信息我們根本無(wú)法看懂,而LogMiner就是讓我們看懂日志信息的工具。從這一點(diǎn)上看,它和tkprof差不多,一個(gè)是用來(lái)分析日志信息,一個(gè)則是格式化跟蹤文件。通過(guò)對(duì)日志的分析我們可以實(shí)現(xiàn)下面的目的:
1、查明數(shù)據(jù)庫(kù)的邏輯更改;
2、偵察并更正用戶的誤操作;
3、執(zhí)行事后審計(jì);
4、執(zhí)行變化分析。
不僅如此,日志中記錄的信息還包括:數(shù)據(jù)庫(kù)的更改歷史、更改類(lèi)型(INSERT、UPDATE、DELETE、DDL等)、更改對(duì)應(yīng)的SCN號(hào)、以及執(zhí)行這些操作的用戶信息等,LogMiner在分析日志時(shí),將重構(gòu)等價(jià)的SQL語(yǔ)句和UNDO語(yǔ)句(分別記錄在V$LOGMNR_CONTENTS視圖的SQL_REDO和SQL_UNDO中)。這里需要注意的是等價(jià)語(yǔ)句,而并非原始SQL語(yǔ)句,例如:我們最初執(zhí)行的是delete a where c1 cyx;,而LogMiner重構(gòu)的是等價(jià)的6條DELETE語(yǔ)句。所以我們應(yīng)該意識(shí)到V$LOGMNR_CONTENTS視圖中顯示的并非是原版的現(xiàn)實(shí),從數(shù)據(jù)庫(kù)角度來(lái)講這是很容易理解的,它記錄的是元操作,因?yàn)橥瑯邮莇elete a where c1 cyx;語(yǔ)句,在不同的環(huán)境中,實(shí)際刪除的記錄數(shù)可能各不相同,因此記錄這樣的語(yǔ)句實(shí)際上并沒(méi)有什么實(shí)際意義,LogMiner重構(gòu)的是在實(shí)際情況下轉(zhuǎn)化成元操作的多個(gè)單條語(yǔ)句。
另外由于Oracle重做日志中記錄的并非原始的對(duì)象(如表以及其中的列)名稱,而只是它們?cè)贠racle數(shù)據(jù)庫(kù)中的內(nèi)部編號(hào)(對(duì)于表來(lái)說(shuō)是它們?cè)跀?shù)據(jù)庫(kù)中的對(duì)象ID,而對(duì)于表中的列來(lái)說(shuō),對(duì)應(yīng)的則是該列在表中的排列序號(hào):COL 1, COL 2 等),因此為了使LogMiner重構(gòu)出的SQL語(yǔ)句易于識(shí)別,我們需要將這些編號(hào)轉(zhuǎn)化成相應(yīng)的名稱,這就需要用到數(shù)據(jù)字典(也就說(shuō)LogMiner本身是可以不用數(shù)據(jù)字典的,詳見(jiàn)下面的分析過(guò)程),LogMiner利用DBMS_LOGMNR_D.BUILD()過(guò)程來(lái)提取數(shù)據(jù)字典信息。
LogMiner包含兩個(gè)PL/SQL包和幾個(gè)視圖:
1、dbms_logmnr_d包,這個(gè)包只包括一個(gè)用于提取數(shù)據(jù)字典信息的過(guò)程,即dbms_logmnr_d.build()過(guò)程。
2、dbms_logmnr包,它有三個(gè)過(guò)程:
add_logfile(name varchar2, options number) - 用來(lái)添加/刪除用于分析的日志文件;
start_logmnr(start_scn number, end_scn number, start_time number,end_time number, dictfilename varchar2, options number) - 用來(lái)開(kāi)啟日志分析,同時(shí)確定分析的時(shí)間/SCN窗口以及確認(rèn)是否使用提取出來(lái)的數(shù)據(jù)字典信息。
end_logmnr() - 用來(lái)終止分析會(huì)話,它將回收LogMiner所占用的內(nèi)存。
與LogMiner相關(guān)的數(shù)據(jù)字典。
1、v$logmnr_dictionary,LogMiner可能使用的數(shù)據(jù)字典信息,因logmnr可以有多個(gè)字典文件,該視圖用于顯示這方面信息。
2、v$logmnr_parameters,當(dāng)前LogMiner所設(shè)定的參數(shù)信息。
3、v$logmnr_logs,當(dāng)前用于分析的日志列表。
4、v$logmnr_contents,日志分析結(jié)果。
二、Oracle9i LogMiner的增強(qiáng):
1、支持更多數(shù)據(jù)/存儲(chǔ)類(lèi)型:鏈接/遷移行、CLUSTER表操作、DIRECT PATH插入以及DDL操作。在V$LOGMNR_CONTENTS的SQL_REDO中可以看到DDL操作的原句(CREATE USER除外,其中的密碼將以加密的形式出現(xiàn),而不是原始密碼)。如果TX_AUDITING初始化參數(shù)設(shè)為T(mén)RUE,則所有操作的數(shù)據(jù)庫(kù)賬號(hào)將被記錄。
2、提取和使用數(shù)據(jù)字典的選項(xiàng):現(xiàn)在數(shù)據(jù)字典不僅可以提取到一個(gè)外部文件中,還可以直接提取到重做日志流中,它在日志流中提供了操作當(dāng)時(shí)的數(shù)據(jù)字典快照,這樣就可以實(shí)現(xiàn)離線分析。
3、允許對(duì)DML操作按事務(wù)進(jìn)行分組:可以在START_LOGMNR()中設(shè)置COMMITTED_DATA_ONLY選項(xiàng),實(shí)現(xiàn)對(duì)DML操作的分組,這樣將按SCN的順序返回已經(jīng)提交的事務(wù)。
4、支持SCHEMA的變化:在數(shù)據(jù)庫(kù)打開(kāi)的狀態(tài)下,如果使用了LogMiner的DDL_DICT_TRACKING選項(xiàng),Oracle9i的LogMiner將自動(dòng)對(duì)比最初的日志流和當(dāng)前系統(tǒng)的數(shù)據(jù)字典,并返回正確的DDL語(yǔ)句,并且會(huì)自動(dòng)偵察并標(biāo)記當(dāng)前數(shù)據(jù)字典和最初日志流之間的差別,這樣即使最初日志流中所涉及的表已經(jīng)被更改或者根本已經(jīng)不存在,LogMiner同樣會(huì)返回正確的DDL語(yǔ)句。
5、在日志中記錄更多列信息的能力:例如對(duì)于UPDATE操作不僅會(huì)記錄被更新行的情況,還可以捕捉更多前影信息。
6、支持基于數(shù)值的查詢:Oracle9i LogMiner在支持原有基于元數(shù)據(jù)(操作、對(duì)象等)查詢的基礎(chǔ)上,開(kāi)始支持基于實(shí)際涉及到的數(shù)據(jù)的查詢。例如涉及一個(gè)工資表,現(xiàn)在我們可以很容易地查出員工工資由1000變成2000的原始更新語(yǔ)句,而在之前我們只能選出所有的更新語(yǔ)句。
三、Oracle8i/9i的日志分析過(guò)程
LogMiner只要在實(shí)例起來(lái)的情況下都可以運(yùn)行,LogMiner使用一個(gè)字典文件來(lái)實(shí)現(xiàn)Oracle內(nèi)部對(duì)象名稱的轉(zhuǎn)換,如果沒(méi)有這個(gè)字典文件,則直接顯示內(nèi)部對(duì)象編號(hào),例如我們執(zhí)行下面的語(yǔ)句:
delete from "C"."A" where "C1" = ‘gototop’ and ROWID = AAABg1AAFAAABQaAAH;
如果沒(méi)有字典文件,LogMiner分析出來(lái)的結(jié)果將是:
delete from "UNKNOWN"."OBJ# 6197" where "COL 1" = HEXTORAW(d6a7d4ae) and ROWID
= AAABg1AAFAAABQaAAH;
1:在程序中把操作用SQL記錄到日志表中
2:在被操作的數(shù)據(jù)表建觸發(fā)器,在觸發(fā)器中記錄用戶操作情況
標(biāo)題名稱:oracle怎么添加日志,oracle添加日志文件
文章源于:http://jinyejixie.com/article22/hojjcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、外貿(mào)建站、網(wǎng)站內(nèi)鏈、企業(yè)建站、App設(shè)計(jì)、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)