最近的幾個技術問題總結和答疑(五)

dbhelper發表於2016-05-26
最近收到了幾個朋友的提問,我簡單總結了一下。
問題1:
首先是有個朋友問到,單引號,雙引號在有些場合通用,有些場合會提示錯誤。
我做了一個簡單的測試,當然只是一個相對片面的解讀,能夠說明問題即可。
比如我需要修改SYS的密碼為asdfasg!,需要注意末尾有一個感嘆號。
可以看到下面的測試結果。
SQL> alter user sys identified by 'asdfasga!';
alter user sys identified by 'asdfasga!'
                             *
ERROR at line 1:
ORA-00988: missing or invalid password(s)

SQL> alter user sys identified by asdfasga!;
alter user sys identified by asdfasga!
                                      *
ERROR at line 1:
ORA-00922: missing or invalid option

SQL> alter user sys identified by "asdfasga!";
User altered.
可以看到測試的情況,其實也可以間接說明雙引號在含有特殊字元的場景中是必須使用的,而對於單引號,只是單純標示一個字串,為什麼第一個語句執行失敗,因為資料庫把第一個單引號當做了密碼的一部分,所以檢查失敗。

問題2:
怎麼從arch中拿到DBID?
這個問題看起來還是很有意思,看起來不是常規思路。我們來簡單測試一下。
把歸檔檔案複製到備庫,轉儲日誌資訊。
SQL> alter system dump logfile '/U01/app/oracle/oradata/sol/arch/SOL/archivelog/2016_05_19/o1_mf_1_467316_cmtccjdj_.arc';
System altered.
然後在alert日誌中會有相應的記錄,我們檢索一下這個歸檔相關的日誌,可以很明顯看到是第三個日誌,裡面有DUMP的字樣。
[oracle@statg2 trace]$ grep o1_mf_1_467316_cmtccjdj_ *
alert_sol.log:Media Recovery Log /U01/app/oracle/oradata/sol/arch/SOL/archivelog/2016_05_19/o1_mf_1_467316_cmtccjdj_.arc
sol_ora_24820.trc:Media Recovery Log /U01/app/oracle/oradata/sol/arch/SOL/archivelog/2016_05_19/o1_mf_1_467316_cmtccjdj_.arc
sol_ora_564.trc:DUMP OF REDO FROM FILE '/U01/app/oracle/oradata/sol/arch/SOL/archivelog/2016_05_19/o1_mf_1_467316_cmtccjdj_.arc'
檢視日誌的資訊,Db ID的資訊就很明顯看到了。
 FILE HEADER:
        Compatibility Vsn = 186646528=0xb200000
        Db ID=1210367666=0x4824beb2, Db Name='SOL'
        Activation ID=1210391986=0x48251db2
        Control Seq=18495720=0x11a38e8, File size=2097152=0x200000
        File Number=20, Blksiz=512, File Type=2 LOG
不侷限於備庫,我們可以把歸檔複製到另外一個資料庫目錄下,再次轉儲
alter system dump logfile '/home/oracle/o1_mf_1_467316_cmtccjdj_.arc';
檢視相關的日誌。
$grep o1_mf_1_467316_cmtccjdj_ *
dgtest_ora_29291.trc:DUMP OF REDO FROM FILE '/home/oracle/o1_mf_1_467316_cmtccjdj_.arc'
還是能夠看到Db ID的資訊。
DUMP OF REDO FROM FILE '/home/oracle/o1_mf_1_467316_cmtccjdj_.arc'
 Opcodes *.*
 RBAs: 0x000000.00000000.0000 thru 0xffffffff.ffffffff.ffff
 SCNs: scn: 0x0000.00000000 thru scn: 0xffff.ffffffff
 Times: creation thru eternity
 FILE HEADER:
        Compatibility Vsn = 186646528=0xb200000
        Db ID=1210367666=0x4824beb2, Db Name='SOL'
        Activation ID=1210391986=0x48251db2
        Control Seq=18495720=0x11a38e8, File size=2097152=0x200000
        File Number=20, Blksiz=512, File Type=2 LOG
 descrip:"Thread 0001, Seq# 0000467316, SCN 0x003469b0b674-0x003469b10501"
 thread: 1 nab: 0x150ba seq: 0x00072174 hws: 0x2 eot: 0 dis: 0
 resetlogs count: 0x25181832 scn: 0x0000.00000001 (1)
 prev resetlogs count: 0x0 scn: 0x0000.00000000
所以檢視DB ID的方式比較多,這種備庫,異機檢視的方式也算作補充吧。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8494287/viewspace-2107476/,如需轉載,請註明出處,否則將追究法律責任。

相關文章