ITPub博客

首页 > 数据库 > Oracle > 转移Oracle日志文件位置

转移Oracle日志文件位置

Oracle 作者:东方友诚 时间:2016-05-26 09:10:36 0 删除 编辑
为了保证数据库日志文件采用多路复用,防止由于磁盘损坏,丢失所有的日志文件,要把日志转移到不同的磁盘位置上。

SQL> select group#,member from v$logfile;

    GROUP# MEMBER
---------- -------------------------------------
         3 D:\ORACLE\ORADATA\DEVDB\REDO03.LOG
         2 D:\ORACLE\ORADATA\DEVDB\REDO02.LOG
         1 D:\ORACLE\ORADATA\DEVDB\REDO01.LOG
目前我的环境下有3组日志,每组中只有一个成员,我下面给每一个组添加一个成员,来模拟把组内
的另一成员迁移到其他磁盘上。

SQL> alter database add logfile member 'D:\ORACLE\ORADATA\DEVDB\REDO01A.LOG' to group 1;

数据库已更改。

SQL> alter database add logfile member 'D:\ORACLE\ORADATA\DEVDB\REDO02A.LOG' to group 2;

数据库已更改。

SQL> alter database add logfile member 'D:\ORACLE\ORADATA\DEVDB\REDO03A.LOG' to group 3;

数据库已更改。

SQL> select group#,member from v$logfile order by 1 ;

    GROUP# MEMBER
---------- -------------------------------------
         1 D:\ORACLE\ORADATA\DEVDB\REDO01.LOG
         1 D:\ORACLE\ORADATA\DEVDB\REDO01A.LOG
         2 D:\ORACLE\ORADATA\DEVDB\REDO02A.LOG
         2 D:\ORACLE\ORADATA\DEVDB\REDO02.LOG
         3 D:\ORACLE\ORADATA\DEVDB\REDO03A.LOG
         3 D:\ORACLE\ORADATA\DEVDB\REDO03.LOG

已选择6行。

环境准备好了,我们开始迁移日志文件到其他磁盘上。实现多路复用。
先一致性关闭数据。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
我们使用OS命令把日志文件拷贝到其他路径下。

C:\Users\Administrator>copy D:\ORACLE\ORADATA\DEVDB\REDO01A.LOG  e:\ORACLE\ORADATA\DEVDB\REDO01A.LOG
已复制         1 个文件。

C:\Users\Administrator>copy D:\ORACLE\ORADATA\DEVDB\REDO02A.LOG  e:\ORACLE\ORADATA\DEVDB\REDO02A.LOG
已复制         1 个文件。

C:\Users\Administrator>copy D:\ORACLE\ORADATA\DEVDB\REDO03A.LOG  e:\ORACLE\ORADATA\DEVDB\REDO03A.LOG
已复制         1 个文件。

SQL> startup mount;
ORACLE 例程已经启动。

Total System Global Area  939495424 bytes
Fixed Size                  2181344 bytes
Variable Size             583010080 bytes
Database Buffers          348127232 bytes
Redo Buffers                6176768 bytes
数据库装载完毕。

--修改数据路径名

SQL> alter database rename file 'D:\ORACLE\ORADATA\DEVDB\REDO03A.LOG'  to 'e:\ORACLE\ORADATA\DEVDB\REDO03A.LOG';

数据库已更改。

SQL> alter database rename file 'D:\ORACLE\ORADATA\DEVDB\REDO02A.LOG'  to 'e:\ORACLE\ORADATA\DEVDB\REDO02A.LOG';

数据库已更改。

SQL> alter database rename file 'D:\ORACLE\ORADATA\DEVDB\REDO01A.LOG'  to 'e:\ORACLE\ORADATA\DEVDB\REDO01A.LOG';

数据库已更改。
--打开数据库

SQL> alter database open;

数据库已更改。


SQL> select group#,member from v$logfile order by 1 ;

    GROUP# MEMBER
---------- --------------------------------------
         1 D:\ORACLE\ORADATA\DEVDB\REDO01.LOG
         1 E:\ORACLE\ORADATA\DEVDB\REDO01A.LOG
         2 E:\ORACLE\ORADATA\DEVDB\REDO02A.LOG
         2 D:\ORACLE\ORADATA\DEVDB\REDO02.LOG
         3 E:\ORACLE\ORADATA\DEVDB\REDO03A.LOG
         3 D:\ORACLE\ORADATA\DEVDB\REDO03.LOG

已选择6行。

对应的日志路径已经修改了。日志中另一个成员放到了E盘上。

本节实验完成了,下节实验实现删除日志成员。
pxboracle@live.com
2014.04.24. 21:30

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30036720/viewspace-2107077/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-11-24

  • 博文量
    144
  • 访问量
    336903