ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 冷备份恢复数据库,并修改db_name(重建控制文件方式),多种错误方式演练

冷备份恢复数据库,并修改db_name(重建控制文件方式),多种错误方式演练

原创 Linux操作系统 作者:sdusun 时间:2019-04-29 18:42:06 0 删除 编辑

以下我只给出具体步骤以及出现问题的解决方法,没有额外的文字说明(有点懒!呵呵)

SQL> CREATE CONTROLFILE REUSE DATABASE "kyws" NORESETLOGS NOARCHIVELOG
2 -- SET STANDBY TO MAXIMIZE PERFORMANCE
3 MAXLOGFILES 50
4 MAXLOGMEMBERS 5
5 MAXDATAFILES 100
6 MAXINSTANCES 1
7 MAXLOGHISTORY 226
8 LOGFILE
9 GROUP 1 'F:ORACLEORADATAkywsREDO01.LOG' SIZE 100M,
10 GROUP 2 'F:ORACLEORADATAkywsREDO02.LOG' SIZE 100M,
11 GROUP 3 'F:ORACLEORADATAkywsREDO03.LOG' SIZE 100M
12 -- STANDBY LOGFILE
13 DATAFILE
14 'F:ORACLEORADATAkywsSYSTEM01.DBF',
15 'F:ORACLEORADATAkywsBLUESWORD.DBF',
16 'F:ORACLEORADATAkywsUNDOTBS01.DBF',
17 'F:ORACLEORADATAkywsCWMLITE01.DBF',
18 'F:ORACLEORADATAkywsDRSYS01.DBF',
19 'F:ORACLEORADATAkywsEXAMPLE01.DBF',
20 'F:ORACLEORADATAkywsINDX01.DBF',
21 'F:ORACLEORADATAkywsODM01.DBF',
22 'F:ORACLEORADATAkywsTOOLS01.DBF',
23 'F:ORACLEORADATAkywsUSERS01.DBF',
24 'F:ORACLEORADATAkywsXDB01.DBF',
25 'F:ORACLEORADATAkywsTEMP01.DBF',
26 'F:ORACLEORADATAkywsYTWF.DBF',
27 'F:ORACLEORADATAkywsHLT.DBF'
28 CHARACTER SET ZHS16GBK;
CREATE CONTROLFILE REUSE DATABASE "kyws" NORESETLOGS NOARCHIVELOG
*
ERROR at line 1:
ORA-01503: CREATE CONTROLFILE failed
ORA-01161: database name JIAYI in file header does not match given name of KYWS
ORA-01110: data file 1: 'F:ORACLEORADATAkywsSYSTEM01.DBF'

说明:

在此之前,需要使用oradim -new -sid 重建实例名,然后修改tnsnames.ora和监听文件

如果想借此机会修改数据库明的话,需要重建控制文件,会遇到上述错误,下面逐步解决。


SQL> CREATE CONTROLFILE set DATABASE "kyws" NORESETLOGS NOARCHIVELOG
2 -- SET STANDBY TO MAXIMIZE PERFORMANCE
3 MAXLOGFILES 50
4 MAXLOGMEMBERS 5
5 MAXDATAFILES 100
6 MAXINSTANCES 1
7 MAXLOGHISTORY 226
8 LOGFILE
9 GROUP 1 'F:ORACLEORADATAkywsREDO01.LOG' SIZE 100M,
10 GROUP 2 'F:ORACLEORADATAkywsREDO02.LOG' SIZE 100M,
11 GROUP 3 'F:ORACLEORADATAkywsREDO03.LOG' SIZE 100M
12 -- STANDBY LOGFILE
13 DATAFILE
14 'F:ORACLEORADATAkywsSYSTEM01.DBF',
15 'F:ORACLEORADATAkywsBLUESWORD.DBF',
16 'F:ORACLEORADATAkywsUNDOTBS01.DBF',
17 'F:ORACLEORADATAkywsCWMLITE01.DBF',
18 'F:ORACLEORADATAkywsDRSYS01.DBF',
19 'F:ORACLEORADATAkywsEXAMPLE01.DBF',
20 'F:ORACLEORADATAkywsINDX01.DBF',
21 'F:ORACLEORADATAkywsODM01.DBF',
22 'F:ORACLEORADATAkywsTOOLS01.DBF',
23 'F:ORACLEORADATAkywsUSERS01.DBF',
24 'F:ORACLEORADATAkywsXDB01.DBF',
25 'F:ORACLEORADATAkywsTEMP01.DBF',
26 'F:ORACLEORADATAkywsYTWF.DBF',
27 'F:ORACLEORADATAkywsHLT.DBF'
28 CHARACTER SET ZHS16GBK;
CREATE CONTROLFILE set DATABASE "kyws" NORESETLOGS NOARCHIVELOG
*
ERROR at line 1:
ORA-01503: CREATE CONTROLFILE failed
ORA-01223: RESETLOGS must be specified to set a new database name


