zoukankan      html  css  js  c++  java
  • 使用RMAN传输表空间! .

    前面提到的传输表空间是手动的,可以看到需要把表空间read only,如果使用rman则不需要,因为rman是利用的备份集。

    可传输表空间实验环境
      OS IP SID 存储方式 表空间 用户
    源数据库 redhat5.4 10.10.10.7 orcl ASM ttb1 user1

    test

    目标数据库 redhat5.4 10.10.10.8 orcl 文件系统 —— user1 ——

    下面给出创建测试环境的脚本(源数据库上面执行的操作)

    1. SQL> show user  
    2. USER 为 "SYS"  
    3. SQL> create tablespace ttb1 datafile '+datadg' size 10m;  
    4.   
    5. 表空间已创建。  
    6.   
    7. SQL> create user user1 identified by user1 default tablespace ttb1;  
    8.   
    9. 用户已创建。  
    10.   
    11. SQL> grant connect,resource to user1;  
    12.   
    13. 授权成功。  
    14.   
    15. SQL> create table user1.test as select * from dba_objects where rownum < 100;  
    16.   
    17. 表已创建。  
    18.   
    19. SQL> conn user1/user1  
    20. 已连接。  
    21. SQL> select * from tab;  
    22.   
    23. TNAME                          TABTYPE  CLUSTERID  
    24. ------------------------------ ------- ----------   
    25. TEST                           TABLE  
    26.   
    27. SQL> select count(*) from test;  
    28.   
    29.   COUNT(*)  
    30. ----------   
    31.         99  
    SQL> show user
    USER 为 "SYS"
    SQL> create tablespace ttb1 datafile '+datadg' size 10m;
    
    表空间已创建。
    
    SQL> create user user1 identified by user1 default tablespace ttb1;
    
    用户已创建。
    
    SQL> grant connect,resource to user1;
    
    授权成功。
    
    SQL> create table user1.test as select * from dba_objects where rownum < 100;
    
    表已创建。
    
    SQL> conn user1/user1
    已连接。
    SQL> select * from tab;
    
    TNAME                          TABTYPE  CLUSTERID
    ------------------------------ ------- ----------
    TEST                           TABLE
    
    SQL> select count(*) from test;
    
      COUNT(*)
    ----------
            99

    可传输表空间实战

    1.确认要传输表空间的平台是否兼容(源数据库和目标数据库上面都一样,因为都是redhat5.4的OS)

    1. SQL> select tp.* from v$transportable_platform tp,v$database d where tp.PLATFORM_NAME = d.PLATFORM_NAME;  
    2.   
    3. PLATFORM_ID PLATFORM_NAME                            ENDIAN_FORMAT  
    4. ----------- ---------------------------------------- --------------   
    5.          10 Linux IA (32-bit)                        Little  
    SQL> select tp.* from v$transportable_platform tp,v$database d where tp.PLATFORM_NAME = d.PLATFORM_NAME;
    
    PLATFORM_ID PLATFORM_NAME                            ENDIAN_FORMAT
    ----------- ---------------------------------------- --------------
             10 Linux IA (32-bit)                        Little


    2.确认传输的表空间是否自包含(源数据库上面执行的操作)

    1. SQL> exec dbms_tts.transport_set_check('ttb1',true,true);  
    2.   
    3. PL/SQL 过程已成功完成。  
    4.   
    5. SQL> select * from transport_set_violations;  
    6.   
    7. 未选定行  
    SQL> exec dbms_tts.transport_set_check('ttb1',true,true);
    
    PL/SQL 过程已成功完成。
    
    SQL> select * from transport_set_violations;
    
    未选定行
    

    3.备份数据库(源数据库上面执行的操作)

    1. RMAN> sql "alter system checkpoint";  
    2.   
    3. sql 语句: alter system checkpoint  
    4.   
    5. RMAN> sql "alter system archive log current";  
    6.   
    7. sql 语句: alter system archive log current  
    8.   
    9. RMAN> sql "alter system switch logfile";  
    10.   
    11. sql 语句: alter system switch logfile  
    12.   
    13. RMAN> backup database;  
    14.   
    15. 启动 backup 于 07-10月-11  
    16. 使用通道 ORA_DISK_1  
    17. 通道 ORA_DISK_1: 启动全部数据文件备份集  
    18. 通道 ORA_DISK_1: 正在指定备份集中的数据文件  
    19. 输入数据文件 fno=00001 name=+DATADG/orcl/datafile/system.260.762322843  
    20. 输入数据文件 fno=00002 name=+DATADG/orcl/datafile/undotbs1.261.762322855  
    21. 输入数据文件 fno=00003 name=+DATADG/orcl/datafile/sysaux.262.762322857  
    22. 输入数据文件 fno=00005 name=+DATADG/orcl/datafile/tb1.267.763910145  
    23. 输入数据文件 fno=00006 name=+DATADG/orcl/datafile/tb2.268.763910201  
    24. 输入数据文件 fno=00007 name=+DATADG/orcl/datafile/ttb1.269.763916007  
    25. 输入数据文件 fno=00004 name=+DATADG/orcl/datafile/users.264.762322865  
    26. 通道 ORA_DISK_1: 正在启动段 1 于 07-10月-11  
    27. 通道 ORA_DISK_1: 已完成段 1 于 07-10月-11  
    28. 段句柄=+FLSHDG/orcl/backupset/2011_10_07/nnndf0_tag20111007t154253_0.262.763918973 标记=TAG20111007T154253 注释=NONE  
    29. 通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:35  
    30. 通道 ORA_DISK_1: 启动全部数据文件备份集  
    31. 通道 ORA_DISK_1: 正在指定备份集中的数据文件  
    32. 备份集中包括当前控制文件  
    33. 在备份集中包含当前的 SPFILE  
    34. 通道 ORA_DISK_1: 正在启动段 1 于 07-10月-11  
    35. 通道 ORA_DISK_1: 已完成段 1 于 07-10月-11  
    36. 段句柄=+FLSHDG/orcl/backupset/2011_10_07/ncsnf0_tag20111007t154253_0.266.763919011 标记=TAG20111007T154253 注释=NONE  
    37. 通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03  
    38. 完成 backup 于 07-10月-11  
    39.   
    40. RMAN> backup archivelog all;  
    41.   
    42. 启动 backup 于 07-10月-11  
    43. 当前日志已存档  
    44. 使用通道 ORA_DISK_1  
    45. 通道 ORA_DISK_1: 正在启动存档日志备份集  
    46. 通道 ORA_DISK_1: 正在指定备份集中的存档日志  
    47. 输入存档日志线程 =1 序列 =29 记录 ID=1 时间戳=762324929  
    48. 输入存档日志线程 =1 序列 =30 记录 ID=2 时间戳=762374199  
    49. 输入存档日志线程 =1 序列 =31 记录 ID=3 时间戳=762886152  
    50. 输入存档日志线程 =1 序列 =32 记录 ID=4 时间戳=763918707  
    51. 输入存档日志线程 =1 序列 =33 记录 ID=5 时间戳=763918939  
    52. 输入存档日志线程 =1 序列 =34 记录 ID=6 时间戳=763918951  
    53. 输入存档日志线程 =1 序列 =35 记录 ID=7 时间戳=763919033  
    54. 通道 ORA_DISK_1: 正在启动段 1 于 07-10月-11  
    55. 通道 ORA_DISK_1: 已完成段 1 于 07-10月-11  
    56. 段句柄=+FLSHDG/orcl/backupset/2011_10_07/annnf0_tag20111007t154353_0.268.763919035 标记=TAG20111007T154353 注释=NONE  
    57. 通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:04  
    58. 完成 backup 于 07-10月-11  
    59.   
    60. RMAN> backup current controlfile;  
    61.   
    62. 启动 backup 于 07-10月-11  
    63. 使用通道 ORA_DISK_1  
    64. 通道 ORA_DISK_1: 启动全部数据文件备份集  
    65. 通道 ORA_DISK_1: 正在指定备份集中的数据文件  
    66. 备份集中包括当前控制文件  
    67. 通道 ORA_DISK_1: 正在启动段 1 于 07-10月-11  
    68. 通道 ORA_DISK_1: 已完成段 1 于 07-10月-11  
    69. 段句柄=+FLSHDG/orcl/backupset/2011_10_07/ncnnf0_tag20111007t154419_0.269.763919061 标记=TAG20111007T154419 注释=NONE  
    70. 通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02  
    71. 完成 backup 于 07-10月-11  
    RMAN> sql "alter system checkpoint";
    
    sql 语句: alter system checkpoint
    
    RMAN> sql "alter system archive log current";
    
    sql 语句: alter system archive log current
    
    RMAN> sql "alter system switch logfile";
    
    sql 语句: alter system switch logfile
    
    RMAN> backup database;
    
    启动 backup 于 07-10月-11
    使用通道 ORA_DISK_1
    通道 ORA_DISK_1: 启动全部数据文件备份集
    通道 ORA_DISK_1: 正在指定备份集中的数据文件
    输入数据文件 fno=00001 name=+DATADG/orcl/datafile/system.260.762322843
    输入数据文件 fno=00002 name=+DATADG/orcl/datafile/undotbs1.261.762322855
    输入数据文件 fno=00003 name=+DATADG/orcl/datafile/sysaux.262.762322857
    输入数据文件 fno=00005 name=+DATADG/orcl/datafile/tb1.267.763910145
    输入数据文件 fno=00006 name=+DATADG/orcl/datafile/tb2.268.763910201
    输入数据文件 fno=00007 name=+DATADG/orcl/datafile/ttb1.269.763916007
    输入数据文件 fno=00004 name=+DATADG/orcl/datafile/users.264.762322865
    通道 ORA_DISK_1: 正在启动段 1 于 07-10月-11
    通道 ORA_DISK_1: 已完成段 1 于 07-10月-11
    段句柄=+FLSHDG/orcl/backupset/2011_10_07/nnndf0_tag20111007t154253_0.262.763918973 标记=TAG20111007T154253 注释=NONE
    通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:35
    通道 ORA_DISK_1: 启动全部数据文件备份集
    通道 ORA_DISK_1: 正在指定备份集中的数据文件
    备份集中包括当前控制文件
    在备份集中包含当前的 SPFILE
    通道 ORA_DISK_1: 正在启动段 1 于 07-10月-11
    通道 ORA_DISK_1: 已完成段 1 于 07-10月-11
    段句柄=+FLSHDG/orcl/backupset/2011_10_07/ncsnf0_tag20111007t154253_0.266.763919011 标记=TAG20111007T154253 注释=NONE
    通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
    完成 backup 于 07-10月-11
    
    RMAN> backup archivelog all;
    
    启动 backup 于 07-10月-11
    当前日志已存档
    使用通道 ORA_DISK_1
    通道 ORA_DISK_1: 正在启动存档日志备份集
    通道 ORA_DISK_1: 正在指定备份集中的存档日志
    输入存档日志线程 =1 序列 =29 记录 ID=1 时间戳=762324929
    输入存档日志线程 =1 序列 =30 记录 ID=2 时间戳=762374199
    输入存档日志线程 =1 序列 =31 记录 ID=3 时间戳=762886152
    输入存档日志线程 =1 序列 =32 记录 ID=4 时间戳=763918707
    输入存档日志线程 =1 序列 =33 记录 ID=5 时间戳=763918939
    输入存档日志线程 =1 序列 =34 记录 ID=6 时间戳=763918951
    输入存档日志线程 =1 序列 =35 记录 ID=7 时间戳=763919033
    通道 ORA_DISK_1: 正在启动段 1 于 07-10月-11
    通道 ORA_DISK_1: 已完成段 1 于 07-10月-11
    段句柄=+FLSHDG/orcl/backupset/2011_10_07/annnf0_tag20111007t154353_0.268.763919035 标记=TAG20111007T154353 注释=NONE
    通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:04
    完成 backup 于 07-10月-11
    
    RMAN> backup current controlfile;
    
    启动 backup 于 07-10月-11
    使用通道 ORA_DISK_1
    通道 ORA_DISK_1: 启动全部数据文件备份集
    通道 ORA_DISK_1: 正在指定备份集中的数据文件
    备份集中包括当前控制文件
    通道 ORA_DISK_1: 正在启动段 1 于 07-10月-11
    通道 ORA_DISK_1: 已完成段 1 于 07-10月-11
    段句柄=+FLSHDG/orcl/backupset/2011_10_07/ncnnf0_tag20111007t154419_0.269.763919061 标记=TAG20111007T154419 注释=NONE
    通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
    完成 backup 于 07-10月-11

    说明:这里使用全库备份,因为除了目标表空间的备份以外,RMAN还需要SYSTEM、SYSAUX以及UNDO表空间的备份,如果任意一个表空间的备份不存在,则就会导致“RMAN-06019: 无法转换表空间名称"TTB1"”的错误。


    4.生成传输集(源数据库上面执行的操作)

    1. RMAN> transport tablespace ttb1 tablespace destination '/u01/td' auxiliary destination '/u01/ad';  
    2.   
    3. RMAN-05026: 警告: 假定以下表空间集适用于指定的时间点  
    4.   
    5. 表空间列表要求具有 UNDO 段  
    6. 表空间 SYSTEM  
    7. 表空间 UNDOTBS1  
    8.   
    9. 使用 SID='hiEo' 创建自动实例  
    10.   
    11. 供自动实例使用的初始化参数:  
    12. db_name=ORCL  
    13. compatible=10.2.0.3.0  
    14. db_block_size=8192  
    15. db_files=200  
    16. db_unique_name=tspitr_ORCL_hiEo  
    17. large_pool_size=1M  
    18. shared_pool_size=110M  
    19. #No auxiliary parameter file used  
    20. db_create_file_dest=/u01/ad  
    21. control_files=/u01/ad/cntrl_tspitr_ORCL_hiEo.f  
    22.   
    23.   
    24. 启动自动实例 ORCL  
    25.   
    26. Oracle 实例已启动  
    27.   
    28. 系统全局区域总计     201326592 字节  
    29.   
    30. Fixed Size                     1266584 字节  
    31. Variable Size                146803816 字节  
    32. Database Buffers              50331648 字节  
    33. Redo Buffers                   2924544 字节  
    34. 自动实例已创建  
    35.   
    36. 内存脚本的内容:  
    37. {  
    38. set the until clause  
    39. set until  scn 973897;  
    40. # restore the controlfile  
    41. restore clone controlfile;  
    42. # mount the controlfile  
    43. sql clone 'alter database mount clone database';  
    44. # archive current online log for tspitr to a resent until time  
    45. sql 'alter system archive log current';  
    46. # avoid unnecessary autobackups for structural changes during TSPITR  
    47. sql 'begin dbms_backup_restore.AutoBackupFlag(FALSE); end;';  
    48. }  
    49. 正在执行内存脚本  
    50.   
    51. 正在执行命令: SET until clause  
    52.   
    53. 启动 restore 于 07-10月-11  
    54. 分配的通道: ORA_AUX_DISK_1  
    55. 通道 ORA_AUX_DISK_1: sid=37 devtype=DISK  
    56.   
    57. 通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集  
    58. 通道 ORA_AUX_DISK_1: 正在还原控制文件  
    59. 通道 ORA_AUX_DISK_1: 正在读取备份片段 +FLSHDG/orcl/backupset/2011_10_07/ncsnf0_tag20111007t154253_0.266.763919011  
    60. 通道 ORA_AUX_DISK_1: 已还原备份片段 1  
    61. 段句柄 = +FLSHDG/orcl/backupset/2011_10_07/ncsnf0_tag20111007t154253_0.266.763919011 标记 = TAG20111007T154253  
    62. 通道 ORA_AUX_DISK_1: 还原完成, 用时: 00:00:18  
    63. 输出文件名=/u01/ad/cntrl_tspitr_ORCL_hiEo.f  
    64. 完成 restore 于 07-10月-11  
    65.   
    66. sql 语句: alter database mount clone database  
    67.   
    68. sql 语句: alter system archive log current  
    69.   
    70. sql 语句: begin dbms_backup_restore.AutoBackupFlag(FALSE); end;  
    71. 释放的通道: ORA_DISK_1  
    72. 释放的通道: ORA_AUX_DISK_1  
    73.   
    74. 内存脚本的内容:  
    75. {  
    76. # generated tablespace point-in-time recovery script  
    77. set the until clause  
    78. set until  scn 973897;  
    79. set an omf destination filename for restore  
    80. set newname for clone datafile  1 to new;  
    81. set an omf destination filename for restore  
    82. set newname for clone datafile  2 to new;  
    83. set an omf destination filename for restore  
    84. set newname for clone datafile  3 to new;  
    85. set an omf destination tempfile  
    86. set newname for clone tempfile  1 to new;  
    87. set a destination filename for restore  
    88. set newname for datafile  7 to   
    89.  "/u01/td/ttb1.269.763916007";  
    90. # rename all tempfiles  
    91. switch clone tempfile all;  
    92. # restore the tablespaces in the recovery set plus the auxilliary tablespaces  
    93. restore clone datafile  1, 2, 3, 7;  
    94. switch clone datafile all;  
    95. #online the datafiles restored or flipped  
    96. sql clone "alter database datafile  1 online";  
    97. #online the datafiles restored or flipped  
    98. sql clone "alter database datafile  2 online";  
    99. #online the datafiles restored or flipped  
    100. sql clone "alter database datafile  3 online";  
    101. #online the datafiles restored or flipped  
    102. sql clone "alter database datafile  7 online";  
    103. # make the controlfile point at the restored datafiles, then recover them  
    104. recover clone database tablespace  "TTB1""SYSTEM""UNDOTBS1""SYSAUX" delete archivelog;  
    105. alter clone database open resetlogs;  
    106. # PLUG HERE the creation of a temporary tablespace if export fails due to lack  
    107. of temporary space.  
    108. For example in Unix these two lines would do that:  
    109. #sql clone "create tablespace aux_tspitr_tmp  
    110. #           datafile ''/tmp/aux_tspitr_tmp.dbf'' size 500K";  
    111. }  
    112. 正在执行内存脚本  
    113.   
    114. 正在执行命令: SET until clause  
    115.   
    116. 正在执行命令: SET NEWNAME  
    117.   
    118. 正在执行命令: SET NEWNAME  
    119.   
    120. 正在执行命令: SET NEWNAME  
    121.   
    122. 正在执行命令: SET NEWNAME  
    123.   
    124. 正在执行命令: SET NEWNAME  
    125.   
    126. 临时文件 1 在控制文件中已重命名为 /u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_temp_%u_.tmp  
    127.   
    128. 启动 restore 于 07-10月-11  
    129. 分配的通道: ORA_AUX_DISK_1  
    130. 通道 ORA_AUX_DISK_1: sid=39 devtype=DISK  
    131.   
    132. 通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集  
    133. 通道 ORA_AUX_DISK_1: 正在指定从备份集还原的数据文件  
    134. 正将数据文件00001还原到/u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_system_%u_.dbf  
    135. 正将数据文件00002还原到/u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_undotbs1_%u_.dbf  
    136. 正将数据文件00003还原到/u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_sysaux_%u_.dbf  
    137. 正将数据文件00007还原到/u01/td/ttb1.269.763916007  
    138. 通道 ORA_AUX_DISK_1: 正在读取备份片段 +FLSHDG/orcl/backupset/2011_10_07/nnndf0_tag20111007t154253_0.262.763918973  
    139. 通道 ORA_AUX_DISK_1: 已还原备份片段 1  
    140. 段句柄 = +FLSHDG/orcl/backupset/2011_10_07/nnndf0_tag20111007t154253_0.262.763918973 标记 = TAG20111007T154253  
    141. 通道 ORA_AUX_DISK_1: 还原完成, 用时: 00:00:36  
    142. 完成 restore 于 07-10月-11  
    143.   
    144. 数据文件 1 已转换成数据文件副本  
    145. 输入数据文件副本 recid=5 stamp=763919178 文件名=/u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_system_78xck70k_.dbf  
    146. 数据文件 2 已转换成数据文件副本  
    147. 输入数据文件副本 recid=6 stamp=763919178 文件名=/u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_undotbs1_78xck72r_.dbf  
    148. 数据文件 3 已转换成数据文件副本  
    149. 输入数据文件副本 recid=7 stamp=763919178 文件名=/u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_sysaux_78xck73h_.dbf  
    150. 数据文件 7 已转换成数据文件副本  
    151. 输入数据文件副本 recid=8 stamp=763919178 文件名=/u01/td/ttb1.269.763916007  
    152.   
    153. sql 语句: alter database datafile  1 online  
    154.   
    155. sql 语句: alter database datafile  2 online  
    156.   
    157. sql 语句: alter database datafile  3 online  
    158.   
    159. sql 语句: alter database datafile  7 online  
    160.   
    161. 启动 recover 于 07-10月-11  
    162. 使用通道 ORA_AUX_DISK_1  
    163.   
    164. 正在开始介质的恢复  
    165.   
    166. 存档日志线程 1 序列 35 已作为文件 +FLSHDG/orcl/archivelog/2011_10_07/thread_1_seq_35.267.763919033 存在于磁盘上  
    167. 存档日志文件名 =+FLSHDG/orcl/archivelog/2011_10_07/thread_1_seq_35.267.763919033 线程 =1 序列 =35  
    168. 介质恢复完成, 用时: 00:00:02  
    169. 完成 recover 于 07-10月-11  
    170.   
    171. 数据库已打开  
    172.   
    173. 内存脚本的内容:  
    174. {  
    175. #mark read only the tablespace that will be exported  
    176. sql clone "alter tablespace TTB1 read only";  
    177. create directory for datapump export  
    178. sql clone "create or replace directory STREAMS_DIROBJ_DPDIR as ''  
    179. /u01/td''";  
    180. # export the tablespaces in the recovery set  
    181. host 'expdp userid="/@(DESCRIPTION=(ADDRESS=(PROTOCOL=beq)(PROGRAM=/u01/app/oracle/product/10.2.0/db_1/bin/oracle)(ARGV0=oraclehiEo)(ARGS=^'(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))^')(ENVS=^'ORACLE_SID=hiEo^'))(CONNECT_DATA=(SID=hiEo))) as sysdba" transport_tablespaces=  
    182.  TTB1 dumpfile=  
    183. dmpfile.dmp directory=  
    184. STREAMS_DIROBJ_DPDIR logfile=  
    185. explog.log';  
    186. }  
    187. 正在执行内存脚本  
    188.   
    189. sql 语句: alter tablespace TTB1 read only  
    190.   
    191. sql 语句: create or replace directory STREAMS_DIROBJ_DPDIR as ''/u01/td''  
    192.   
    193.   
    194. Export: Release 10.2.0.4.0 - Production on 星期五, 07 10月, 2011 15:46:44  
    195.   
    196. Copyright (c) 2003, 2007, Oracle.  All rights reserved.  
    197.   
    198. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production  
    199. With the Partitioning, OLAP, Data Mining and Real Application Testing options  
    200. 启动 "SYS"."SYS_EXPORT_TRANSPORTABLE_01":  userid="/********@(DESCRIPTION=(ADDRESS=(PROTOCOL=beq)(PROGRAM=/u01/app/oracle/product/10.2.0/db_1/bin/oracle)(ARGV0=oraclehiEo)(ARGS=(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))))(ENVS=ORACLE_SID=hiEo))(CONNECT_DATA=(SID=hiEo))) AS SYSDBA" transport_tablespaces= TTB1 dumpfile=dmpfile.dmp directory=STREAMS_DIROBJ_DPDIR logfile=explog.log   
    201. 处理对象类型 TRANSPORTABLE_EXPORT/PLUGTS_BLK  
    202. 处理对象类型 TRANSPORTABLE_EXPORT/TABLE  
    203. 处理对象类型 TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK  
    204. 已成功加载/卸载了主表 "SYS"."SYS_EXPORT_TRANSPORTABLE_01"   
    205. ******************************************************************************  
    206. SYS.SYS_EXPORT_TRANSPORTABLE_01 的转储文件集为:  
    207.   /u01/td/dmpfile.dmp  
    208. 作业 "SYS"."SYS_EXPORT_TRANSPORTABLE_01" 已于 15:47:14 成功完成  
    209.   
    210. 主机命令完成  
    211. /*  
    212.    The following command may be used to import the tablespaces.  
    213.    Substitute values for <logon> and <directory>.  
    214.    impdp <logon> directory=<directory> dumpfile= 'dmpfile.dmp' transport_datafiles= /u01/td/ttb1.269.763916007   
    215. */  
    216. --------------------------------------------------------------   
    217. -- Start of sample PL/SQL script for importing the tablespaces   
    218. --------------------------------------------------------------   
    219. -- creating directory objects   
    220. CREATE DIRECTORY STREAMS$DIROBJ$1 AS  '/u01/td/';  
    221. CREATE DIRECTORY STREAMS$DIROBJ$DPDIR AS  '/u01/td';  
    222. /* PL/SQL Script to import the exported tablespaces */  
    223. DECLARE  
    224.   -- the datafiles   
    225.   tbs_files     dbms_streams_tablespace_adm.file_set;  
    226.   cvt_files     dbms_streams_tablespace_adm.file_set;  
    227.   -- the dumpfile to import   
    228.   dump_file     dbms_streams_tablespace_adm.file;  
    229.   dp_job_name   VARCHAR2(30) := NULL;  
    230.   -- names of tablespaces that were imported   
    231.   ts_names       dbms_streams_tablespace_adm.tablespace_set;  
    232. BEGIN  
    233.   -- dump file name and location   
    234.   dump_file.file_name :=  'dmpfile.dmp';  
    235.   dump_file.directory_object := 'STREAMS$DIROBJ$DPDIR';  
    236.   -- forming list of datafiles for import   
    237.   tbs_files( 1).file_name :=  'ttb1.269.763916007';  
    238.   tbs_files( 1).directory_object :=  'STREAMS$DIROBJ$1';  
    239.   -- import tablespaces   
    240.   dbms_streams_tablespace_adm.attach_tablespaces(  
    241.     datapump_job_name      => dp_job_name,  
    242.     dump_file              => dump_file,  
    243.     tablespace_files       => tbs_files,  
    244.     converted_files        => cvt_files,  
    245.     tablespace_names       => ts_names);  
    246.   -- output names of imported tablespaces   
    247.   IF ts_names IS NOT NULL AND ts_names.first IS NOT NULL THEN  
    248.     FOR i IN ts_names.first .. ts_names.last LOOP  
    249.       dbms_output.put_line('imported tablespace '|| ts_names(i));  
    250.     END LOOP;  
    251.   END IF;  
    252. END;  
    253. /  
    254. -- dropping directory objects   
    255. DROP DIRECTORY STREAMS$DIROBJ$1;  
    256. DROP DIRECTORY STREAMS$DIROBJ$DPDIR;  
    257. --------------------------------------------------------------   
    258. -- End of sample PL/SQL script   
    259. --------------------------------------------------------------   
    260.   
    261. 删除自动实例  
    262. 关闭自动实例   
    263. Oracle 实例已关闭  
    264. 自动实例已删除  
    265. 已删除辅助实例文件 /u01/ad/cntrl_tspitr_ORCL_hiEo.f  
    266. 已删除辅助实例文件 /u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_system_78xck70k_.dbf  
    267. 已删除辅助实例文件 /u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_undotbs1_78xck72r_.dbf  
    268. 已删除辅助实例文件 /u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_sysaux_78xck73h_.dbf  
    269. 已删除辅助实例文件 /u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_temp_78xclrd5_.tmp  
    270. 已删除辅助实例文件 /u01/ad/TSPITR_ORCL_HIEO/onlinelog/o1_mf_1_78xclmkj_.log  
    271. 已删除辅助实例文件 /u01/ad/TSPITR_ORCL_HIEO/onlinelog/o1_mf_2_78xclnjl_.log  
    272. 已删除辅助实例文件 /u01/ad/TSPITR_ORCL_HIEO/onlinelog/o1_mf_3_78xclnxc_.log  
    RMAN> transport tablespace ttb1 tablespace destination '/u01/td' auxiliary destination '/u01/ad';
    
    RMAN-05026: 警告: 假定以下表空间集适用于指定的时间点
    
    表空间列表要求具有 UNDO 段
    表空间 SYSTEM
    表空间 UNDOTBS1
    
    使用 SID='hiEo' 创建自动实例
    
    供自动实例使用的初始化参数:
    db_name=ORCL
    compatible=10.2.0.3.0
    db_block_size=8192
    db_files=200
    db_unique_name=tspitr_ORCL_hiEo
    large_pool_size=1M
    shared_pool_size=110M
    #No auxiliary parameter file used
    db_create_file_dest=/u01/ad
    control_files=/u01/ad/cntrl_tspitr_ORCL_hiEo.f
    
    
    启动自动实例 ORCL
    
    Oracle 实例已启动
    
    系统全局区域总计     201326592 字节
    
    Fixed Size                     1266584 字节
    Variable Size                146803816 字节
    Database Buffers              50331648 字节
    Redo Buffers                   2924544 字节
    自动实例已创建
    
    内存脚本的内容:
    {
    # set the until clause
    set until  scn 973897;
    # restore the controlfile
    restore clone controlfile;
    # mount the controlfile
    sql clone 'alter database mount clone database';
    # archive current online log for tspitr to a resent until time
    sql 'alter system archive log current';
    # avoid unnecessary autobackups for structural changes during TSPITR
    sql 'begin dbms_backup_restore.AutoBackupFlag(FALSE); end;';
    }
    正在执行内存脚本
    
    正在执行命令: SET until clause
    
    启动 restore 于 07-10月-11
    分配的通道: ORA_AUX_DISK_1
    通道 ORA_AUX_DISK_1: sid=37 devtype=DISK
    
    通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集
    通道 ORA_AUX_DISK_1: 正在还原控制文件
    通道 ORA_AUX_DISK_1: 正在读取备份片段 +FLSHDG/orcl/backupset/2011_10_07/ncsnf0_tag20111007t154253_0.266.763919011
    通道 ORA_AUX_DISK_1: 已还原备份片段 1
    段句柄 = +FLSHDG/orcl/backupset/2011_10_07/ncsnf0_tag20111007t154253_0.266.763919011 标记 = TAG20111007T154253
    通道 ORA_AUX_DISK_1: 还原完成, 用时: 00:00:18
    输出文件名=/u01/ad/cntrl_tspitr_ORCL_hiEo.f
    完成 restore 于 07-10月-11
    
    sql 语句: alter database mount clone database
    
    sql 语句: alter system archive log current
    
    sql 语句: begin dbms_backup_restore.AutoBackupFlag(FALSE); end;
    释放的通道: ORA_DISK_1
    释放的通道: ORA_AUX_DISK_1
    
    内存脚本的内容:
    {
    # generated tablespace point-in-time recovery script
    # set the until clause
    set until  scn 973897;
    # set an omf destination filename for restore
    set newname for clone datafile  1 to new;
    # set an omf destination filename for restore
    set newname for clone datafile  2 to new;
    # set an omf destination filename for restore
    set newname for clone datafile  3 to new;
    # set an omf destination tempfile
    set newname for clone tempfile  1 to new;
    # set a destination filename for restore
    set newname for datafile  7 to 
     "/u01/td/ttb1.269.763916007";
    # rename all tempfiles
    switch clone tempfile all;
    # restore the tablespaces in the recovery set plus the auxilliary tablespaces
    restore clone datafile  1, 2, 3, 7;
    switch clone datafile all;
    #online the datafiles restored or flipped
    sql clone "alter database datafile  1 online";
    #online the datafiles restored or flipped
    sql clone "alter database datafile  2 online";
    #online the datafiles restored or flipped
    sql clone "alter database datafile  3 online";
    #online the datafiles restored or flipped
    sql clone "alter database datafile  7 online";
    # make the controlfile point at the restored datafiles, then recover them
    recover clone database tablespace  "TTB1", "SYSTEM", "UNDOTBS1", "SYSAUX" delete archivelog;
    alter clone database open resetlogs;
    # PLUG HERE the creation of a temporary tablespace if export fails due to lack
    # of temporary space.
    # For example in Unix these two lines would do that:
    #sql clone "create tablespace aux_tspitr_tmp
    #           datafile ''/tmp/aux_tspitr_tmp.dbf'' size 500K";
    }
    正在执行内存脚本
    
    正在执行命令: SET until clause
    
    正在执行命令: SET NEWNAME
    
    正在执行命令: SET NEWNAME
    
    正在执行命令: SET NEWNAME
    
    正在执行命令: SET NEWNAME
    
    正在执行命令: SET NEWNAME
    
    临时文件 1 在控制文件中已重命名为 /u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_temp_%u_.tmp
    
    启动 restore 于 07-10月-11
    分配的通道: ORA_AUX_DISK_1
    通道 ORA_AUX_DISK_1: sid=39 devtype=DISK
    
    通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集
    通道 ORA_AUX_DISK_1: 正在指定从备份集还原的数据文件
    正将数据文件00001还原到/u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_system_%u_.dbf
    正将数据文件00002还原到/u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_undotbs1_%u_.dbf
    正将数据文件00003还原到/u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_sysaux_%u_.dbf
    正将数据文件00007还原到/u01/td/ttb1.269.763916007
    通道 ORA_AUX_DISK_1: 正在读取备份片段 +FLSHDG/orcl/backupset/2011_10_07/nnndf0_tag20111007t154253_0.262.763918973
    通道 ORA_AUX_DISK_1: 已还原备份片段 1
    段句柄 = +FLSHDG/orcl/backupset/2011_10_07/nnndf0_tag20111007t154253_0.262.763918973 标记 = TAG20111007T154253
    通道 ORA_AUX_DISK_1: 还原完成, 用时: 00:00:36
    完成 restore 于 07-10月-11
    
    数据文件 1 已转换成数据文件副本
    输入数据文件副本 recid=5 stamp=763919178 文件名=/u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_system_78xck70k_.dbf
    数据文件 2 已转换成数据文件副本
    输入数据文件副本 recid=6 stamp=763919178 文件名=/u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_undotbs1_78xck72r_.dbf
    数据文件 3 已转换成数据文件副本
    输入数据文件副本 recid=7 stamp=763919178 文件名=/u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_sysaux_78xck73h_.dbf
    数据文件 7 已转换成数据文件副本
    输入数据文件副本 recid=8 stamp=763919178 文件名=/u01/td/ttb1.269.763916007
    
    sql 语句: alter database datafile  1 online
    
    sql 语句: alter database datafile  2 online
    
    sql 语句: alter database datafile  3 online
    
    sql 语句: alter database datafile  7 online
    
    启动 recover 于 07-10月-11
    使用通道 ORA_AUX_DISK_1
    
    正在开始介质的恢复
    
    存档日志线程 1 序列 35 已作为文件 +FLSHDG/orcl/archivelog/2011_10_07/thread_1_seq_35.267.763919033 存在于磁盘上
    存档日志文件名 =+FLSHDG/orcl/archivelog/2011_10_07/thread_1_seq_35.267.763919033 线程 =1 序列 =35
    介质恢复完成, 用时: 00:00:02
    完成 recover 于 07-10月-11
    
    数据库已打开
    
    内存脚本的内容:
    {
    #mark read only the tablespace that will be exported
    sql clone "alter tablespace TTB1 read only";
    # create directory for datapump export
    sql clone "create or replace directory STREAMS_DIROBJ_DPDIR as ''
    /u01/td''";
    # export the tablespaces in the recovery set
    host 'expdp userid="/@(DESCRIPTION=(ADDRESS=(PROTOCOL=beq)(PROGRAM=/u01/app/oracle/product/10.2.0/db_1/bin/oracle)(ARGV0=oraclehiEo)(ARGS=^'(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))^')(ENVS=^'ORACLE_SID=hiEo^'))(CONNECT_DATA=(SID=hiEo))) as sysdba" transport_tablespaces=
     TTB1 dumpfile=
    dmpfile.dmp directory=
    STREAMS_DIROBJ_DPDIR logfile=
    explog.log';
    }
    正在执行内存脚本
    
    sql 语句: alter tablespace TTB1 read only
    
    sql 语句: create or replace directory STREAMS_DIROBJ_DPDIR as ''/u01/td''
    
    
    Export: Release 10.2.0.4.0 - Production on 星期五, 07 10月, 2011 15:46:44
    
    Copyright (c) 2003, 2007, Oracle.  All rights reserved.
    
    连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    启动 "SYS"."SYS_EXPORT_TRANSPORTABLE_01":  userid="/********@(DESCRIPTION=(ADDRESS=(PROTOCOL=beq)(PROGRAM=/u01/app/oracle/product/10.2.0/db_1/bin/oracle)(ARGV0=oraclehiEo)(ARGS=(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))))(ENVS=ORACLE_SID=hiEo))(CONNECT_DATA=(SID=hiEo))) AS SYSDBA" transport_tablespaces= TTB1 dumpfile=dmpfile.dmp directory=STREAMS_DIROBJ_DPDIR logfile=explog.log 
    处理对象类型 TRANSPORTABLE_EXPORT/PLUGTS_BLK
    处理对象类型 TRANSPORTABLE_EXPORT/TABLE
    处理对象类型 TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
    已成功加载/卸载了主表 "SYS"."SYS_EXPORT_TRANSPORTABLE_01" 
    ******************************************************************************
    SYS.SYS_EXPORT_TRANSPORTABLE_01 的转储文件集为:
      /u01/td/dmpfile.dmp
    作业 "SYS"."SYS_EXPORT_TRANSPORTABLE_01" 已于 15:47:14 成功完成
    
    主机命令完成
    /*
       The following command may be used to import the tablespaces.
       Substitute values for <logon> and <directory>.
       impdp <logon> directory=<directory> dumpfile= 'dmpfile.dmp' transport_datafiles= /u01/td/ttb1.269.763916007 
    */
    --------------------------------------------------------------
    -- Start of sample PL/SQL script for importing the tablespaces
    --------------------------------------------------------------
    -- creating directory objects
    CREATE DIRECTORY STREAMS$DIROBJ$1 AS  '/u01/td/';
    CREATE DIRECTORY STREAMS$DIROBJ$DPDIR AS  '/u01/td';
    /* PL/SQL Script to import the exported tablespaces */
    DECLARE
      -- the datafiles
      tbs_files     dbms_streams_tablespace_adm.file_set;
      cvt_files     dbms_streams_tablespace_adm.file_set;
      -- the dumpfile to import
      dump_file     dbms_streams_tablespace_adm.file;
      dp_job_name   VARCHAR2(30) := NULL;
      -- names of tablespaces that were imported
      ts_names       dbms_streams_tablespace_adm.tablespace_set;
    BEGIN
      -- dump file name and location
      dump_file.file_name :=  'dmpfile.dmp';
      dump_file.directory_object := 'STREAMS$DIROBJ$DPDIR';
      -- forming list of datafiles for import
      tbs_files( 1).file_name :=  'ttb1.269.763916007';
      tbs_files( 1).directory_object :=  'STREAMS$DIROBJ$1';
      -- import tablespaces
      dbms_streams_tablespace_adm.attach_tablespaces(
        datapump_job_name      => dp_job_name,
        dump_file              => dump_file,
        tablespace_files       => tbs_files,
        converted_files        => cvt_files,
        tablespace_names       => ts_names);
      -- output names of imported tablespaces
      IF ts_names IS NOT NULL AND ts_names.first IS NOT NULL THEN
        FOR i IN ts_names.first .. ts_names.last LOOP
          dbms_output.put_line('imported tablespace '|| ts_names(i));
        END LOOP;
      END IF;
    END;
    /
    -- dropping directory objects
    DROP DIRECTORY STREAMS$DIROBJ$1;
    DROP DIRECTORY STREAMS$DIROBJ$DPDIR;
    --------------------------------------------------------------
    -- End of sample PL/SQL script
    --------------------------------------------------------------
    
    删除自动实例
    关闭自动实例 
    Oracle 实例已关闭
    自动实例已删除
    已删除辅助实例文件 /u01/ad/cntrl_tspitr_ORCL_hiEo.f
    已删除辅助实例文件 /u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_system_78xck70k_.dbf
    已删除辅助实例文件 /u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_undotbs1_78xck72r_.dbf
    已删除辅助实例文件 /u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_sysaux_78xck73h_.dbf
    已删除辅助实例文件 /u01/ad/TSPITR_ORCL_HIEO/datafile/o1_mf_temp_78xclrd5_.tmp
    已删除辅助实例文件 /u01/ad/TSPITR_ORCL_HIEO/onlinelog/o1_mf_1_78xclmkj_.log
    已删除辅助实例文件 /u01/ad/TSPITR_ORCL_HIEO/onlinelog/o1_mf_2_78xclnjl_.log
    已删除辅助实例文件 /u01/ad/TSPITR_ORCL_HIEO/onlinelog/o1_mf_3_78xclnxc_.log

    说明:可以看见“/u01/ad/”目录下面的东西ramn最后自动删除了的,这个目录只是一个临时目录的作用。查看一下“/u01/td/”目录

    1. [oracle@linux td]$ pwd  
    2. /u01/td  
    3. [oracle@linux td]$ ll  
    4. 总计 10352  
    5. -rw-r----- 1 oracle oinstall    77824 10-07 15:47 dmpfile.dmp   
    6. -rw-r--r-- 1 oracle oinstall     1110 10-07 15:47 explog.log   
    7. -rw-r--r-- 1 oracle oinstall     2042 10-07 15:47 impscrpt.sql   
    8. -rw-r----- 1 oracle oinstall 10493952 10-07 15:46 ttb1.269.763916007  
    [oracle@linux td]$ pwd
    /u01/td
    [oracle@linux td]$ ll
    总计 10352
    -rw-r----- 1 oracle oinstall    77824 10-07 15:47 dmpfile.dmp
    -rw-r--r-- 1 oracle oinstall     1110 10-07 15:47 explog.log
    -rw-r--r-- 1 oracle oinstall     2042 10-07 15:47 impscrpt.sql
    -rw-r----- 1 oracle oinstall 10493952 10-07 15:46 ttb1.269.763916007

      impscrpt.sql --元数据信息,目标数据库必须存在相应的对象属主,数据文件路径不一致还要修改脚本。
      dmpfile.dmp --也是元数据信息,如果使用dump文件导入元数据信息则就没有上面的限制了。
      ttb1.269.763916007 --数据文件,可以发现生成的数据文件和原来的数据文件一模一样。
      explog.log --导出操作的日志文件。

    5.转换字节顺序,如果两个平台的字节顺序不一样,中间需要一个转换过程,可以使用rman。(可选操作,这里并没有执行。)

    1. RMAN> convert tablespace books to platform 'Microsoft Windows IA (32-bit)' format '/tmp/%N_%F';    
    2. RMAN> convert datafile '/tmp/BOOKS_5' db_file_name_convert '/tmp/BOOKS_5','/tmp/books01.dbf';    
    RMAN> convert tablespace books to platform 'Microsoft Windows IA (32-bit)' format '/tmp/%N_%F';  
    RMAN> convert datafile '/tmp/BOOKS_5' db_file_name_convert '/tmp/BOOKS_5','/tmp/books01.dbf';  
    

    说明:这就是第一步检查的目的,虽然这里并不需要转换。这里给出的只是转换的方法。

    6.复制/u01/td目录和数据文件到目标数据库/u01/td(目标数据库上面执行的操作)

    1. [root@linux ~]# cd /u01/  
    2. [root@linux u01]# chown -R oracle:oinstall td/  
    3. [root@linux u01]# cd td/  
    4. [root@linux td]# ll  
    5. 总计 10352  
    6. -rw-r--r-- 1 oracle oinstall    77824 10-06 15:50 dmpfile.dmp   
    7. -rw-r--r-- 1 oracle oinstall     1110 10-06 15:50 explog.log   
    8. -rw-r--r-- 1 oracle oinstall     2042 10-06 15:50 impscrpt.sql   
    9. -rw-r--r-- 1 oracle oinstall 10493952 10-06 15:50 ttb1.269.763916007  
    [root@linux ~]# cd /u01/
    [root@linux u01]# chown -R oracle:oinstall td/
    [root@linux u01]# cd td/
    [root@linux td]# ll
    总计 10352
    -rw-r--r-- 1 oracle oinstall    77824 10-06 15:50 dmpfile.dmp
    -rw-r--r-- 1 oracle oinstall     1110 10-06 15:50 explog.log
    -rw-r--r-- 1 oracle oinstall     2042 10-06 15:50 impscrpt.sql
    -rw-r--r-- 1 oracle oinstall 10493952 10-06 15:50 ttb1.269.763916007
     
     
    7.检查源表空间和目标数据库的块大小是否一样

    源数据库

    1. SQL> select block_size from dba_tablespaces where tablespace_name = 'TTB1';    
    2.     
    3. BLOCK_SIZE    
    4. ----------      
    5.       8192    
    6.       
    7. SQL> show parameter db_block_size    
    8.     
    9. NAME                                 TYPE        VALUE    
    10. ------------------------------------ ----------- ------------------------------      
    11. db_block_size                        integer     8192    
    SQL> select block_size from dba_tablespaces where tablespace_name = 'TTB1';  
      
    BLOCK_SIZE  
    ----------   
          8192  
        
    SQL> show parameter db_block_size  
      
    NAME                                 TYPE        VALUE  
    ------------------------------------ ----------- ------------------------------   
    db_block_size                        integer     8192  
    
    目标数据库
    1. SQL> show parameter db_block_size    
    2.     
    3. NAME                                 TYPE        VALUE    
    4. ------------------------------------ ----------- ------------------------------      
    5. db_block_size                        integer     8192    
    SQL> show parameter db_block_size  
      
    NAME                                 TYPE        VALUE  
    ------------------------------------ ----------- ------------------------------   
    db_block_size                        integer     8192  
    

    8.导入元数据(目标数据库上面执行的操作)
     a.使用asm存储体系,使用dump导入
       convert datafile '/opt/tts/td/tts.288.755520393' format '+datagroup';
       如果是使用的asm则需要把os上面的文件放到asm里面,上面这条命令可以在os和asm之间转换数据文件。
       impdp system/oracle@orcl directory=dp dumpfile=dmpfile.dmp nologfile=y transport_datafiles='+DATAGROUP/ORCL/DATAFILE/TTS.290.755528197';
     b.使用文件系统,使用dump导入。
       impdp system/oracle@orcl directory=dp dumpfile=dmpfile.dmp nologfile=y transport_datafiles='/opt/oradata/tts.288.755520393';
     c.@/opt/tts/td/impsctpt.sql
    a、b、c选择一个执行就可以拉,这里我选择c
    首先创建用户
    1. SQL> show user  
    2. USER 为 "SYS"  
    3. SQL> create user user1 identified by user1;  
    4.   
    5. 用户已创建。  
    6.   
    7. SQL> grant connect,resource to user1;  
    8.   
    9. 授权成功。  
    SQL> show user
    USER 为 "SYS"
    SQL> create user user1 identified by user1;
    
    用户已创建。
    
    SQL> grant connect,resource to user1;
    
    授权成功。
    运行脚本
    1. SQL> @/u01/td/impscrpt.sql  
    2.   
    3. 目录已创建。  
    4.   
    5.   
    6. 目录已创建。  
    7.   
    8.   
    9. PL/SQL 过程已成功完成。  
    10.   
    11.   
    12. 目录已删除。  
    13.   
    14.   
    15. 目录已删除。  
    SQL> @/u01/td/impscrpt.sql
    
    目录已创建。
    
    
    目录已创建。
    
    
    PL/SQL 过程已成功完成。
    
    
    目录已删除。
    
    
    目录已删除。
    1. SQL> show user  
    2. USER 为 "SYS"  
    3. SQL> alter user user1 default tablespace ttb1;  
    4.   
    5. 用户已更改。  
    SQL> show user
    USER 为 "SYS"
    SQL> alter user user1 default tablespace ttb1;
    
    用户已更改。
     
    9.刚导入的表空间默认是read-only 状态,将表空间更改为read write(目标数据库执行)
    1. SQL> show user  
    2. USER 为 "SYS"  
    3. SQL> select tablespace_name,status from dba_tablespaces where tablespace_name = 'TTB1';  
    4.   
    5. TABLESPACE_NAME                STATUS  
    6. ------------------------------ ---------   
    7. TTB1                           READ ONLY  
    8.   
    9. SQL> alter tablespace ttb1 read write;  
    10.   
    11. 表空间已更改。  
    12.   
    13. SQL> select tablespace_name,status from dba_tablespaces where tablespace_name = 'TTB1';  
    14.   
    15. TABLESPACE_NAME                STATUS  
    16. ------------------------------ ---------   
    17. TTB1                           ONLINE  
    SQL> show user
    USER 为 "SYS"
    SQL> select tablespace_name,status from dba_tablespaces where tablespace_name = 'TTB1';
    
    TABLESPACE_NAME                STATUS
    ------------------------------ ---------
    TTB1                           READ ONLY
    
    SQL> alter tablespace ttb1 read write;
    
    表空间已更改。
    
    SQL> select tablespace_name,status from dba_tablespaces where tablespace_name = 'TTB1';
    
    TABLESPACE_NAME                STATUS
    ------------------------------ ---------
    TTB1                           ONLINE
    1. SQL> conn user1/user1  
    2. 已连接。  
    3. SQL> select * from tab;  
    4.   
    5. TNAME                          TABTYPE  CLUSTERID  
    6. ------------------------------ ------- ----------   
    7. TEST                           TABLE  
    8.   
    9. SQL> select count(*) from test;  
    10.   
    11.   COUNT(*)  
    12. ----------   
    13.         99  
    SQL> conn user1/user1
    已连接。
    SQL> select * from tab;
    
    TNAME                          TABTYPE  CLUSTERID
    ------------------------------ ------- ----------
    TEST                           TABLE
    
    SQL> select count(*) from test;
    
      COUNT(*)
    ----------
            99
     
    10.规范数据文件名字(目标数据库执行)
    可以看见导入的数据文件的存放路径和名字不太规范
    1. USER 为 "SYS"  
    2. SQL> select file_name from dba_data_files;  
    3.   
    4. FILE_NAME  
    5. -------------------------------------------------------------------   
    6. /u01/app/oracle/oradata/orcl/system01.dbf  
    7. /u01/app/oracle/oradata/orcl/undotbs01.dbf  
    8. /u01/app/oracle/oradata/orcl/sysaux01.dbf  
    9. /u01/app/oracle/oradata/orcl/users01.dbf  
    10. /u01/app/oracle/oradata/orcl/test01.dbf  
    11. /u01/app/oracle/oradata/orcl/perfstat01.dba  
    12. /u01/app/oracle/oradata/orcl/undo01.dbf  
    13. /u01/app/oracle/oradata/orcl/tbspart01.dbf  
    14. /u01/app/oracle/oradata/orcl/tbspart02.dbf  
    15. /u01/app/oracle/oradata/orcl/tbspart03.dbf  
    16. /u01/app/oracle/oradata/orcl/tbspart04.dbf  
    17.   
    18. FILE_NAME  
    19. --------------------------------------------------------------------   
    20. /u01/app/oracle/oradata/orcl/tb1.dbf  
    21. /u01/app/oracle/oradata/orcl/tb2.dbf  
    22. /u01/td/ttb1.269.763916007  
    23.   
    24. 已选择14行。  
    USER 为 "SYS"
    SQL> select file_name from dba_data_files;
    
    FILE_NAME
    -------------------------------------------------------------------
    /u01/app/oracle/oradata/orcl/system01.dbf
    /u01/app/oracle/oradata/orcl/undotbs01.dbf
    /u01/app/oracle/oradata/orcl/sysaux01.dbf
    /u01/app/oracle/oradata/orcl/users01.dbf
    /u01/app/oracle/oradata/orcl/test01.dbf
    /u01/app/oracle/oradata/orcl/perfstat01.dba
    /u01/app/oracle/oradata/orcl/undo01.dbf
    /u01/app/oracle/oradata/orcl/tbspart01.dbf
    /u01/app/oracle/oradata/orcl/tbspart02.dbf
    /u01/app/oracle/oradata/orcl/tbspart03.dbf
    /u01/app/oracle/oradata/orcl/tbspart04.dbf
    
    FILE_NAME
    --------------------------------------------------------------------
    /u01/app/oracle/oradata/orcl/tb1.dbf
    /u01/app/oracle/oradata/orcl/tb2.dbf
    /u01/td/ttb1.269.763916007
    
    已选择14行。
    使用rman移动数据库文件
    1. RMAN> backup as copy datafile '/u01/td/ttb1.269.763916007' format '/u01/app/oracle/oradata/orcl/ttb1.dbf';  
    2.   
    3. 启动 backup 于 06-10月-11  
    4. 使用目标数据库控制文件替代恢复目录  
    5. 分配的通道: ORA_DISK_1  
    6. 通道 ORA_DISK_1: sid=143 devtype=DISK  
    7. 通道 ORA_DISK_1: 启动数据文件副本  
    8. 输入数据文件 fno=00014 name=/u01/td/ttb1.269.763916007  
    9. 输出文件名 = /u01/app/oracle/oradata/orcl/ttb1.dbf 标记 = TAG20111006T161958 recid = 1 时间戳 = 763834799  
    10. 通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:01  
    11. 完成 backup 于 06-10月-11  
    12.   
    13. RMAN> sql "alter tablespace ttb1 offline";  
    14.   
    15. sql 语句: alter tablespace ttb1 offline  
    16.   
    17. RMAN> switch datafile '/u01/td/ttb1.269.763916007' to copy;  
    18.   
    19. RMAN> sql "alter tablespace ttb1 online";  
    20.   
    21. sql 语句: alter tablespace ttb1 online  
    22. MAN-00571: ===========================================================  
    23. RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============  
    24. RMAN-00571: ===========================================================  
    25. RMAN-03009: sql 命令 (default 通道上, 在 10/06/2011 16:28:00 上) 失败  
    26. RMAN-11003: 在分析/执行 SQL 语句期间失败: alter tablespace ttb1 online  
    27. ORA-01113: 文件 14 需要介质恢复  
    28. ORA-01110: 数据文件 14: '/u01/app/oracle/oradata/orcl/ttb1.dbf'  
    29.   
    30. RMAN> recover datafile 14;  
    31.   
    32. 启动 recover 于 06-10月-11  
    33. 使用通道 ORA_DISK_1  
    34.   
    35. 正在开始介质的恢复  
    36. 介质恢复完成, 用时: 00:00:00  
    37.   
    38. 完成 recover 于 06-10月-11  
    39.   
    40. RMAN> sql "alter tablespace ttb1 online";  
    41.   
    42. sql 语句: alter tablespace ttb1 online  
    RMAN> backup as copy datafile '/u01/td/ttb1.269.763916007' format '/u01/app/oracle/oradata/orcl/ttb1.dbf';
    
    启动 backup 于 06-10月-11
    使用目标数据库控制文件替代恢复目录
    分配的通道: ORA_DISK_1
    通道 ORA_DISK_1: sid=143 devtype=DISK
    通道 ORA_DISK_1: 启动数据文件副本
    输入数据文件 fno=00014 name=/u01/td/ttb1.269.763916007
    输出文件名 = /u01/app/oracle/oradata/orcl/ttb1.dbf 标记 = TAG20111006T161958 recid = 1 时间戳 = 763834799
    通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:01
    完成 backup 于 06-10月-11
    
    RMAN> sql "alter tablespace ttb1 offline";
    
    sql 语句: alter tablespace ttb1 offline
    
    RMAN> switch datafile '/u01/td/ttb1.269.763916007' to copy;
    
    RMAN> sql "alter tablespace ttb1 online";
    
    sql 语句: alter tablespace ttb1 online
    MAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03009: sql 命令 (default 通道上, 在 10/06/2011 16:28:00 上) 失败
    RMAN-11003: 在分析/执行 SQL 语句期间失败: alter tablespace ttb1 online
    ORA-01113: 文件 14 需要介质恢复
    ORA-01110: 数据文件 14: '/u01/app/oracle/oradata/orcl/ttb1.dbf'
    
    RMAN> recover datafile 14;
    
    启动 recover 于 06-10月-11
    使用通道 ORA_DISK_1
    
    正在开始介质的恢复
    介质恢复完成, 用时: 00:00:00
    
    完成 recover 于 06-10月-11
    
    RMAN> sql "alter tablespace ttb1 online";
    
    sql 语句: alter tablespace ttb1 online
    再次查看
    1. SQL> select file_name,ONLINE_STATUS from dba_data_files;  
    2.   
    3. FILE_NAME                                                                                            ONLINE_  
    4. ---------------------------------------------------------------------------------------------------- -------   
    5. /u01/app/oracle/oradata/orcl/system01.dbf                                                            SYSTEM  
    6. /u01/app/oracle/oradata/orcl/undotbs01.dbf                                                           ONLINE  
    7. /u01/app/oracle/oradata/orcl/sysaux01.dbf                                                            ONLINE  
    8. /u01/app/oracle/oradata/orcl/users01.dbf                                                             ONLINE  
    9. /u01/app/oracle/oradata/orcl/test01.dbf                                                              ONLINE  
    10. /u01/app/oracle/oradata/orcl/perfstat01.dba                                                          ONLINE  
    11. /u01/app/oracle/oradata/orcl/undo01.dbf                                                              ONLINE  
    12. /u01/app/oracle/oradata/orcl/tbspart01.dbf                                                           ONLINE  
    13. /u01/app/oracle/oradata/orcl/tbspart02.dbf                                                           ONLINE  
    14. /u01/app/oracle/oradata/orcl/tbspart03.dbf                                                           ONLINE  
    15. /u01/app/oracle/oradata/orcl/tbspart04.dbf                                                           ONLINE  
    16.   
    17. FILE_NAME                                                                                            ONLINE_  
    18. ---------------------------------------------------------------------------------------------------- -------   
    19. /u01/app/oracle/oradata/orcl/tb1.dbf                                                                 ONLINE  
    20. /u01/app/oracle/oradata/orcl/tb2.dbf                                                                 ONLINE  
    21. /u01/app/oracle/oradata/orcl/ttb1.dbf                                                                ONLINE  
    22.   
    23. 已选择14行。  
    SQL> select file_name,ONLINE_STATUS from dba_data_files;
    
    FILE_NAME                                                                                            ONLINE_
    ---------------------------------------------------------------------------------------------------- -------
    /u01/app/oracle/oradata/orcl/system01.dbf                                                            SYSTEM
    /u01/app/oracle/oradata/orcl/undotbs01.dbf                                                           ONLINE
    /u01/app/oracle/oradata/orcl/sysaux01.dbf                                                            ONLINE
    /u01/app/oracle/oradata/orcl/users01.dbf                                                             ONLINE
    /u01/app/oracle/oradata/orcl/test01.dbf                                                              ONLINE
    /u01/app/oracle/oradata/orcl/perfstat01.dba                                                          ONLINE
    /u01/app/oracle/oradata/orcl/undo01.dbf                                                              ONLINE
    /u01/app/oracle/oradata/orcl/tbspart01.dbf                                                           ONLINE
    /u01/app/oracle/oradata/orcl/tbspart02.dbf                                                           ONLINE
    /u01/app/oracle/oradata/orcl/tbspart03.dbf                                                           ONLINE
    /u01/app/oracle/oradata/orcl/tbspart04.dbf                                                           ONLINE
    
    FILE_NAME                                                                                            ONLINE_
    ---------------------------------------------------------------------------------------------------- -------
    /u01/app/oracle/oradata/orcl/tb1.dbf                                                                 ONLINE
    /u01/app/oracle/oradata/orcl/tb2.dbf                                                                 ONLINE
    /u01/app/oracle/oradata/orcl/ttb1.dbf                                                                ONLINE
    
    已选择14行。
  • 相关阅读:
    无题..
    让Windows 2003 Server支持ASP程序
    下雪
    比较经典的.NET基础
    XML几种操作
    某年某月有几天
    .NET操作Word(傻瓜型)
    XML 简单操作
    一首歌
    ASP.NET:掌握Web窗体的生命周期与状态管理(摘自网络)
  • 原文地址:https://www.cnblogs.com/weixun/p/3228287.html
Copyright © 2011-2022 走看看