ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle9i中移动控制文件,数据文件,日志文件

oracle9i中移动控制文件,数据文件,日志文件

原创 Linux操作系统 作者:chen_7733 时间:2008-01-24 14:26:24 0 删除 编辑

oracle9i中移动控制文件,数据文件,日志文件

ORACLE数据库由数据文件,控制文件和联机日志文件三种文件组成。

一.移动数据文件:

ALTER TABLESPACE方法:
用此方法,要求此数据文件既不属于SYSTEM表空间,也不属于含有ACTIVE回滚段或临时段的表空间。
$ sqlplus '/as sysdba'
#把需要移动的数据文件对应的表空间offline
SQL> alter tablespace ipas_acct_data offline   
#把数据文件cp到想要放的目录下。
SQL> !mv /opt/oracle/wacosdata/ipas_acct_data001.dbf    /opt/oracle/nms/oradata/ipas_acct_data001.dbf   
#修改表空间中数据库文件的位置。
SQL> alter tablespace ipas_acct_data rename datafile    '/opt/oracle/wacosdata/ipas_acct_data001.dbf'    to    '/opt/oracle/nms/oradata/ipas_acct_data001.dbf'  
#把表空间online。
SQL> alter tablespace ipas_acct_data online    
#查看修改结果。
SQL> select file_name from dba_data_files where tablespace_name = 'IPAS_ACCT_DATA';     

ALTER DATABASE方法:
用此方法,可以移动任何表空间的数据文件。
$ sqlplus '/as sysdba'
SQL> shutdown immediate
SQL> !mv /opt/oracle/oradata/wacos002.dbf /ora10g/oradata/wacos002.dbf
SQL> startup mount
SQL> alter database rename file '/opt/oracle/oradata/wacos002.dbf' to '/ora10g/oradata/wacos002.dbf';
SQL> alter database open;
SQL> set hea off
SQL> SELECT file_name from dba_data_files where tablespace_name = 'WACOS';

二. 移动控制文件:

$ sqlplus '/as sysdba'
#我是用的spfile启动的,spfile文件不能修改,所以要做这一步。
SQL> create pfile from spfile   
#关闭数据库。
SQL> shutdown immediate      
#cp控制文件到目标位置。
SQL>cp /opt/oracle/oradata/control*    /opt/oracle/oratest/    
修改$ORACLE_HOME/dbs/init$ORACLE_SID.ora 文件中的控制文件的位置。
#启动数据库指定参数文件。
SQL> startup pfile='/opt/oracle/product/9.2.0.4/dbs/init$ORACLE_SID.ora'   
#下次启动数据库是直接就可以用startup启动了。
SQL> create spfile from pfile;     

三. 移动重做日志文件:

$ sqlplus '/as sysdba'
#关闭数据库。
SQL> shutdown immediate     
#cp日志文件到目标位置。
SQL> !cp /opt/oracle/oradata/redo*    /opt/oracle/oratest/    
#让数据库以mount模式启动。
SQL>startup mount;     
#修改数据库中日志文件的位置。
SQL> alter database rename file '/opt/oracle/oradata/redo01.log' to    '/opt/oracle/oratest/redo01.log'
SQL> alter database rename file '/opt/oracle/oradata/redo02.log' to    '/opt/oracle/oratest/redo02.log'
SQL> alter database rename file '/opt/oracle/oradata/redo03.log' to    '/opt/oracle/oratest/redo03.log'
#修改数据库的状态。
SQL> alter database open;    
#查看修改结果。
SQL> select * from v$logfile;

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

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

注册时间:2008-01-24

  • 博文量
    21
  • 访问量
    76123