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

来源:互联网 发布:蜘蛛侠跑错片场 知乎 编辑:程序博客网 时间:2024/06/13 13:10

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

     数据文件,控制文件和日志文件原路径在:"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启动数据库即可。

ORA-01078 & LRM-00109

 

错误信息:

SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/opt/oracle/products/10.1.0.3/db_1/dbs/initrawdb.ora'


解决办法:

cp $ORACLE_BASE/admin/$ORACLE_SID/pfile/init.ora /opt/oracle/products/10.1.0.3/db_1/dbs/initrawdb.ora

 

 注:Oracle在启动过程中,需要读取参数文件(pfile/spfile)来创建实例.Oracle在启动过程中,寻找参数文件的顺序为:spfile<sid>.ora,spfile.ora,init<sid>.ora.   

 

原创粉丝点击