1、打開PL/SQL Developer,輸入正常的用戶名密碼后,選擇數(shù)據(jù)庫,然后正常連接。如下圖。
為濉溪等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及濉溪網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都網(wǎng)站設計、網(wǎng)站建設、濉溪網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
2、正常登錄后,在PL/SQL Developer中打開一個sql執(zhí)行窗口,操作如下圖1中標紅的位置,選擇"SQL Window"。
3、在新出現(xiàn)的空白窗口中輸入正確的sql語句,如下圖。
2、在出現(xiàn)數(shù)據(jù)結(jié)果集后,點擊上圖2中標紅的按鈕,出現(xiàn)新的對話框。這是要將數(shù)據(jù)結(jié)果集導出成各個不同的格式。
3、選擇第一個"CSV file",這樣導出的就是excel格式的數(shù)據(jù)集。
4、打開指定的文件夾,就可以看到剛剛導出的文件,雙擊該文件就可以正常打開,結(jié)果和數(shù)據(jù)庫中查詢完出來的結(jié)果是一致的。
Events事件是Oracle的重要診斷工具及問題解決辦法,很多時候需要通過Events設置來屏蔽或者更改Oracle的行為;
有四種類型的Events:
Immediate dumps
Conditional dumps
Trace dumps
Events that change database behaviour
每一個事件都有一個號跟Oracle的錯誤信息是一樣的.如10046和ORA-10046
1. 啟用 sql_trace 跟蹤當前 session 開啟會話跟蹤:alter session set sql_trace=true; 關閉會話跟蹤:alter session set sql_trace=false; 2. 啟用 10046 事件跟蹤全局 session 這將會對整個系統(tǒng)的性能產(chǎn)生嚴重的影響,所以一般不建議開啟。 ...
沒用,只想從后臺數(shù)據(jù)庫看對這個數(shù)據(jù)庫執(zhí)行的sql問題補充:unika_ly12 寫道 那你直接查詢 v$sqltext 和 v$session 好了 首先,你要以dba身份登陸數(shù)據(jù)庫。 第二,為某個用戶開啟sql跟蹤。那個用戶就是你要跟蹤的、正在執(zhí)行sql語句的那個用戶。命令如下: execute dbms_system.set_sql_trace_in_session(sid,serial#,true) 其中參數(shù)的意義是,sid-會話id,serial#-序列號,這兩個參數(shù)可以從v$session中得到。 第三,上面的命令執(zhí)行成功之后數(shù)據(jù)庫就自動對該用戶所發(fā)出的所有sql語句進行跟蹤,并把結(jié)果寫在用戶跟蹤文件里。用戶跟蹤文件存放在數(shù)據(jù)庫服務器上,路徑請參考init.ora文件中的udump參數(shù)值。文件名為ora_sid_xxxx.trc(for unix)或者oraxxxxx.trc(for NT),其中xxxx文件系統(tǒng)進程編號,這個編號可以從v$process和v$session兩個表通過關聯(lián)的方式查詢得到。當然你也可以簡單的查看一下哪個trc文件的日期最新,哪個文件就是你要的結(jié)果了。 首先,你要以dba身份登陸數(shù)據(jù)庫。 第二,為某個用戶開啟sql跟蹤。那個用戶就是你要跟蹤的、正在執(zhí)行sql語句的那個用戶。命令如下: execute dbms_system.set_sql_trace_in_session(sid,serial#,true) 其中參數(shù)的意義是,sid-會話id,serial#-序列號,這兩個參數(shù)可以從v$session中得到。 第三,上面的命令執(zhí)行成功之后數(shù)據(jù)庫就自動對該用戶所發(fā)出的所有sql語句進行跟蹤,并把結(jié)果寫在用戶跟蹤文件里。用戶跟蹤文件存放在數(shù)據(jù)庫服務器上,路徑請參考init.ora文件中的udump參數(shù)值。文件名為ora_sid_xxxx.trc(for unix)或者oraxxxxx.trc(for NT),其中xxxx文件系統(tǒng)進程編號,這個編號可以從v$process和v$session兩個表通過關聯(lián)的方式查詢得到。當然你也可以簡單的查看一下哪個trc文件的日期最新,哪個文件就是你要的結(jié)果了。
1 audit
用審記來記錄用戶的操作信息
2 trigger
用系統(tǒng)觸發(fā)器來記錄用戶登錄
3 logmnr
從log文件中挖出用戶登錄信息
推薦使用第3種,不占用系統(tǒng)資源,而且很方便。
===============================
Oracle 中記錄用戶登錄信息
我們可以使用 Oracle Audit 函數(shù)來記錄用戶登錄信息,但是如果開放了 Audit 函數(shù)將會使Oracle 性能下降,甚至導致 Oracle 崩潰。那我們?nèi)绾尾拍苡涗浻脩舻卿浶畔⒛??其實我們可以通過建立觸發(fā)器的方式來實現(xiàn)。方法如下:
1. 用 sys 用戶登錄 Oracle
2. 創(chuàng)建記錄用戶登錄信息的表
CREATE TABLE LOG$INFORMATION
(
ID NUMBER(10),
USERNAME VARCHAR2(30),
LOGINTIME DATE,
TERMINAL VARCHAR2(50),
IPADRESS VARCHAR2(20),
OSUSER VARCHAR2(30),
MACHINE VARCHAR2(64),
PROGRAM VARCHAR2(64),
SID NUMBER,
SERIAL# NUMBER,
AUSID NUMBER
)
/
3. 創(chuàng)建一個 Sequence,作為登錄信息的主鍵
CREATE SEQUENCE LOGIN_SEQ
minvalue 1
maxvalue 9999999999
start with 1
increment by 1
cache 20
/
4. 創(chuàng)建觸發(fā)器,記錄用戶登錄信息
CREATE OR REPLACE TRIGGER LOGIN_RECORD_TR
AFTER logon ON DATABASE
DECLARE
mtSession v$session%ROWTYPE;
CURSOR cSession(iiQuerySid IN NUMBER) IS
SELECT * FROM v$session
WHERE audsid = iiQuerySid;
BEGIN
OPEN cSession(userenv('SESSIONID'));
FETCH cSession INTO mtSession;
IF cSession%FOUND AND SYS_CONTEXT ('USERENV','IP_ADDRESS') IS NOT NULL THEN
INSERT INTO log$information(
id,
username,
logintime,
terminal,
ipadress,
osuser,
machine,
program,
sid,
serial#,
ausid
) VALUES(
login_seq.nextval,
USER,
SYSDATE,
mtSession.Terminal,
SYS_CONTEXT ('USERENV','IP_ADDRESS'),
mtSession.Osuser,
mtSession.Machine,
mtSession.Program,
mtSession.Sid,
mtSession.Serial#,
userenv('SESSIONID')
);
END IF;
CLOSE cSession;
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;
/
5. 將 SYS.LOG$INFORMATION 授權(quán)給需要查看登錄記錄的用戶
Grant select on SYS.LOG$INFORMATION to XXX
/
=======================================
審計用戶登錄和登出
記錄每個用戶每次登錄數(shù)據(jù)庫和退出數(shù)據(jù)庫的日期和事件。設置步驟如下:
1. 設置系統(tǒng)審計相關的參數(shù)
2. 重新啟動數(shù)據(jù)庫
3.以SYSTEM帳號登錄數(shù)據(jù)庫執(zhí)行下列語句,設置CONNECT審計并檢查是否設置成功:
SQL connect system/password
SQL audit connect
SQL col user_name format a11
SQL col audit_option format a14
SQL select user_name, audit_option, success, failure
from sys.dba_stmt_audit_opts;
USER_NAME AUDIT_OPTION SUCCESS FAILURE
----------- -------------- ---------- ----------
CREATE SESSION BY ACCESS BY ACCESS
4.查詢 AUD$表就可以查看到審計結(jié)果了
SQL col userid format a8
SQL select sessionid, to_char(timestamp#,'DD-MON-YY:HH24:MI:SS') login,
userid, to_char(logoff$time,'DD-MON-YY:HH24:MI:SS') logoff
from sys.aud$ where userid='SCOTT';
SESSIONID LOGIN USERID LOGOFF
---------- ------------------ -------- ------------------
132 22-FEB-00:13:55:06 SCOTT 22-FEB-00:14:04:05
注意:不同的版本的ORACLE數(shù)據(jù)庫AUD$字典會有所不同,實際情況請參照你當前版本的數(shù)據(jù)庫的AUD$表。
1.4.11 審計SYS用戶的操作(ORACLE 9i Release 2)
在ORACLE 9.2之前,SYS帳戶是系統(tǒng)中的一個唯一不受審計的帳戶。在ORACLE 9I Release 2和以后的版本中,通過一些設置就可以對SYS帳號進行審計。
在ORACLE 9.2以后的版本中,可以通過設置AUDIT_SYS_OPERATIONS可以實現(xiàn)對具有SYS/SYSDBA/SYSOPER權(quán)限的用戶的審計。
1.4.12 使用WINDOWS 事件管理器來記錄審計信息
和UNIX系統(tǒng)不同,WINDOWS的審計結(jié)果不是存儲在操作系統(tǒng)文件中,而是直接存儲在WINDOWS 事件日志中。本節(jié)介紹如何配置數(shù)據(jù)庫審計,并用事件管理器來查看審計記錄。
在WINDOWS下設置數(shù)據(jù)庫審計,需要按照如下的步驟:
1、配置審計
首先要確認WINDOWS的事件日志(EVENTLOG)服務是否啟動。可以通過“控制面板/管理工具/服務”工具來查看。
然后通過修改ORACLE的參數(shù)(參數(shù)修改方法參見前面的關于ORACLE參數(shù)文件的描述)AUDIT_TRAIL:
AUDIT_TRAIL=0S
在WINDFOWS平臺下要注意的是:
不管AUDIT_TRAIL設置為什么值,有部分ORACLE的操作會記錄在事件日志中
在WINDOWS下不支持AUDIT_FILE_DEST參數(shù),如果設置了該參數(shù),數(shù)據(jù)庫會報錯
LRM-00101: UNKNOWN PARAMETER NAME 'AUDIT_FILE_DEST'
ORA-01078: FAILURE IN PROCESSING SYSTEM PARAMETERS
在使用審計前,要確保事件日志有足夠大的空間來存儲審計信息
2、檢查是否安裝好AUDIT相關的對象
最簡單的檢查方法是看看AUD$是否存在。如果AUDIT相關對象安裝不正確,可以通過%ORACLE_HOME%\rdbms\admin\cataudit.sql腳本來安裝AUDIT相關對象。如果要刪除審計,可以執(zhí)行%ORACLE_HOME%\rdbms\admin\catnoaud.sql。
3、配置審計
在配置審計之前,首先要說明的是,審計是一種會帶來額外開銷的操作。因此在可能的情況下,盡量減少審計操作。另外,如果打開審計操作,那么對一些數(shù)據(jù)庫事件的審計是缺省的,這些審計事件包括:
實例關閉
通過SYSOPER和SYSDBA連接數(shù)據(jù)庫
在WINDOWS下配置審計的步驟和在UNIX下配置審計類似,這里就不再描述了。審計信息會自動寫入WINDOWS的事件日志種,通過事件管理器可以查看日志。
新聞標題:關于嗎切換windows系統(tǒng)的信息
當前URL:http://chinadenli.net/article0/hdocoo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供關鍵詞優(yōu)化、App設計、移動網(wǎng)站建設、品牌網(wǎng)站建設、營銷型網(wǎng)站建設、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)