[20231025]跟蹤rename操作2.txt
[20231025]跟蹤rename操作2.txt
--//做一個rename 操作,看看主要修改那些資料字典。
1.環境:
SCOTT@book> @ ver1
PORT_STRING VERSION BANNER
------------------- ---------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
2.測試:
SCOTT@book> create table deptx as select * from dept;
Table created.
--//分析略.
SCOTT@book> rename deptx to depty;
Table renamed.
SCOTT@book> @ 10046on 12
Session altered.
SCOTT@book> rename depty to deptz;
Table renamed.
SCOTT@book> @ 10046off
Session altered.
SCOTT@book> @ t
TRACEFILE
----------------------------------------------------------------------------
/u01/app/oracle/diag/rdbms/book/book/trace/book_ora_61833.trc
--//做兩次rename,主要是避免跟蹤到一些不必要的遞規語句。
3.檢視跟蹤檔案內容:
$ extractsql.sh /u01/app/oracle/diag/rdbms/book/book/trace/book_ora_61833.trc | egrep -i "^delete|^update|^insert"
update ind$ set flags = flags + 8 where obj# = :1
delete from idl_ub1$ where obj#=:1
delete from idl_char$ where obj#=:1
delete from idl_ub2$ where obj#=:1
delete from idl_sb4$ where obj#=:1
delete from error$ where obj#=:1
delete from obj$ where obj# = :1
~~~~~~~~~~~~~~~~~~
insert into obj$(owner#,name,namespace,obj#,type#,ctime,mtime,stime,status,remoteowner,linkname,subname,dataobj#,flags,oid$,spare1,spare2,spare3) values(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,:14,:15,:16,:17,:18)
~~~~~~~~~~~~~~~~~~
update sdo_geor_sysdata_table set GEORASTER_TABLE_NAME=:1 where GEORASTER_TABLE_NAME=:2
update mdsys.sdo_tin_pc_sysdata_table set TABLE_NAME=:1 where TABLE_NAME=:2 and sdo_owner=:3
update mdsys.sdo_tin_pc_seq set TABLE_NAME=:1 where TABLE_NAME=:2 and sdo_owner=:3
--//主要看下劃線的2條DML語句,可以判斷rename是先刪除再插入obj$,而不是採用update完成的.
--//這也驗證了我測試rename IDL_UB1$操作的恢復時出現的情況。
--//附上extractsql.sh指令碼:
$cat extractsql.sh
#! /bin/bash
awk '/PARSING IN CURSOR/,/END OF STMT/' $1 | egrep -v '^PARSING|^END OF STMT'
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2991954/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20210220]gdb跟蹤邏輯讀2.txt
- [20200818]12c 10046跟蹤時間戳2.txt時間戳
- [20200417]跟蹤特定sql語句以及v$open_cursor檢視2.txtSQL
- [20241105]跟蹤library cache lock library cache pin使用gdb(11g)2.txt
- sp_trace_setfilter sqlserver篩選跟蹤或跟蹤過濾FilterSQLServer
- 主力跟蹤戰法
- 反跟蹤技術
- git的跟蹤分支和遠端跟蹤分支學習筆記Git筆記
- 填報表怎麼跟蹤使用者操作,記錄日誌?
- [20190402]跟蹤vmstat.txt
- Linux 跟蹤器之選Linux
- SQLServer進行SQL跟蹤SQLServer
- 會話跟蹤技術會話
- 跟蹤執行命令T
- 除錯跟蹤利器---strace除錯
- 像跟蹤分散式服務呼叫那樣跟蹤 Go 函式呼叫鏈分散式Go函式
- Git跟蹤與提交檔案Git
- ATC系統跟蹤事項
- .gitignore忽略跟蹤指定檔案Git
- Oracle資料庫跟蹤SQLOracle資料庫SQL
- Zipkin — 微服務鏈路跟蹤.微服務
- APT組織跟蹤與溯源APT
- [20210603]如何跟蹤索引分裂.txt索引
- Sleuth服務跟蹤:整合 Logstash
- 模版匹配定位跟蹤原始碼原始碼
- Java原始碼跟蹤閱讀技巧Java原始碼
- PostgreSQL 跟蹤checkpointer出現死鎖SQL
- git刪除未跟蹤檔案Git
- git列出跟蹤的檔案列表Git
- git clean清除未跟蹤檔案Git
- Welcome to YARP - 8.分散式跟蹤分散式
- 在Unity中實現手部跟蹤Unity
- Mac好用的時間跟蹤器Mac
- 新增時--sqlserver資料庫跟蹤SQLServer資料庫
- [原始碼分析] OpenTracing之跟蹤Redis原始碼Redis
- 目標跟蹤演算法概述演算法
- 使用 Python 和 Prometheus 跟蹤天氣PythonPrometheus
- 中介軟體---分散式跟蹤---Pinpoint分散式