您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Oracle數(shù)據(jù)庫中怎么捕獲表上的DML語句”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“Oracle數(shù)據(jù)庫中怎么捕獲表上的DML語句”吧!
[A]可以采用dml觸發(fā)器,如
CREATE OR REPLACE TRIGGER tr_capt_sql
BEFORE DELETE OR INSERT OR UPDATE
ON manager.test
DECLARE
sql_text ora_name_list_t;
state_sql capt$sql.sql_text%TYPE;
BEGIN
FOR i IN 1..ora_sql_txt(sql_text) LOOP
state_sql := state_sql sql_text(i);
END LOOP;
INSERT INTO capt$sql(login_user,capt_time,ip_address,audsid,owner,table_name,sql_text)
VALUES(ora_login_user,sysdate,sys_context('USERENV','IP_ADDRESS'),
userenv('SESSIONID'),'MANAGER','TEST',state_sql);
EXCEPTION
WHEN OTHERS THEN
sp_write_log('Capture DML Exception:'SQLERRM);
END tr_capt_sql;
在創(chuàng)建以上觸發(fā)器時要注意幾點
1、必須創(chuàng)建一個capt$sql的表,用來記錄ddl的記錄
2、sp_write_log原本是一個寫日志的過程,可以置換為自己的需要,如null跳過。
[Q]怎么樣生成日期格式的文件
[A]在LINUX/UNIX上,使用`date +%y%m%d` (`這個是鍵盤上~所在的那個鍵) 或$(date +%y%m%d),如:
touch exp_table_name_`date +%y%m%d`.dm
DATE=$(date +%y%m%d)
或者
DATE=$(date +%Y%m%d --date '1 days ago') #獲取昨天或多天前的日期
Windows上,使用%date:~4,10%,其中4是開始字符,10是提取長度,表示從date生成的日期中,提取從4開始長度是10的串。你可以改成其它你需要的數(shù)字,如:
Echo %date:~4,10%
如果想得到更精確的時間,win上面還可以使用time
[Q]測試磁盤與陣列性能
[A]用類似如下的方法測試寫能力
time dd if=/dev/zero of=/oradata/biddb/testind/testfile.dbf bs=1024000 count=1000
期間系統(tǒng)IO 使用可以用(unix):
iostat -xnp 2 顯示Busy程度
[Q]怎么配置SSH密匙
[A]可以防止"中間人"的進(jìn)攻方式
1、ssh-keygen 或ssh-keygen -d(ssh 2.x)生成鑰匙
2、然后拷貝公匙到你想登錄的服務(wù)器,改名為authorized_keys,如果是3.0以下版本,需要改為authorized_keys2
3、還可以利用config文件進(jìn)一步簡化操作
如
Host *bj
HostName 機器名或IP
User 用戶名
有了這個配置文件,你就可以利用ssh bj來訪問指定的機器了,也就可以利用scp與sftp來傳送文件了。
[Q]FTP怎么在腳本中自動上傳/下載
[A]可以把FTP寫到shell腳本中,如
ftp -n -i 主機IP
cd 目標(biāo)目錄
put file
get file
#查詢文件
ls
#退出
到此,相信大家對“Oracle數(shù)據(jù)庫中怎么捕獲表上的DML語句”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。