ITPub博客

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

oracle中移动控制文件、数据文件、日志文件

原创 Linux操作系统 作者:why566 时间:2009-04-16 14:22:51 0 删除 编辑

windows环境中用:host copy 或 host move
unix或linux环境中

一、移动控制文件

第一种:
$ sqlplus '/as sysdba'
SQL> create pfile from spfile
SQL> shutdown immediate
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'
SQL> create spfile from pfile;

第二种:
SQL> select name, value from v$spparameter where name = 'control_files';
SQL> show parameter control_files
SQL> alter system set control_files = '/u02/oradata/control01.ctl','/u03/oradata/control02.ctl','/u04/oradata/control03.ctl' scope = spfile;
SQL> shutdown immediate
SQL> ! mv /u01/app/oracle/oradata/control01.ctl /u02/oradata
SQL> ! mv /u01/app/oracle/oradata/control02.ctl /u03/oradata
SQL> ! mv /u01/app/oracle/oradata/control03.ctl /u04/oradata
SQL> startup
SQL> select name, value from v$spparameter where name = 'control_files';
SQL> show parameter control_files

二、移动数据文件

ALTER TABLESPACE方法(联机状态):
用此方法,除了SYSTEM、SYSAUX、联机撤销表空间以及临时表空间以外。
$ 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> SELECT file_name from dba_data_files where tablespace_name = 'WACOS';

三、移动重做日志文件

$ sqlplus '/as sysdba'
SQL> select group#, member from v$logfile order by group#, member;
# 关闭数据库。
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 group#, member from v$logfile order by group#, member;


alter database add logfile member 'D:\oracle\product\10.2.0\oradata\redo01_2.log' to group 1,
 'D:\oracle\product\10.2.0\oradata\redo02_2.log' to group 2,
 'D:\oracle\product\10.2.0\oradata\redo03_2.log' to group 3;

select group#, status from v$log;
alter system switch logfile;
alter database drop logfile member 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG';
alter database drop logfile member 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG';
alter database drop logfile member 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG';

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

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

注册时间:2008-07-04

  • 博文量
    46
  • 访问量
    88885