SQL> CREATE CONTROLFILE set DATABASE "kyws" RESETLOGS NOARCHIVELOG
2 -- SET STANDBY TO MAXIMIZE PERFORMANCE
3 MAXLOGFILES 50
4 MAXLOGMEMBERS 5
5 MAXDATAFILES 100
6 MAXINSTANCES 1
7 MAXLOGHISTORY 226
8 LOGFILE
9 GROUP 1 'F:ORACLEORADATAkywsREDO01.LOG' SIZE 100M,
10 GROUP 2 'F:ORACLEORADATAkywsREDO02.LOG' SIZE 100M,
11 GROUP 3 'F:ORACLEORADATAkywsREDO03.LOG' SIZE 100M
12 -- STANDBY LOGFILE
13 DATAFILE
14 'F:ORACLEORADATAkywsSYSTEM01.DBF',
15 'F:ORACLEORADATAkywsBLUESWORD.DBF',
16 'F:ORACLEORADATAkywsUNDOTBS01.DBF',
17 'F:ORACLEORADATAkywsCWMLITE01.DBF',
18 'F:ORACLEORADATAkywsDRSYS01.DBF',
19 'F:ORACLEORADATAkywsEXAMPLE01.DBF',
20 'F:ORACLEORADATAkywsINDX01.DBF',
21 'F:ORACLEORADATAkywsODM01.DBF',
22 'F:ORACLEORADATAkywsTOOLS01.DBF',
23 'F:ORACLEORADATAkywsUSERS01.DBF',
24 'F:ORACLEORADATAkywsXDB01.DBF',
25 'F:ORACLEORADATAkywsTEMP01.DBF',
26 'F:ORACLEORADATAkywsYTWF.DBF',
27 'F:ORACLEORADATAkywsHLT.DBF'
28 CHARACTER SET ZHS16GBK;
CREATE CONTROLFILE set DATABASE "kyws" RESETLOGS NOARCHIVELOG
*
ERROR at line 1:
ORA-01503: CREATE CONTROLFILE failed
ORA-01565: error in identifying file 'F:ORACLEORADATAkywsBLUESWORD.DBF'
ORA-27041: unable to open file
OSD-04002: N^7(4r?*ND<~
O/S-Error: (OS 2) O5M3UR2;5=V86(5DND<~!#


SQL> CREATE CONTROLFILE set DATABASE "kyws" RESETLOGS NOARCHIVELOG
2 -- SET STANDBY TO MAXIMIZE PERFORMANCE
3 MAXLOGFILES 50
4 MAXLOGMEMBERS 5
5 MAXDATAFILES 100
6 MAXINSTANCES 1
7 MAXLOGHISTORY 226
8 LOGFILE
9 GROUP 1 'F:ORACLEORADATAkywsREDO01.LOG' SIZE 100M,
10 GROUP 2 'F:ORACLEORADATAkywsREDO02.LOG' SIZE 100M,
11 GROUP 3 'F:ORACLEORADATAkywsREDO03.LOG' SIZE 100M
12 -- STANDBY LOGFILE
13 DATAFILE
14 'F:ORACLEORADATAkywsSYSTEM01.DBF',
15 'F:ORACLEORADATAkywsBLUESWORD.ora',
16 'F:ORACLEORADATAkywsUNDOTBS01.DBF',
17 'F:ORACLEORADATAkywsCWMLITE01.DBF',
18 'F:ORACLEORADATAkywsDRSYS01.DBF',
19 'F:ORACLEORADATAkywsEXAMPLE01.DBF',
20 'F:ORACLEORADATAkywsINDX01.DBF',
21 'F:ORACLEORADATAkywsODM01.DBF',
22 'F:ORACLEORADATAkywsTOOLS01.DBF',
23 'F:ORACLEORADATAkywsUSERS01.DBF',
24 'F:ORACLEORADATAkywsXDB01.DBF',
25 'F:ORACLEORADATAkywsTEMP01.DBF',
26 'F:ORACLEORADATAkywsYTWF.ora',
27 'F:ORACLEORADATAkywsHLT.ora'
28 CHARACTER SET ZHS16GBK;
CREATE CONTROLFILE set DATABASE "kyws" RESETLOGS NOARCHIVELOG
*
ERROR at line 1:
ORA-01503: CREATE CONTROLFILE failed
ORA-01160: file is not a data file
ORA-01110: data file : 'F:ORACLEORADATAkywsTEMP01.DBF'


SQL> CREATE CONTROLFILE set DATABASE "kyws" RESETLOGS NOARCHIVELOG
2 -- SET STANDBY TO MAXIMIZE PERFORMANCE
3 MAXLOGFILES 50
4 MAXLOGMEMBERS 5
5 MAXDATAFILES 100
6 MAXINSTANCES 1
7 MAXLOGHISTORY 226
8 LOGFILE
9 GROUP 1 'F:ORACLEORADATAkywsREDO01.LOG' SIZE 100M,
10 GROUP 2 'F:ORACLEORADATAkywsREDO02.LOG' SIZE 100M,
11 GROUP 3 'F:ORACLEORADATAkywsREDO03.LOG' SIZE 100M
12 -- STANDBY LOGFILE
13 DATAFILE
14 'F:ORACLEORADATAkywsSYSTEM01.DBF',
15 'F:ORACLEORADATAkywsBLUESWORD.ora',
16 'F:ORACLEORADATAkywsUNDOTBS01.DBF',
17 'F:ORACLEORADATAkywsCWMLITE01.DBF',
18 'F:ORACLEORADATAkywsDRSYS01.DBF',
19 'F:ORACLEORADATAkywsEXAMPLE01.DBF',
20 'F:ORACLEORADATAkywsINDX01.DBF',
21 'F:ORACLEORADATAkywsODM01.DBF',
22 'F:ORACLEORADATAkywsTOOLS01.DBF',
23 'F:ORACLEORADATAkywsUSERS01.DBF',
24 'F:ORACLEORADATAkywsXDB01.DBF',
25 'F:ORACLEORADATAkywsYTWF.ora',
26 'F:ORACLEORADATAkywsHLT.ora',
27 --'F:ORACLEORADATAkywsTEMP01.DBF'
28 CHARACTER SET ZHS16GBK;
CHARACTER SET ZHS16GBK
*
ERROR at line 28:
ORA-02236: invalid file name


SQL> CREATE CONTROLFILE set DATABASE "kyws" RESETLOGS NOARCHIVELOG
2 -- SET STANDBY TO MAXIMIZE PERFORMANCE
3 MAXLOGFILES 50
4 MAXLOGMEMBERS 5
5 MAXDATAFILES 100
6 MAXINSTANCES 1
7 MAXLOGHISTORY 226
8 LOGFILE
9 GROUP 1 'F:ORACLEORADATAkywsREDO01.LOG' SIZE 100M,
10 GROUP 2 'F:ORACLEORADATAkywsREDO02.LOG' SIZE 100M,
11 GROUP 3 'F:ORACLEORADATAkywsREDO03.LOG' SIZE 100M
12 -- STANDBY LOGFILE
13 DATAFILE
14 'F:ORACLEORADATAkywsSYSTEM01.DBF',
15 'F:ORACLEORADATAkywsBLUESWORD.ora',
16 'F:ORACLEORADATAkywsUNDOTBS01.DBF',
17 'F:ORACLEORADATAkywsCWMLITE01.DBF',
18 'F:ORACLEORADATAkywsDRSYS01.DBF',
19 'F:ORACLEORADATAkywsEXAMPLE01.DBF',
20 'F:ORACLEORADATAkywsINDX01.DBF',
21 'F:ORACLEORADATAkywsODM01.DBF',
22 'F:ORACLEORADATAkywsTOOLS01.DBF',
23 'F:ORACLEORADATAkywsUSERS01.DBF',
24 'F:ORACLEORADATAkywsXDB01.DBF',
25 'F:ORACLEORADATAkywsYTWF.ora',
26 'F:ORACLEORADATAkywsHLT.ora'
27 --'F:ORACLEORADATAkywsTEMP01.DBF'
28 CHARACTER SET ZHS16GBK;

Control file created.

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open


SQL> alter database open resetlogs;

Database altered.


SQL> show parameter db_name

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string kyws


SQL> alter tablespace temp
2 add tempfile 'F:oracleoradatakywstemp01.dbf' reuse;

Tablespace altered.

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/593324/viewspace-376165/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2005-09-13

  • 博文量
    116
  • 访问量
    118268