首先我们通过oracle命令找到对应的文件在那个目录下面
要查看Oracle数据库的数据文件、控制文件和日志文件的位置
-
以管理员身份登录到您的Oracle数据库服务器。
-
打开SQL*Plus命令行界面或使用您偏好的SQL开发工具,如SQL Developer或Toad。
-
连接到您的目标数据库:
sqlplus sys as sysdba
-
输入您的SYS用户密码进行身份验证。
-
运行以下查询来查找数据文件的位置:
SELECT name FROM v$datafile;
-
-
运行以下查询来查找控制文件的位置:
SELECT name FROM v$controlfile;
-
运行以下查询来查找归档日志文件的位置:
SELECT name FROM v$logfile;
每个查询将返回与相应文件相关的路径和文件名。
请注意,查询结果可能会显示完整的文件路径,或者可能只显示文件名。如果只显示文件名,可以通过在文件名前添加目录路径来构建完整的文件路径。
-
创建目录
首先,需要创建存放数据文件、控制文件和日志文件的目录。可以使用以下命令创建目录:
mkdir -p /u01/app/oracle/oradata/data
mkdir -p /u01/app/oracle/oradata/ctl
mkdir -p /u01/app/oracle/oradata/log
上面的命令需要以管理员权限运行。
- 修改参数文件在vi $ORACLE_HOME/dbs/目录下打开init.ora
vi init.ora
control_files = (/u01/app/oracle/oradata/ctl/control01.ctl, /u01/app/oracle/flash_recovery_area/orcl/control02.ctl
)
log_archive_dest_1 = location=/u01/app/oracle/oradata/log
复制控制文件到新的存储路径:
cp /u01/app/oracle/oradata/orcl/control01.ctl /u01/app/oracle/oradata/ctl
修改Linux操作系统中的文件夹权限,确保Oracle用户有读写权限:
chmod -R 775 /u01/app/oracle/oradata/data
chmod -R 775 /u01/app/oracle/oradata/ctl
chmod -R 775 /u01/app/oracle/oradata/log
chown -R oracle:oinstall /u01/app/oracle/oradata/data
chown -R oracle:oinstall /u01/app/oracle/oradata/ctl
chown -R oracle:oinstall /u01/app/oracle/oradata/log
打开sqlplus工具,以sysdba权限登录到Oracle实例中
sqlplus / as sysdba
shutdown immediate
卸载旧的控制文件:
STARTUP MOUNT;
ALTER SYSTEM SET CONTROL_FILES='' SCOPE=SPFILE;
SHUTDOWN IMMEDIATE;
使用新的控制文件重新启动实例:
STARTUP NOMOUNT;
ALTER SYSTEM SET CONTROL_FILES='/u01/app/oracle/oradata/ctl/control01.ctl', '/u01/app/oracle/flash_recovery_area/orcl/control02.ctl' SCOPE=SPFILE;
ALTER DATABASE MOUNT;
能成功则不用下面的重新进入
(退出数据库重新进入
sqlplus / as sysdba
startup mount
查看control_files路径:
show parameter control_files;
看是否成功
配置归档日志目标:
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/u01/oracle/archive' SCOPE=BOTH;
ALTER SYSTEM SWITCH LOGFILE;
startup mount
alter database open;
再执行ALTER SYSTEM SWITCH LOGFILE;