有關控制檔案的學習(一):
試驗環境:SunOS 5.7 ORACLE 8.1.7.0
首先試驗的是丟失單個控制檔案的情況:
察看控制檔案的情況:
SQL> show parameter control_files
NAME TYPE VALUE
------------------------------------ -------------------------------- ------------------------------
control_files string /home2/oracle/oradata/SID/control01.ctl, /home3/oracle/oradata/SID/control02.ctl
有兩個控制檔案,分別在home2和home3上面,然後將home3上面的那個挪走了。
# mv control02.ctl ../.
sqlplus 的操作沒有發現什麼問題,shutdown資料庫:
SQL> shutdown immediate
ORA-24323: value not allowed
ORA-03113: end-of-file on communication channel
再登陸:
$ sqlplus "/as sysdba"
SQL*Plus: Release 8.1.7.0.0 - Production on Fri Apr 15 17:04:22 2005
(c) Copyright 2000 Oracle Corporation. All rights reserved.
Connected to an idle instance.
察看bdump目錄下的日誌檔案:
$ cat ckpt_7205.trc
/home2/oracle/SIDin/SID/bdump/ckpt_7205.trc
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production
ORACLE_HOME = /home2/oracle/product/817
System name: SunOS
Node name: oraad.163.com
Release: 5.7
Version: Generic_106542-23
Machine: i86pc
Instance name: SID
Redo thread mounted by this instance: 1
Oracle process number: 5
Unix process pid: 7205, image: oracle@oraad.163.com (CKPT)
*** 2005-04-15 17:04:11.265
*** SESSION ID:(4.1) 2005-04-15 17:04:11.235
ORA-00206: error in writing (block 19, # blocks 1) of controlfile
ORA-00202: controlfile: '/home3/oracle/oradata/SID/control02.ctl'
ORA-27041: unable to open file
Intel SVR4 UNIX Error: 2: No such file or directory
Additional information: 3
error 221 detected in background process
$ tail -50 alert_SID.log
....
Fri Apr 15 17:04:11 2005
Errors in file /home2/oracle/SIDin/SID/bdump/ckpt_7205.trc:
ORA-00206: error in writing (block 19, # blocks 1) of controlfile
ORA-00202: controlfile: '/home3/oracle/oradata/SID/control02.ctl'
ORA-27041: unable to open file
Intel SVR4 UNIX Error: 2: No such file or directory
Additional information: 3
Fri Apr 15 17:04:11 2005
CKPT: terminating instance due to error 221
Instance terminated by CKPT, pid = 7205
修改$ORACLE_HOME/dbs/initSID.ora
control_files = ("/home2/oracle/oradata/SID/control01.ctl", "/home3/oracle/oradata/SID/control02.ctl")
改成:
control_files = ("/home2/oracle/oradata/SID/control01.ctl")
啟動資料庫:
SQL> startup pfile = $ORACLE_HOME/dbs/initSID.ora
ORACLE instance started.
Total System Global Area 548925600 bytes
Fixed Size 73888 bytes
Variable Size 260485120 bytes
Database Buffers 286720000 bytes
Redo Buffers 1646592 bytes
Database mounted.
Database opened.
察看引數:
SQL> show parameter control_files
NAME TYPE VALUE
------------------------------------ -------------------------------- ------------------------------
control_files string /home2/oracle/oradata/SID/control01.ctl
已經可以重新啟動了。
將挪出的控制檔案挪回去:
# mv ../control02.ctl .
把引數檔案修改回原來的樣子
重啟資料庫:
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 548925600 bytes
Fixed Size 73888 bytes
Variable Size 260485120 bytes
Database Buffers 286720000 bytes
Redo Buffers 1646592 bytes
ORA-00214: controlfile '/home2/oracle/oradata/SID/control01.ctl' version 2069
inconsistent with file '/home3/oracle/oradata/SID/control02.ctl' version 2061
提示兩個控制檔案的版本不同。
呵呵,原來這個已經不好使了。
將home2的控制檔案拷貝到home3:
$ cp /home2/oracle/oradata/SID/control01.ctl /home3/oracle/oradata/SID/control02.ctl
再重啟資料庫:
SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 548925600 bytes
Fixed Size 73888 bytes
Variable Size 260485120 bytes
Database Buffers 286720000 bytes
Redo Buffers 1646592 bytes
Database mounted.
Database opened.
啟動成功。
察看初始化引數:
SQL> show parameter control_files
NAME TYPE VALUE
------------------------------------ -------------------------------- ------------------------------
control_files string /home2/oracle/oradata/SID/control01.ctl, /home3/oracle/oradata/SID/control02.ctl
所以,在有控制檔案的情況下,增加一個控制檔案是很簡單的:
shutdown資料庫->cp control01.ctl control03.ctl->修改init.ora->startup->ok
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/51862/viewspace-180633/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 與控制檔案有關的恢復
- 與控制檔案有關的恢復(二)
- 檔案IO的學習
- 【RMAN】Oracle中如何備份控制檔案?備份控制檔案的方式有哪幾種?Oracle
- 物聯網學習教程—檔案的讀寫一
- VC++學習筆記---配置檔案(一) ini檔案和propritiesC++筆記
- 【RMAN】如果控制檔案損壞那麼如何恢復?恢復控制檔案的方式有哪幾種?
- Laravel 學習筆記一: 專案框架和配置檔案Laravel筆記框架
- 關於Docx動態控制word模板檔案的資料
- 新建的表空間(或資料檔案)丟失以及控制檔案丟失,有新建表空間(或資料檔案)前的控制文
- extjs4學習-02-匯入相關檔案JS
- Hadoop學習(一)——HDFS分散式檔案系統Hadoop分散式
- Golang 原始碼學習(一) —— os/file 檔案操作Golang原始碼
- Oracle 控制檔案Oracle
- 檔案包含-基於Pikachu的學習
- 關閉(隱藏)控制檯上顯示的檔案路徑
- 4.26檔案上傳學習
- B站java學習檔案Java
- Linux學習之檔案操作Linux
- 學習Rust 檔案與 IORust
- rman恢復控制檔案的一個小錯誤
- 控制檔案不一致引發的“血案”
- 顯示檔案內容的Linux命令有哪些?linux如何系統的學習Linux
- 有關swoole+laravel 上傳檔案的問題Laravel
- 物聯網學習教程—檔案的定位
- 一種自主學習 Office Open XML 檔案格式的方法介紹XML
- 2.6.4 指定控制檔案
- 進一步學習WDK驅動程式的SOURCES檔案、WMI驅動程式的mof檔案和wmidata.h標頭檔案
- (十七)Python學習之檔案操作Python
- python學習之讀寫檔案Python
- Mybatis 學習筆記(一)——配置檔案SqlMapConfig.xml和對映檔案Mapper.xmlMyBatis筆記SQLXMLAPP
- C語言檔案輸入和輸出操作的學習心得(一)C語言
- pem檔案, crt檔案, jks 檔案分別是什麼,他們有什麼關係? 這個領域內除了以上三種檔案外,還有哪些檔案格式?JDK 的 jre/lib/security/cacerts檔案屬於哪一種?JDK
- 學習Source Generators之輸出生成的檔案
- 記憶體檔案系統的再學習記憶體
- 有關自定義View的學習知識點View
- 1.C語言有關的小學習C語言
- nginx的檔案描述符的學習之二Nginx
- Linux普通檔案許可權屬性有哪些?linux基本指令學習Linux