日期:2014-05-16 浏览次数:20416 次
Oracle 数据库 - 移动控制文件、数据文件和日志文件的位置 ############# 非归档数据库 ############# 1. 查看数据库是否处于归档模式(mount) select name,log_mode from v$database; 2. 根据二进制参数文件创建纯文本参数文件(nomount) create pfile='E:\bk\pfile.txt' from spfile; 3. 修改 pfile.txt 中的控制文件位置 *.control_files='E:\bk\orcl01.ctl','E:\bk\orcl02.ctl' 4. 备份建立控制文件的脚本(mount) alter database backup controlfile to trace as 'E:\bk\ctrl.txt'; 5. 根据纯文本参数文件创建二进制参数文件(nomount) create spfile from pfile='E:\bk\pfile.txt'; # 如果提示如下错误,则按后续步骤执行 ORA-32002: cannot create SPFILE already being used by the instance # 先查看启动时使用的参数文件 show parameter pfile; # 以纯文本参数文件启动数据库 startup nomount pfile='E:\bk\pfile.txt'; # 重新执行步骤5 6. 根据控制文件备份脚本 ctrl.txt 创建控制文件(nomount) CREATE CONTROLFILE REUSE DATABASE "XE" RESETLOGS NOARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 1 'E:\bk\orcl01.log' SIZE 4M, GROUP 2 'E:\bk\orcl02.log' SIZE 4M -- STANDBY LOGFILE DATAFILE 'E:\bk\SYSTEM.DBF', 'E:\bk\UNDO.DBF', 'E:\bk\SYSAUX.DBF', 'E:\bk\USERS.DBF' CHARACTER SET AL32UTF8; 7. 恢复数据(mount) alter database open resetlogs; ############# 归档数据库 ############# 1. 查看数据库是否处于归档模式(mount) select name,log_mode from v$database; # 修改数据库归档模式(mount) alter database archivelog; alter database noarchivelog; 2. 根据二进制参数文件创建纯文本参数文件(nomount) create pfile='E:\bk\pfile.txt' from spfile; 3. 修改 pfile.txt 中的控制文件位置 *.control_files='E:\bk\orcl01.ctl','E:\bk\orcl02.ctl' 4. 备份建立控制文件的脚本(mount) alter database backup controlfile to trace as 'E:\bk\ctrl.txt'; 5. 根据纯文本参数文件创建二进制参数文件(nomount) create spfile from pfile='E:\bk\pfile.txt'; # 如果提示如下错误,则按后续步骤执行 ORA-32002: cannot create SPFILE already being used by the instance # 先查看启动时使用的参数文件 show parameter pfile; # 以纯文本参数文件启动数据库 startup nomount pfile='E:\bk\pfile.txt'; # 重新执行步骤5 6. 根据控制文件备份脚本 ctrl.txt 创建控制文件(nomount) CREATE CONTROLFILE REUSE DATABASE "XE" NORESETLOGS ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 1 'E:\bk\orcl01.log' SIZE 4M, GROUP 2 'E:\bk\orcl02.log' SIZE 4M -- STANDBY LOGFILE DATAFILE 'E:\bk\SYSTEM.DBF', 'E:\bk\UNDO.DBF', 'E:\bk\SYSAUX.DBF', 'E:\bk\USERS.DBF' CHARACTER SET AL32UTF8; 7. 恢复数据(mount) alter database open;
?