发新话题
打印

ORACLE 10g将数据文件,日志文件和控制文件迁移到不同路径

ORACLE 10g将数据文件,日志文件和控制文件迁移到不同路径

ORACLE 10g将数据文件,日志文件和控制文件迁移到不同路径

ORACLE 10g将数据文件,日志文件和控制文件迁移到不同路径


环境: 联想笔记本 intel pentinum III处理器 256M内存
       win xpsp2+oracle 10g(10.2.0.1)
实验如下:
        数据文件,控制文件和日志文件原路径在:"d:\oracle\10g\orcl",现在要将它们迁移至“d:\oracle\database\orcl”中。具体操作截图如下:

数据文件迁移:
SQL> select name,file# from v$datafile;

NAME
--------------------------------------------------------------------------------

     FILE#
----------
D:\ORACLE\10G\ORCL\SYSTEM01.DBF
         1

D:\ORACLE\10G\ORCL\UNDOTBS01.DBF
         2

D:\ORACLE\10G\ORCL\SYSAUX01.DBF
         3


NAME
--------------------------------------------------------------------------------

     FILE#
----------
D:\ORACLE\10G\ORCL\USERS01.DBF
         4


SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> $move d:\oracle\10g\orcl\system01.dbf d:\oracle\database\orcl\system01.dbf

SQL> $move d:\oracle\10g\orcl\undotbs01.dbf d:\oracle\database\orcl\undotbs01.db
f

SQL> $move d:\oracle\10g\orcl\sysaux01.dbf d:\oracle\database\orcl\sysaux01.dbf

SQL> $move d:\oracle\10g\orcl\users01.dbf d:\oracle\database\orcl\users01.dbf

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

Total System Global Area  167772160 bytes
Fixed Size                  1247900 bytes
Variable Size              92276068 bytes
Database Buffers           71303168 bytes
Redo Buffers                2945024 bytes
数据库装载完毕。
SQL> alter database
  2  rename file
  3  'd:\oracle\10g\orcl\system01.dbf',
  4  'd:\oracle\10g\orcl\undotbs01.dbf',
  5  'd:\oracle\10g\orcl\sysaux01.dbf',
  6  'd:\oracle\10g\orcl\users01.dbf'
  7  to
  8  'd:\oracle\database\orcl\system01.dbf',
  9  'd:\oracle\database\orcl\undotbs01.dbf',
10  'd:\oracle\database\orcl\sysaux01.dbf',
11  'd:\oracle\database\orcl\users01.dbf';

数据库已更改。

SQL> alter database open
  2  ;

数据库已更改。
SQL> select name,status from v$datafile;

NAME
------------------------------------------

STATUS
-------
D:\ORACLE\DATABASE\ORCL\SYSTEM01.DBF
SYSTEM

D:\ORACLE\DATABASE\ORCL\UNDOTBS01.DBF
ONLINE

D:\ORACLE\DATABASE\ORCL\SYSAUX01.DBF
ONLINE


NAME
------------------------------------------

STATUS
-------
D:\ORACLE\DATABASE\ORCL\USERS01.DBF
ONLINE


日志文件迁移


SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TIME
------------- --------------
         1          1          2   52428800          1 NO  CURRENT
       542677 07-11月-06

         2          1          0   52428800          1 YES UNUSED
            0

         3          1          1   52428800          1 YES INACTIVE
       534907 07-11月-06


SQL> select * from v$logfile;

    GROUP# STATUS  TYPE
---------- ------- -------
MEMBER
--------------------------------------------------------------------------------

IS_
---
         3         ONLINE
D:\ORACLE\10G\ORCL\REDO03.LOG
NO

         2         ONLINE
D:\ORACLE\10G\ORCL\REDO02.LOG
NO

    GROUP# STATUS  TYPE
---------- ------- -------
MEMBER
--------------------------------------------------------------------------------

IS_
---

         1         ONLINE
D:\ORACLE\10G\ORCL\REDO01.LOG
NO


SQL> alter system switch logfile;

系统已更改。

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> $ move d:\oracle\10g\orcl\redo01.log d:\oracle\database\orcl\redo01.log

SQL> $ move d:\oracle\10g\orcl\redo02.log d:\oracle\database\orcl\redo02.log

SQL> $ move d:\oracle\10g\orcl\redo03.log d:\oracle\database\orcl\redo03.log

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

Total System Global Area  167772160 bytes
Fixed Size                  1247900 bytes
Variable Size              96470372 bytes
Database Buffers           67108864 bytes
Redo Buffers                2945024 bytes
数据库装载完毕。
SQL> alter database
  2  rename file
  3  'd:\oracle\10g\orcl\redo01.log',
  4  'd:\oracle\10g\orcl\redo02.log',
  5  'd:\oracle\10g\orcl\redo03.log'
  6  to
  7  'd:\oracle\database\orcl\redo01.log',
  8  'd:\oracle\database\orcl\redo02.log',
  9  'd:\oracle\database\orcl\redo03.log';

数据库已更改。

SQL> alter database open
  2  ;

数据库已更改。

SQL> alter system switch logfile;

系统已更改。

SQL> select * from v$logfile;

    GROUP# STATUS  TYPE
---------- ------- -------
MEMBER
--------------------------------------------------------------------------------

IS_
---
         3         ONLINE
D:\ORACLE\DATABASE\ORCL\REDO03.LOG
NO

         2         ONLINE
D:\ORACLE\DATABASE\ORCL\REDO02.LOG
NO

    GROUP# STATUS  TYPE
---------- ------- -------
MEMBER
--------------------------------------------------------------------------------

IS_
---

         1         ONLINE
D:\ORACLE\DATABASE\ORCL\REDO01.LOG
NO


控制文件迁移

将数据库SHUTDOWN,然后修改pfile中的控制文件的路径,以pfile文件启动数据库,
然后create spfile from pfile.最后以spfile启动数据库即可。
发新话题
查看积分策略说明

快速回复主题

选项

[完成后可按 Ctrl+Enter 发布]  预览帖子  恢复数据  清空内容