Chinaunix首页 | 论坛 | 博客
  • 博客访问: 246832
  • 博文数量: 61
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 800
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-14 15:18
文章分类

全部博文(61)

文章存档

2011年(4)

2010年(5)

2009年(10)

2008年(42)

我的朋友

分类: Oracle

2008-08-21 17:22:32

在服务器上有生产库DB1,建立测试库DB2如下:
1. 关闭DB1
2. 冷备份所有相关文件,controlfile, logfile, datafile
3. 建立pfile
   1)initDB1.ora --> initDB2.ora,
   2)修改db_name = mytest
   3)修改controlfile的位置
4. 建立new instance
   oradim -new -sid DB2 -syspwd mypwd
5. 启动instance
   set oracle_sid=DB2
   sqlplus "/ as sysdba"
6. Mount DB 
SQL> startup mount
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 1247876 bytes
Variable Size 71304572 bytes
Database Buffers 88080384 bytes
Redo Buffers 7139328 bytes
ORA-01103: database name 'DB1' in control file is not 'DB2'
 
这表示测试数据库中的参数DB_NAME跟控制文件中的不一致。
解决办法:重建控制文件。
1) 删除目前的控制文件
2) 先备份原DB1的控制文件
SQL> alter database backup controlfile to trace;
 
3)查找相关的trace文件,如C:\admin\DB1\udump\orcl_ora_4012.trc, 文件中包含创建控制文件的SQL语句。
打开它,修改相关参数:
  1. REUSE DATABASE “ORCL” 改为 SET DATABASE “TESTDB”
  2. NORESETLOGS 改为 RESETLOGS
  3. 修改相关的路径名
 
4)重建控制文件
SQL> STARTUP NOMOUNT
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 1247876 bytes
Variable Size 71304572 bytes
Database Buffers 88080384 bytes
Redo Buffers 7139328 bytes
SQL> CREATE CONTROLFILE SET DATABASE "DB2" RESETLOGS FORCE LOGGING NOARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 'D:\ORADATA\DB2\REDO01.LOG' SIZE 50M,
9 GROUP 2 'D:\ORADATA\DB2\REDO02.LOG' SIZE 50M,
10 GROUP 3 'D:\ORADATA\DB2\REDO03.LOG' SIZE 50M
11 DATAFILE
12 'D:\ORADATA\DB2\SYSTEM01.DBF',
13 'D:\ORADATA\DB2\UNDOTBS01.DBF',
14 'D:\ORADATA\DB2\SYSAUX01.DBF',
15 'D:\ORADATA\DB2\USERS.DBF'
16 CHARACTER SET ZHS16GBK
17 ;
 
5)打开DB
SQL> ALTER DATABASE OPEN RESETLOGS;
 
 
 
阅读(4379) | 评论(0) | 转发(0) |
0

上一篇:STATSPACK

下一篇:rsync 小记

给主人留下些什么吧!~~