将数据文件,控制文件,日志文件分别放在不同的目录下,且数据库正常启动。

首先我们通过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;
    
  • 每个查询将返回与相应文件相关的路径和文件名。

请注意,查询结果可能会显示完整的文件路径,或者可能只显示文件名。如果只显示文件名,可以通过在文件名前添加目录路径来构建完整的文件路径。

  1. 创建目录
    首先,需要创建存放数据文件、控制文件和日志文件的目录。可以使用以下命令创建目录:
mkdir -p /u01/app/oracle/oradata/data
mkdir -p /u01/app/oracle/oradata/ctl
mkdir -p /u01/app/oracle/oradata/log
上面的命令需要以管理员权限运行。
  1. 修改参数文件在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;

确认数据库正常运行:
SELECT STATUS FROM V$INSTANCE;
如果输出结果为OPEN,则表示数据库正常运行,且数据文件、控制文件和日志文件已经分别存在不同的目录下。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值