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

在root用户下创建三个目录存放数据文件

mkdir -p /u01/oracle/data
mkdir -p /u01/oracle/control
mkdir -p /u01/oracle/archive
 

在vi $ORACLE_HOME/dbs/目录下打开init.ora

vi init.ora

 配置以下内容:

control_files = (/u01/oracle/control/control01.ctl, /u01/oracle/control/control02.ctl)
db_create_file_dest = /u01/oracle/data
log_archive_dest_1 = location=/u01/oracle/archive

 复制控制文件到新的存储路径:

可在Oracle中查看控制文件的路径:

SQL>show parameter control_files;

cp /u01/oracle/app/oradata/orcl/control01.ctl /u01/oracle/control
cp /u01/oracle/app/oradata/orcl/control02.ctl /u01/oracle/control

 修改Linux操作系统中的文件夹权限,确保Oracle用户有读写权限:

chmod -R 775 /u01/oracle/data
chmod -R 775 /u01/oracle/control
chmod -R 775 /u01/oracle/archive
chown -R oracle:oinstall /u01/oracle/data
chown -R oracle:oinstall /u01/oracle/control
chown -R oracle:oinstall /u01/oracle/archive

 打开sqlplus工具,以sysdba权限登录到Oracle实例中

sqlplus / as sysdba
卸载旧的控制文件:
STARTUP MOUNT;
ALTER SYSTEM SET CONTROL_FILES='' SCOPE=SPFILE;

 SHUTDOWN IMMEDIATE;

使用新的控制文件重新启动实例:

STARTUP NOMOUNT;

ALTER SYSTEM SET CONTROL_FILES='/u01/oracle/control/control01.ctl', '/u01/oracle/control/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;
如果报错:ora01109
shutdown immediate
如果不行直接shutdown abort

startup mount

alter database open;
再执行ALTER SYSTEM SWITCH LOGFILE;

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值