【翻譯自mos中文文章】重建控制檔案的方法,mos重建
重建控制檔案的方法
參考原文:
How to Recreate a Controlfile (Doc ID 735106.1)
適用於:
Oracle Database - Enterprise Edition - Version 9.0.1.0 and later
Information in this document applies to any platform.
解決方案:
警告:
只有遇到下列情境時,你才應該recreate 你的控制檔案
1.所有的當前的控制檔案copies 已經丟失 或者 都已經損壞(corrupted)
2.你正在restore一個backup,在此backup中控制檔案已經損壞 或者丟失(missing)
3.你需要在控制檔案中改變一個hard limit 的資料庫參數(database parameter)
4.如果你正在move 你的database 到一個server上,並且files位於不同的location上。
5. oracle 技術支援人員建議你重建控制檔案。
第一種情況:在已經存在的db中(並且該db是mount or open狀態)建立一個新的controlfile
首先,必鬚生成一個控制檔案的ascii dump檔案
SQL> alter database backup controlfile to trace;
該trace檔案被產生在udump目錄下:
SQL> show parameter user_dump_dest
NAME TYPE VALUE
-------------- ------ ------------------------------------------------
user_dump_dest string /oracle/product/11.1.0/db_1/diag/rdbms/V11/trace
到/oracle/product/11.1.0/db_1/diag/rdbms/V11/trace目錄下,按照時間排序:
% cd /oracle/product/11.1.0/db_1/diag/rdbms/V11/trace
% ls -ltr
一旦定位到該檔案,該檔案會與一般的trace file一樣顯示如下:
Trace file /oracle/product/11.1.0/db_1/diag/rdbms/V11/trace/V11_ora_31225.trc
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /oracle/product/11.1.0/db_1
你感興趣的是 包括 控制檔案建立指令碼的那一段。
修改trace file 並用修改後的指令碼來建立控制檔案
CREATE CONTROLFILE REUSE DATABASE "V11" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/oradata/V11/redo01.log' SIZE 50M,
GROUP 2 '/oradata/V11/redo02.log' SIZE 50M,
GROUP 3 '/oradata/V11/redo03.log' SIZE 50M
DATAFILE
'/oradata/V11/system01.dbf',
'/oradata/V11/sysaux01.dbf',
'/oradata/V11/undotbs01.dbf',
'/oradata/V11/user01.dbf'
CHARACTER SET WE8MSWIN1252
;
--->請特別注意:CHARACTER SET WE8MSWIN1252 可以由 alert_sid.log中得到。
ALTER TABLESPACE TEMP_TEST ADD TEMPFILE '/oradata/V11/temp01.dbf' reuse;
"CREATE CONTROLFILE"之前的任何東西請刪掉,
CHARACTER SET之後的任何東西請刪掉,一定要保留那個分號
在上面的例子中,我們選擇了NORESETLOGS 選項,並且該db運行於archivelog模式下。
請務必保證使用shutdown immediate選項來關閉資料庫。然後啟動到nomount狀態下:
SQL> shutdown immediate;
SQL> startup nomount;
SQL>@control.sql
注意:當重建控制檔案完畢後,務必保證添加已經存在temp file:
alter tablespace temp_ts add tempfile '?/oradata/V11/temp01.dbf'? reuse;
控制檔案一旦被建立,db 被自動帶入到mounted 狀態。如果你使用了resetlogs開啟了database,請儘快做一個backup
第二種情況:該db無法到mount 狀態
1.要麼restore 控制檔案,
2.要麼有一個重建控制檔案的指令碼,如下是一個例子:
CREATE CONTROLFILE REUSE DATABASE "DBNAME" NORESETLOGS ARCHIVELOG
Follow the format listing:
- Location of redo logs.
- Location of datafiles
- Specifying the characterset.
Once you have listed all files correctly you are ready to recreate your controlfile
SQL> startup nomount;
SQL>@control.sql
對於MOS管的控制:哪位幫忙分析一下下面這個原理圖?解釋下AOT500這個MOS管是怎工作的
P0.1是控制,P0.2輸出類比量,運放是過壓保護比較子,可以猜測P0.2跟這個功能相關
電路問題:
1.沒有標清楚負載
2.三極體肯定不全是PNP的,否則講不清
3.認為測試正確了可以上電驗證下,看下波形就明了了