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;