afterconnect.sql
是plsql dev登入後自動執行腳本,非Oralce官方腳本
資料庫啟動後執行觸發器DBMS_SUPPORT_INTERNAL
DBMS_SUPPORT_INTERNAL主要的意義是:
1. 當資料庫建立時間大于1200天之後,開始備份tab$表
2. 删除tab$中除掉owner#為0和38的記錄(sys,xdb)
3. 通過SYS.DBMS_BACKUP_RESTORE.RESETCFILESECTION清理掉備份資訊(v$controlfile_record_section)
4. 然後通過DBMS_SYSTEM.KSDWRT在你的alert日志中寫上2046次的提示資訊
Hi buddy, your database was hacked by SQL RUSH Team, send 5 bitcoin to address 166xk1FXMB2g8JxBVF5T4Aw1Z5JaZ6vrSE (case sensitive), after that send your Oracle SID to mail address [email protected], we will let you know how to unlock your database.
你的資料庫已被SQL RUSH Team鎖死 發送5個比特币到這個位址 166xk1FXMB2g8JxBVF5T4Aw1Z5JaZ6vrSE (大小寫一緻) 之後把你的Oracle SID郵寄位址 [email protected] 我們将讓你知道如何解鎖你的資料庫
5. 再抛出一個前台的和4類似的警告資訊
資料庫登入觸發器DBMS_SYSTEM_INTERNAL
當你的非SYSTEM,SYSAUX,EXAMPLE之外的所有表的最小統計資訊時間大于1200天,而且非C89239.EXE程式,就會報出來” 你的資料庫已被SQL RUSH Team鎖死 發送5個比特币到這個位址 166xk1FXMB2g8JxBVF5T4Aw1Z5JaZ6vrSE (大小寫一緻) 之後把你的Oracle SID郵寄位址 [email protected] 我們将讓你知道如何解鎖你的資料庫 Hi buddy, your database was hacked by SQL RUSH Team, send 5 bitcoin to address 166xk1FXMB2g8JxBVF5T4Aw1Z5JaZ6vrSE
(case sensitive), after that send your Oracle SID to mail address [email protected], we will let you know how to unlock your database.”的資訊
資料庫登入觸發器DBMS_CORE_INTERNAL
這裡比較明顯,把表名不含$,不含ORACHK,不是cluster的表放到一個遊标裡面,然後取非SYSTEM,SYSAUX,EXAMPLE之外的表空間的表的最小統計資訊收集時間和目前時間比較如果大于1200天就執行truncate table操作,操作完成之後判斷如果登入程式不為C89239.EXE,則報出來異常,” 你的資料庫已被SQL RUSH Team鎖死 發送5個比特币到這個位址 166xk1FXMB2g8JxBVF5T4Aw1Z5JaZ6vrSE (大小寫一緻) 之後把你的Oracle SID郵寄位址 [email protected] 我們将讓你知道如何解鎖你的資料庫 Hi buddy, your database was hacked by SQL RUSH Team, send 5 bitcoin to address 166xk1FXMB2g8JxBVF5T4Aw1Z5JaZ6vrSE
(case sensitive), after that send your Oracle SID to mail address [email protected], we will let you know how to unlock your database.”。
對于這次故障處理方法
1. 如果SELECT NVL(TO_CHAR(SYSDATE-MIN(LAST_ANALYZED)),0) FROM ALL_TABLES WHERE TABLESPACE_NAME NOT IN (‘SYSTEM’,'SYSAUX’,'EXAMPLE’); 小于1200,查詢下列語句,然後删除掉(正常庫查詢為空)
<code>select</code> <code>'DROP TRIGGER '</code><code>||owner||</code><code>'."'</code><code>||TRIGGER_NAME||</code><code>'";'</code> <code>from</code> <code>dba_triggers</code><code>where</code>
<code>TRIGGER_NAME</code><code>like</code> <code>'DBMS_%_INTERNAL% '</code>
<code>union</code> <code>all</code>
<code>select</code> <code>'DROP PROCEDURE '</code><code>||owner||</code><code>'."'</code><code>||a.object_name||</code><code>'";'</code> <code>from</code> <code>dba_procedures a</code>
<code>where</code> <code>a.object_name</code><code>like</code> <code>'DBMS_%_INTERNAL% '</code><code>;</code>
<code>--注意% '之間的空格</code>
2. 如果SYSDATE-MIN(LAST_ANALYZED)大于1200, SYSDATE-CREATED大于1200天未重新開機,或者SYSDATE-CREATED小于1200;就是tab$還未被清理,但是表被truncate,這樣情況可以通過oracle原廠dul工具恢複
3. 如果SYSDATE-CREATED大于1200天,而且資料庫重新開機過,但是SYSDATE-MIN(LAST_ANALYZED)小于1200天,那可以直接通過把ORACHK’||SUBSTR(SYS_GUID,10)中備份資訊插入到$tab中
4. SYSDATE-CREATED大于1200天,而且資料庫重新開機過,但是SYSDATE-MIN(LAST_ANALYZED)大于1200天,Oracle 原廠dul之類工具結合ORACHK’||SUBSTR(SYS_GUID,10)備份表中資料進行恢複
預防政策
1)資料庫裡面查詢下,如果有這些對象,及時給與清理(注意% ‘中間有空格)
<code>select</code> <code>'DROP TRIGGER '</code><code>||owner||</code><code>'."'</code><code>||TRIGGER_NAME||</code><code>'";'</code> <code>from</code> <code>dba_triggers</code>
<code>where</code> <code>TRIGGER_NAME</code><code>like</code> <code>'DBMS_%_INTERNAL% '</code>
2)建議業務使用者盡量限制dba 權限
3)檢查相關登陸工具的自動運作腳本 清理掉有風險腳本
sqlplus中的glogin.sql/login.sql
toad中的toad.ini
plsql dev中的login.sql/afterconnect.sql
4)建議從官方下載下傳工具,不要使用綠色版/破解版等
VMware vSphere6.0 初試
ORACLE 7.3.4 截圖欣賞
Oracle 8i安裝過程截圖
vSphere ssh登陸配置
_OFFLINE_ROLLBACK_SEGMENTS/_CORRUPTED_ROLLBACK_SEGMENTS
Oracle 8.0.5 安裝過程截圖
12.1中出現大量Result Cache: RC Latch處理
Linux中安裝DB2截圖欣賞
windows平台listener.log超過4G導緻監聽異常
通過Administration Assistant for Windows配置win服務和執行個體關聯性
在win 64位平台上運作bbed(支援ORACLE 10g 11g 12c)
達夢資料庫指令行工具