Oracle控制文件的移动步骤

来源:互联网 发布:赌博游戏算法 编辑:程序博客网 时间:2024/06/05 15:22


作者:雨竹清风

 

     此方法适用于二进制的初始化参数文件来移动控制文件。如果不确定是pfile还是spfile。首先要以SYSSYSTEM用户登陆数据库,然后用如下的命令:show parameter pfile

1.首先利用数据字典v$controlfile来获取现有控制文件的名字。

SQL> desc v$controlfile

 名称                                      是否为空类型

 ----------------------------------------- -------- ----------------------------

 STATUS                                             VARCHAR2(7)

 NAME                                               VARCHAR2(513)

 IS_RECOVERY_DEST_FILE                              VARCHAR2(3)

 BLOCK_SIZE                                         NUMBER

 FILE_SIZE_BLKS                                     NUMBER

 

SQL> select name from v$controlfile;

 

NAME                                                                            

--------------------------------------------------------------------------------

D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL                             

D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL                             

D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL                             

2.修改SPFILE,使用alter system set control_files命令来改变控制文件的位置。

SQL> alter system set control_files='C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL','c:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL','c:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL' scope=spfile;

 

系统已更改。

3.关闭数据库,准备移动控制文件。

SQL> shutdown immediate;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

4.移动控制文件。当然首先保证所要移动的文件目录存在,不然会出现以下错误。

 

SQL>  host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL

 

SQL>  host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL

 

SQL>  host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL

 

5.启动数据库

SQL> startup

ORACLE 例程已经启动。

 

Total System Global Area  167772160 bytes                                       

Fixed Size                  1247900 bytes                                       

Variable Size              83887460 bytes                                       

Database Buffers           79691776 bytes                                       

Redo Buffers                2945024 bytes                                       

数据库装载完毕。

数据库已经打开。

6.查询是否已经成功移动到所要移动的目录下

SQL> select name from v$controlfile;

 

NAME                                                                            

--------------------------------------------------------------------------------

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL                             

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL                             

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL                             

 

0 0