最近的幾個技術問題總結和答疑(五)
最近收到了幾個朋友的提問,我簡單總結了一下。
問題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的方式比較多,這種備庫,異機檢視的方式也算作補充吧。
問題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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 最近的幾個技術問題總結和答疑
- 最近的幾個技術問題總結和答疑(九)
- 最近的幾個技術問題總結和答疑 (11)
- 最近的幾個技術問題總結和答疑(七)
- 最近的幾個技術問題總結和答疑(八)
- 最近的幾個技術問題總結和答疑(二)
- 最近的幾個技術問題總結和答疑(三)
- 最近的幾個技術問題總結和答疑(四)
- 最近的幾個技術問題總結和答疑(六)
- 最近技術總結
- 最近遇到的幾個LINUX問題Linux
- 最近幾個月總結(17年12月)
- 總結一下最近遇到的問題
- 最近解決的幾個DIV+CSS的問題CSS
- 資料遷移中的幾個問題總結
- 配置tnsnames.ora遇到的幾個問題總結
- 外包這幾年的技術和管理經驗總結
- Python基礎技術問題總結Python
- C# 基礎技術問題總結C#
- 技術人溝通中的幾個常見問題
- 關於虛擬化技術的幾個問題薦
- 一個非技術問題的問題
- 12個iOS技術面試題及答案總結iOS面試題
- 最近思考的一個問題
- 最近處理的幾個小問題_20160311
- 兩個流程鏈路問題的排查和總結
- 最近積累的幾個關於 PHP 類與 MySQL 的小問題PHPMySql
- 最近幾天玩freebsd奮鬥成果總結
- 最近幾天做oracle stream遇到很多問題Oracle
- 原始碼防洩密幾種技術原理總結原始碼
- 和開發同學討論的一個技術問題
- 最近使用 gin 的總結
- 最近使用redis的總結Redis
- RAID技術介紹和總結AI
- C語言中四捨五入問題總結C語言
- 專案總結(幾大未解決問題)
- C#與資料庫訪問技術總結(五)之Command物件的常用方法C#資料庫物件
- 關於最近3天連續加班解決登陸問題的總結