移动数据文件的方法总结!!!

来源:互联网 发布:卖家淘宝退款流程图 编辑:程序博客网 时间:2024/04/29 22:59

1、使用sql*plus移动数据文件

SQL> select FILE_NAME,ONLINE_STATUS from dba_data_files where FILE_NAME like '%ttb%';FILE_NAME                                                                                            ONLINE_---------------------------------------------------------------------------------------------------- -------/u01/app/oracle/oradata/orcl/ttb1.dbf                                                                ONLINESQL> alter tablespace ttb1 offline;表空间已更改。SQL> ! mv /u01/app/oracle/oradata/orcl/ttb1.dbf /u01/ttb1.dbfSQL> alter tablespace ttb1 rename datafile '/u01/app/oracle/oradata/orcl/ttb1.dbf' to '/u01/ttb1.dbf';表空间已更改。SQL> alter tablespace ttb1 online;表空间已更改。SQL> select FILE_NAME,ONLINE_STATUS from dba_data_files where FILE_NAME like '%ttb%';FILE_NAME                                                                                            ONLINE_---------------------------------------------------------------------------------------------------- -------/u01/ttb1.dbf                                                                                        ONLINE

 

2、使用sql*plus移动数据文件

SQL> select FILE_NAME,ONLINE_STATUS from dba_data_files where FILE_NAME like '%ttb%';FILE_NAME                                                                                            ONLINE_---------------------------------------------------------------------------------------------------- -------/u01/ttb1.dbf                                                                                        ONLINESQL> alter tablespace ttb1 offline;表空间已更改。SQL> ! mv /u01/ttb1.dbf /u01/app/oracle/oradata/orcl/ttb1.dbfSQL> alter database orcl rename file '/u01/ttb1.dbf' to '/u01/app/oracle/oradata/orcl/ttb1.dbf';数据库已更改。SQL> alter tablespace ttb1 online;表空间已更改。SQL> select FILE_NAME,ONLINE_STATUS from dba_data_files where FILE_NAME like '%ttb%';FILE_NAME                                                                                            ONLINE_---------------------------------------------------------------------------------------------------- -------/u01/app/oracle/oradata/orcl/ttb1.dbf                                                                ONLINE


3、使用rman移动数据文件

SQL> select FILE_NAME,ONLINE_STATUS from dba_data_files where FILE_NAME like '%ttb%';FILE_NAME                                                                                            ONLINE_---------------------------------------------------------------------------------------------------- -------/u01/app/oracle/oradata/orcl/ttb1.dbf                                                                ONLINE
[oracle@linux ~]$ rman target /恢复管理器: Release 10.2.0.4.0 - Production on 星期四 10月 6 17:19:24 2011Copyright (c) 1982, 2007, Oracle.  All rights reserved.连接到目标数据库: ORCL (DBID=1289573235)RMAN> backup as copy datafile '/u01/app/oracle/oradata/orcl/ttb1.dbf' format '/u01/ttb1.dbf';启动 backup 于 06-10月-11使用目标数据库控制文件替代恢复目录分配的通道: ORA_DISK_1通道 ORA_DISK_1: sid=149 devtype=DISK通道 ORA_DISK_1: 启动数据文件副本输入数据文件 fno=00014 name=/u01/app/oracle/oradata/orcl/ttb1.dbf输出文件名 = /u01/ttb1.dbf 标记 = TAG20111006T172010 recid = 3 时间戳 = 763838410通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:01完成 backup 于 06-10月-11RMAN> sql "alter tablespace ttb1 offline";sql 语句: alter tablespace ttb1 offlineRMAN> switch datafile '/u01/app/oracle/oradata/orcl/ttb1.dbf' to copy;数据文件 14 已切换成数据文件副本 "/u01/ttb1.dbf"RMAN> sql "alter tablespace ttb1 online";sql 语句: alter tablespace ttb1 onlineMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03009: sql 命令 (default 通道上, 在 10/06/2011 17:21:52 上) 失败RMAN-11003: 在分析/执行 SQL 语句期间失败: alter tablespace ttb1 onlineORA-01113: 文件 14 需要介质恢复ORA-01110: 数据文件 14: '/u01/ttb1.dbf'RMAN> recover datafile 14;启动 recover 于 06-10月-11使用通道 ORA_DISK_1正在开始介质的恢复介质恢复完成, 用时: 00:00:03完成 recover 于 06-10月-11RMAN> sql "alter tablespace ttb1 online";sql 语句: alter tablespace ttb1 online
SQL> select FILE_NAME,ONLINE_STATUS from dba_data_files where FILE_NAME like '%ttb%';FILE_NAME                                                                                            ONLINE_---------------------------------------------------------------------------------------------------- -------/u01/ttb1.dbf                                                                                        ONLINE