还可以参考:
http://www.eygle.com/archives/2005/03/oeoeoeoeiaeoeei.html[@more@]*
practice 1
假定,数据库控制文件已经全部丢失,但其他都没有损坏
*/
/* 准备 */
--关闭数据库
$ sqlplus /nolog
SQL> connect system/system as sysdba
Connected.
SQL> shutdown immediate
cp -R /oracle/oradata/TEST /oracle/oradata/TEST_bak
mv control01.ctl control04.ctl
mv control02.ctl control05.ctl
mv control03.ctl control06.ctl
--重新数据库,出错
ORA-00205: error in identifying controlfile, check alert log for more info
--step 4
备份现存的文件
cp -R /oracle/oradata/TEST /oracle/oradata/TEST_bak_20070109
--step 5
startup nomount
--step 6
--issue create controlfile
CREATE CONTROLFILE REUSE DATABASE TEST
NORESETLOGS NOARCHIVELOG
-- SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 50
MAXLOGMEMBERS 4
MAXDATAFILES 200
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 '/oracle/oradata/TEST/redo01.log' SIZE 100M,
GROUP 2 '/oracle/oradata/TEST/redo02.log' SIZE 100M,
GROUP 3 '/oracle/oradata/TEST/redo03.log' SIZE 100M
-- STANDBY LOGFILE
DATAFILE
'/oracle/oradata/TEST/system01.dbf',
'/oracle/oradata/TEST/undotbs01.dbf',
'/oracle/oradata/TEST/cwmlite01.dbf',
'/oracle/oradata/TEST/drsys01.dbf',
'/oracle/oradata/TEST/example01.dbf',
'/oracle/oradata/TEST/indx01.dbf',
'/oracle/oradata/TEST/odm01.dbf',
'/oracle/oradata/TEST/tools01.dbf',
'/oracle/oradata/TEST/users01.dbf',
'/oracle/oradata/TEST/xdb01.dbf'
CHARACTER SET ZHS32GB18030
--step 7 备份新控制文件
cp /oracle/oradata/TEST/control01.ctl /home/oracle/control01.ctl
--step 10
ALTER DATABASE OPEN;
/*
practice 2
假定,数据库控制文件、online redo log已经全部丢失,但其他都没有损坏
*/
/* 准备 */
--关闭数据库
$ sqlplus /nolog
SQL> connect system/system as sysdba
Connected.
SQL> shutdown immediate
cp -R /oracle/oradata/TEST /oracle/oradata/TEST_bak
mv control01.ctl control04.ctl
mv control02.ctl control05.ctl
mv control03.ctl control06.ctl
mv redo01.log redo04.log
mv redo02.log redo05.log
mv redo03.log redo06.log
--重新数据库,出错
ORA-00205: error in identifying controlfile, check alert log for more info
--step 4
备份现存的文件
cp -R /oracle/oradata/TEST /oracle/oradata/TEST_bak_20070109
--step 5
startup nomount
--step 6
--issue create controlfile
CREATE CONTROLFILE REUSE DATABASE TEST
RESETLOGS NOARCHIVELOG
-- SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 50
MAXLOGMEMBERS 4
MAXDATAFILES 200
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 '/oracle/oradata/TEST/redo01.log' SIZE 100M,
GROUP 2 '/oracle/oradata/TEST/redo02.log' SIZE 100M,
GROUP 3 '/oracle/oradata/TEST/redo03.log' SIZE 100M
-- STANDBY LOGFILE
DATAFILE
'/oracle/oradata/TEST/system01.dbf',
'/oracle/oradata/TEST/undotbs01.dbf',
'/oracle/oradata/TEST/cwmlite01.dbf',
'/oracle/oradata/TEST/drsys01.dbf',
'/oracle/oradata/TEST/example01.dbf',
'/oracle/oradata/TEST/indx01.dbf',
'/oracle/oradata/TEST/odm01.dbf',
'/oracle/oradata/TEST/tools01.dbf',
'/oracle/oradata/TEST/users01.dbf',
'/oracle/oradata/TEST/xdb01.dbf'
CHARACTER SET ZHS32GB18030
--step 7 备份新控制文件
cp /oracle/oradata/TEST/control01.ctl /home/oracle/control01.ctl
--step 10
ALTER DATABASE OPEN resetlogs;
/*
practice 3
假定,修改数据库名为oratest
*/
/* 准备 */
--关闭数据库
--step 3
在$ORACLE_HOME/dbs (windows为database)使用创建参数文件initoratest.ora
将db_name改为oratest
创建一个名为orapwd的密码文件,(将原来的文件重命名即可)
--step 4
备份现存的文件
cp -R /oracle/oradata/TEST /oracle/oradata/TEST_bak_20070109
--step 5
startup nomount
--step 6
--issue create controlfile
CREATE CONTROLFILE
SET DATABASE oratest
RESETLOGS NOARCHIVELOG
-- SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 50
MAXLOGMEMBERS 4
MAXDATAFILES 200
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 '/oracle/oradata/TEST/redo01.log' SIZE 100M,
GROUP 2 '/oracle/oradata/TEST/redo02.log' SIZE 100M,
GROUP 3 '/oracle/oradata/TEST/redo03.log' SIZE 100M
-- STANDBY LOGFILE
DATAFILE
'/oracle/oradata/TEST/system01.dbf',
'/oracle/oradata/TEST/undotbs01.dbf',
'/oracle/oradata/TEST/cwmlite01.dbf',
'/oracle/oradata/TEST/drsys01.dbf',
'/oracle/oradata/TEST/example01.dbf',
'/oracle/oradata/TEST/indx01.dbf',
'/oracle/oradata/TEST/odm01.dbf',
'/oracle/oradata/TEST/tools01.dbf',
'/oracle/oradata/TEST/users01.dbf',
'/oracle/oradata/TEST/xdb01.dbf'
CHARACTER SET ZHS32GB18030
reuse;
--step 7 备份新控制文件
cp /oracle/oradata/TEST/control01.ctl /home/oracle/control01.ctl
--step 10
ALTER DATABASE OPEN resetlogs;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/786540/viewspace-1004348/
,如需转载,请注明出处,否则将追究法律责任。