1. TTS实现数据库迁移,具有速度快、支持跨平台和跨版本等优点。本文记录了用TTS10g single迁移到11g RAC的过程。
  2. Source数据库版本和字符集设置:
  3. SQL> select * from v$version;
  4.  
  5. BANNER
  6. ----------------------------------------------------------------
  7. Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
  8. PL/SQL Release 10.2.0.4.0 - Production
  9. CORE 10.2.0.4.0 Production
  10. TNS for Linux: Version 10.2.0.4.0 - Production
  11. NLSRTL Version 10.2.0.4.0 - Production
  12.  
  13. SQL> select * from nls_database_parameters where parameter in ('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');
  14.  
  15. PARAMETER VALUE
  16. ------------------------------ ------------------------------
  17. NLS_CHARACTERSET UTF8
  18. NLS_NCHAR_CHARACTERSET AL16UTF16
  19.  
  20. Target数据库版本和字符集设置:
  21. SQL> select * from v$version;
  22.  
  23. BANNER
  24. --------------------------------------------------------------------------------
  25. Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
  26. PL/SQL Release 11.2.0.3.0 - Production
  27. CORE 11.2.0.3.0 Production
  28. TNS for Linux: Version 11.2.0.3.0 - Production
  29. NLSRTL Version 11.2.0.3.0 - Production
  30.  
  31. SQL> select * from nls_database_parameters where parameter in ('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');
  32.  
  33. PARAMETER VALUE
  34. ------------------------------ --------------------
  35. NLS_CHARACTERSET AL32UTF8
  36. NLS_NCHAR_CHARACTERSET AL16UTF16
  37.  
  38. 1、检测平台差异
  39. source
  40. SQL> SELECT d.PLATFORM_NAME, ENDIAN_FORMAT
  41. 2 FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d
  42. 3 WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME;
  43.  
  44. PLATFORM_NAME ENDIAN_FORMAT
  45. ---------------------------------------- --------------
  46. Linux x86 64-bit Little
  47.  
  48. target
  49. SQL> SELECT d.PLATFORM_NAME, ENDIAN_FORMAT
  50. 2 FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d
  51. 3 WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME;
  52.  
  53. PLATFORM_NAME ENDIAN_FORMAT
  54. ---------------------------------------- ------------------------------------------
  55. Linux x86 64-bit Little
  56.  
  57. 两者并无差异,无需进行平台格式转换。
  58.  
  59. 2Tablespace Self-Contained 检测
  60. 进行TTS的表空间必须满足自包含条件,如果不满足,则需要进行调整直至满足才可以进行TTS
  61. source
  62. SQL> EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK('tbs_postmall_data,tbs_postmall_idx', TRUE);
  63.  
  64. PL/SQL procedure successfully completed.
  65.  
  66. SQL> SELECT * FROM TRANSPORT_SET_VIOLATIONS;
  67.  
  68. no rows selected
  69.  
  70. 出现0行,说明满足自包含条件。
  71.  
  72. 3Generate a Transportable Tablespace Set
  73. 生成TTS set之前,需要设置相关的表空间为read only模式。
  74. SQL> alter tablespace tbs_postmall_data read only;
  75.  
  76. Tablespace altered.
  77.  
  78. SQL> alter tablespace tbs_postmall_idx read only;
  79.  
  80. Tablespace altered.
  81.  
  82. 生成相关表空间的metadata dumpfile
  83. oracle@wls112:/data/oracle/dump> expdp system dumpfile=postmall_metadata.dmp directory=dump
  84.  
  85. transport_tablespaces=tbs_postmall_data,tbs_postmall_idx logfile=tts_export.log;
  86.  
  87. Export: Release 10.2.0.4.0 - 64bit Production on Thursday, 14 March, 2013 10:57:34
  88.  
  89. Copyright (c) 2003, 2007, Oracle. All rights reserved.
  90. Password:
  91.  
  92. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
  93. With the Partitioning, OLAP, Data Mining and Real Application Testing options
  94. Starting "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01": system/******** dumpfile=postmall_metadata.dmp directory=dump transport_tablespaces=tbs_postmall_data,tbs_postmall_idx logfile=tts_export.log
  95. Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
  96. Processing object type TRANSPORTABLE_EXPORT/TABLE
  97. Processing object type TRANSPORTABLE_EXPORT/GRANT/OWNER_GRANT/OBJECT_GRANT
  98. Processing object type TRANSPORTABLE_EXPORT/INDEX
  99. Processing object type TRANSPORTABLE_EXPORT/CONSTRAINT/CONSTRAINT
  100. Processing object type TRANSPORTABLE_EXPORT/INDEX_STATISTICS
  101. Processing object type TRANSPORTABLE_EXPORT/COMMENT
  102. Processing object type TRANSPORTABLE_EXPORT/INDEX/FUNCTIONAL_AND_BITMAP/INDEX
  103. Processing object type TRANSPORTABLE_EXPORT/INDEX/STATISTICS/FUNCTIONAL_AND_BITMAP/INDEX_STATISTICS
  104. Processing object type TRANSPORTABLE_EXPORT/TABLE_STATISTICS
  105. Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
  106. Master table "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded
  107. ******************************************************************************
  108. Dump file set for SYSTEM.SYS_EXPORT_TRANSPORTABLE_01 is:
  109. /data/oracle/dump/postmall_metadata.dmp
  110. Job "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at 10:57:51
  111.  
  112. 4、Transport the Tablespace Set
  113. 把第三步生成的metadata dumpfile和相关表空间的datafile传输到target端。其中dumpfile传输到目标端的一个directory中,datafile则传送到一个临时目录(target为ASM存储)或者目标数据库的datafile目录(target为文件系统存储)。
  114. oracle@wls112:/data/oracle/dump> scp postmall_metadata.dmp 172.24.138.101:/data/oracle/dump/
  115. Password:
  116. postmall_metadata.dmp 100% 260KB 260.0KB/s 00:00
  117. oracle@wls112:/data/oracle/dump> cd ../oradata/postmall/
  118. oracle@wls112:/data/oracle/oradata/postmall> scp tbs_postmall_* 172.24.138.101:/data/oracle/dump/
  119.  
  120. Password:
  121. tbs_postmall_data01.dbf 100% 5120MB 33.0MB/s 02:35
  122. tbs_postmall_data02.dbf 100% 5120MB 28.1MB/s 03:02
  123. tbs_postmall_idx01.dbf 100% 5120MB 25.9MB/s 03:18
  124.  
  125. 5、在目标端将datafile从文件系统传输至ASM中
  126. 不能直接用asm的cp命令来进行简单的复制,而需要用RMAN中的convert datafile功能来传输datafile
  127. oracle@postmallrac1:/data/oracle/dump> ls -l
  128. total 15744801
  129. -rw-r--r-- 1 oracle asmadmin 1216 2013-03-14 09:53 import.log
  130. -rw-r----- 1 oracle oinstall 266240 2013-03-14 11:11 postmall_metadata.dmp
  131. -rw-r----- 1 oracle oinstall 520192 2013-03-13 12:06 postmall_user.dmp
  132. -rw-r----- 1 oracle oinstall 5368717312 2013-03-14 11:14 tbs_postmall_data01.dbf
  133. -rw-r----- 1 oracle oinstall 5368717312 2013-03-14 11:17 tbs_postmall_data02.dbf
  134. -rw-r----- 1 oracle oinstall 5368717312 2013-03-14 11:21 tbs_postmall_idx01.dbf
  135. -rw-r--r-- 1 oracle asmadmin 1582 2013-03-14 09:51 tts_import.log
  136.  
  137. 用RMAN进行convert datafile
  138.  
  139. oracle@postmallrac1:/data/oracle/dump> rman target /
  140.  
  141. Recovery Manager: Release 11.2.0.3.0 - Production on Thu Mar 14 11:26:51 2013
  142.  
  143. Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
  144.  
  145. connected to target database: POSTMALL (DBID=3816065011)
  146.  
  147. RMAN> convert DATAFILE '/data/oracle/dump/tbs_postmall_data01.dbf'
  148. 2> db_file_name_convert="/data/oracle/dump/tbs_postmall_data01.dbf","+DATA";
  149.  
  150. Starting conversion at target at 2013-03-14 11:27:22
  151. using target database control file instead of recovery catalog
  152. allocated channel: ORA_DISK_1
  153. channel ORA_DISK_1: SID=1155 instance=postmall1 device type=DISK
  154. channel ORA_DISK_1: starting datafile conversion
  155. input file name=/data/oracle/dump/tbs_postmall_data01.dbf
  156. converted datafile=+DATA/postmall/datafile/tbs_postmall_data.274.810041245
  157. channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:02:25
  158. Finished conversion at target at 2013-03-14 11:29:50
  159.  
  160. RMAN> convert DATAFILE '/data/oracle/dump/tbs_postmall_data02.dbf'
  161. 2> db_file_name_convert="/data/oracle/dump/tbs_postmall_data02.dbf","+DATA";
  162.  
  163. Starting conversion at target at 2013-03-14 11:30:21
  164. using channel ORA_DISK_1
  165. channel ORA_DISK_1: starting datafile conversion
  166. input file name=/data/oracle/dump/tbs_postmall_data02.dbf
  167. converted datafile=+DATA/postmall/datafile/tbs_postmall_data.275.810041421
  168. channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:02:45
  169. Finished conversion at target at 2013-03-14 11:33:06
  170.  
  171. RMAN> convert DATAFILE '/data/oracle/dump/tbs_postmall_idx01.dbf'
  172. 2> db_file_name_convert="/data/oracle/dump/tbs_postmall_idx01.dbf","+DATA";
  173.  
  174. Starting conversion at target at 2013-03-14 12:19:58
  175. using channel ORA_DISK_1
  176. channel ORA_DISK_1: starting datafile conversion
  177. input file name=/data/oracle/dump/tbs_postmall_idx01.dbf
  178. converted datafile=+DATA/postmall/datafile/tbs_postmall_idx.273.810044399
  179. channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:02:35
  180. Finished conversion at target at 2013-03-14 12:22:33
  181.  
  182. 在asmcmd里可以看到添加进去的datafile
  183. ASMCMD> ls -l
  184. Type Redund Striped Time Sys Name
  185. DATAFILE UNPROT COARSE FEB 25 15:00:00 Y EXAMPLE.264.807814653
  186. DATAFILE UNPROT COARSE MAR 13 21:00:00 Y SYSAUX.257.807814555
  187. DATAFILE UNPROT COARSE FEB 25 15:00:00 Y SYSTEM.256.807814555
  188. DATAFILE UNPROT COARSE FEB 25 15:00:00 Y TBS_OGG.272.808070095
  189. DATAFILE UNPROT COARSE MAR 14 11:00:00 Y TBS_POSTMALL_DATA.274.810041245
  190. DATAFILE UNPROT COARSE MAR 14 11:00:00 Y TBS_POSTMALL_DATA.275.810041421
  191. DATAFILE UNPROT COARSE MAR 14 12:00:00 Y TBS_POSTMALL_IDX.273.810044399
  192. DATAFILE UNPROT COARSE FEB 25 15:00:00 Y TBS_ULECARD_DATA.270.807903909
  193. DATAFILE UNPROT COARSE FEB 25 15:00:00 Y TBS_ULECARD_IDX.271.807903973
  194. DATAFILE UNPROT COARSE FEB 25 15:00:00 Y UNDOTBS1.258.807814557
  195. DATAFILE UNPROT COARSE MAR 13 22:00:00 Y UNDOTBS2.265.807814821
  196. DATAFILE UNPROT COARSE FEB 25 15:00:00 Y USERS.259.807814557
  197.  
  198. 6、Import the Tablespace Set
  199. 导入表空间之前,先把用户创建好。
  200. SQL> create user postmall_user identified by postmall_pwd account unlock;
  201. SQL> grant connect,resource,dba to postmall_user;
  202. SQL> exit
  203. oracle@postmallrac1:/data/oracle/dump> impdp system dumpfile=postmall_metadata.dmp directory=dump
  204.  
  205. logfile=tts_import.log;
  206.  
  207. Import: Release 11.2.0.3.0 - Production on Thu Mar 14 13:23:07 2013
  208.  
  209. Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
  210. Password:
  211.  
  212. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
  213. With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
  214. Data Mining and Real Application Testing options
  215. Master table "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded
  216. Starting "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01": system/******** dumpfile=postmall_metadata.dmp directory=dump transport_datafiles=+data/postmall/datafile/TBS_POSTMALL_DATA.274.810041245,+data/postmall/datafile/TBS_POSTMALL_DATA.275.810041421,+data/postmall/datafile/TBS_POSTMALL_IDX.273.810044399 logfile=tts_import.log
  217. Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
  218. Processing object type TRANSPORTABLE_EXPORT/TABLE
  219. Processing object type TRANSPORTABLE_EXPORT/GRANT/OWNER_GRANT/OBJECT_GRANT
  220. Processing object type TRANSPORTABLE_EXPORT/INDEX
  221. Processing object type TRANSPORTABLE_EXPORT/CONSTRAINT/CONSTRAINT
  222. Processing object type TRANSPORTABLE_EXPORT/INDEX_STATISTICS
  223. Processing object type TRANSPORTABLE_EXPORT/COMMENT
  224. Processing object type TRANSPORTABLE_EXPORT/INDEX/FUNCTIONAL_AND_BITMAP/INDEX
  225. Processing object type TRANSPORTABLE_EXPORT/INDEX/STATISTICS/FUNCTIONAL_AND_BITMAP/INDEX_STATISTICS
  226. Processing object type TRANSPORTABLE_EXPORT/TABLE_STATISTICS
  227. Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
  228. Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at 13:23:43
  229.  
  230. 7、导入用户的其他object
  231. 因为system表空无法进行TTS,所以postmall_user在system表空间的object,比如sequences、PL/SQL packages等就没法通过TTS来迁移。所以到了最后,还需要用Data Pump把其他object给迁移过来。
  232. source端:
  233. oracle@wls112:/data/oracle/dump> expdp system directory=dump schemas=postmall_user dumpfile=postmall_user.dmp;
  234.  
  235. Export: Release 10.2.0.4.0 - 64bit Production on Thursday, 14 March, 2013 13:34:16
  236.  
  237. Copyright (c) 2003, 2007, Oracle. All rights reserved.
  238. Password:
  239.  
  240. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
  241. With the Partitioning, OLAP, Data Mining and Real Application Testing options
  242. FLASHBACK automatically enabled to preserve database integrity.
  243. Starting "SYSTEM"."SYS_EXPORT_SCHEMA_01": system/******** directory=dump schemas=postmall_user exclude=table,index dumpfile=postmall_user.dmp
  244. Estimate in progress using BLOCKS method...
  245. Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
  246. Total estimation using BLOCKS method: 0 KB
  247. Processing object type SCHEMA_EXPORT/USER
  248. Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
  249. Processing object type SCHEMA_EXPORT/ROLE_GRANT
  250. Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
  251. Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA
  252. Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
  253. Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE
  254. Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
  255. Master table "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
  256. ******************************************************************************
  257. Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_01 is:
  258. /data/oracle/dump/postmall_user.dmp
  259. Job "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully completed at 13:34:35
  260. 传送到target端,在target端导入:
  261. oracle@postmallrac1:/data/oracle/dump> impdp system dumpfile=postmall_user.dmp directory=dump logfile=user_import.log
  262.  
  263. Import: Release 11.2.0.3.0 - Production on Thu Mar 14 13:36:46 2013
  264.  
  265. Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
  266. Password:
  267.  
  268. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
  269. With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
  270. Data Mining and Real Application Testing options
  271. Master table "SYSTEM"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
  272. Starting "SYSTEM"."SYS_IMPORT_FULL_01": system/******** dumpfile=postmall_user.dmp directory=dump logfile=user_import.log
  273. Processing object type SCHEMA_EXPORT/USER
  274. ORA-31684: Object type USER:"POSTMALL_USER" already exists
  275. Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
  276. Processing object type SCHEMA_EXPORT/ROLE_GRANT
  277. Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
  278. Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA
  279. Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
  280. Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE
  281. Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
  282. ORA-39082: Object type ALTER_PROCEDURE:"POSTMALL_USER"."UPDATE_0124" created with compilation warnings
  283. Job "SYSTEM"."SYS_IMPORT_FULL_01" completed with 2 error(s) at 13:36:57
  284.  
  285. 导入的时候,出现了两个错误,第一个"ORA-31684"是因为用户已经存在了,无需再导入。第二个错误"ORA-39082"是因为有个procedure编译告警,这个procedure已经废弃,无需理会。
  286. 用户postmall_user虽然已经创建,但是还需要手动修改该用户的default tablespace为新导入的TBS_POSTMALL_DATA
  287. SQL> alter user postmall_user default tablespace tbs_postmall_data;
  288. User altered.
  289.  
  290. 8、检验数据
  291. source端
  292. SQL> show user
  293. USER is "POSTMALL_USER"
  294. SQL> select object_name,object_type,status from user_objects;
  295.  
  296. OBJECT_NAME OBJECT_TYPE STATUS
  297. ---------------------------------------- -------------------- -------
  298. ORDER_LOTTERY TABLE VALID
  299. PRIZE_RECORD TABLE VALID
  300. IDX_OL_LOTTERY_TERM_END INDEX VALID
  301. IDX_ORDER_LOTTERY_STATUS INDEX VALID
  302. IDX_OL_LOTTERY_ONLYID_END INDEX VALID
  303. IDX_LOTTERY_NO INDEX VALID
  304. IDX_OL_ESCORDERID INDEX VALID
  305. IDX_OL_USR_PHONE_TYPE INDEX VALID
  306. PK_PRIZE_RECORD INDEX VALID
  307. IDX_PR_MOBILE INDEX VALID
  308. IDX_PR_UCNO INDEX VALID
  309. IDX_PR_CREATE_DESC INDEX VALID
  310. PK_T1 INDEX VALID
  311. T1 TABLE VALID
  312. UPDATE_0124 PROCEDURE INVALID
  313. PK_ORDER_LOTTERY INDEX VALID
  314. EMPLOYEES TABLE VALID
  315. PK_EMPLOYEES INDEX VALID
  316. IDX_EMPLOYEES_EMAIL INDEX VALID
  317. CREATE_INDEX_CCLR PROCEDURE VALID
  318.  
  319. 20 rows selected.
  320.  
  321. SQL> select count(*) from ORDER_LOTTERY;
  322.  
  323. COUNT(*)
  324. ----------
  325. 33330240
  326.  
  327. SQL> select count(*) from PRIZE_RECORD;
  328.  
  329. COUNT(*)
  330. ----------
  331. 111660
  332.  
  333. SQL> select count(*) from T1;
  334.  
  335. COUNT(*)
  336. ----------
  337. 2549760
  338.  
  339. SQL> select count(*) from employees;
  340.  
  341. COUNT(*)
  342. ----------
  343. 123
  344.  
  345. SQL> select EMPLOYEE_ID,FIRST_NAME,LAST_NAME,EMAIL FROM EMPLOYEES WHERE EMPLOYEE_ID<=10;
  346.  
  347. EMPLOYEE_ID FIRST_NAME LAST_NAME EMAIL
  348. ----------- -------------------- ------------------------- -------------------------
  349. 1 杰森 伯恩 124@gmail.com
  350. 2 勒布朗 詹姆斯 124@gmail.com
  351. 3 科比 布莱恩特 124@gmail.com
  352. 4 沙克 奥尼尔 124@gmail.com
  353. 5 蒂姆 邓肯 124@gmail.com
  354. 6 迈克尔 乔丹 124@gmail.com
  355. 7 摩西 马龙 124@gmail.com
  356. 8 乔治 布什 124@gmail.com
  357. 9 hello baby 124@gmail.com
  358. 10 jay 刘杰 124@gmail.com
  359.  
  360. 10 rows selected.
  361. target端:
  362. SQL> show user
  363. USER is "POSTMALL_USER"
  364. SQL> select object_name,object_type,status from user_objects;
  365.  
  366. OBJECT_NAME OBJECT_TYPE STATUS
  367. ---------------------------------------- -------------------- ---------------------
  368. UPDATE_0124 PROCEDURE INVALID
  369. CREATE_INDEX_CCLR PROCEDURE VALID
  370. IDX_PR_CREATE_DESC INDEX VALID
  371. PK_T1 INDEX VALID
  372. IDX_EMPLOYEES_EMAIL INDEX VALID
  373. PK_EMPLOYEES INDEX VALID
  374. IDX_PR_UCNO INDEX VALID
  375. IDX_PR_MOBILE INDEX VALID
  376. PK_PRIZE_RECORD INDEX VALID
  377. IDX_OL_USR_PHONE_TYPE INDEX VALID
  378. IDX_OL_ESCORDERID INDEX VALID
  379. IDX_LOTTERY_NO INDEX VALID
  380. IDX_OL_LOTTERY_ONLYID_END INDEX VALID
  381. IDX_ORDER_LOTTERY_STATUS INDEX VALID
  382. IDX_OL_LOTTERY_TERM_END INDEX VALID
  383. PK_ORDER_LOTTERY INDEX VALID
  384. T1 TABLE VALID
  385. EMPLOYEES TABLE VALID
  386. PRIZE_RECORD TABLE VALID
  387. ORDER_LOTTERY TABLE VALID
  388.  
  389. 20 rows selected.
  390.  
  391. SQL> select count(*) from ORDER_LOTTERY;
  392.  
  393. COUNT(*)
  394. ----------
  395. 33330240
  396.  
  397. SQL> select count(*) from PRIZE_RECORD;
  398.  
  399. COUNT(*)
  400. ----------
  401. 111660
  402.  
  403. SQL> select count(*) from T1;
  404.  
  405. COUNT(*)
  406. ----------
  407. 2549760
  408.  
  409. SQL> select count(*) from employees;
  410.  
  411. COUNT(*)
  412. ----------
  413. 123
  414.  
  415. SQL> select EMPLOYEE_ID,FIRST_NAME,LAST_NAME,EMAIL FROM EMPLOYEES WHERE EMPLOYEE_ID<=10;
  416.  
  417. EMPLOYEE_ID FIRST_NAME LAST_NAME EMAIL
  418. ----------- ---------- ---------- ---------------
  419. 1 杰森 伯恩 124@gmail.com
  420. 2 勒布朗 詹姆斯 124@gmail.com
  421. 3 科比 布莱恩特 124@gmail.com
  422. 4 沙克 奥尼尔 124@gmail.com
  423. 5 蒂姆 邓肯 124@gmail.com
  424. 6 迈克尔 乔丹 124@gmail.com
  425. 7 摩西 马龙 124@gmail.com
  426. 8 乔治 布什 124@gmail.com
  427. 9 hello baby 124@gmail.com
  428. 10 jay 刘杰 124@gmail.com
  429.  
  430. 10 rows selected.
  431.  
  432. 数据均一致,中文也没有出现乱码。数据库迁移成功。
  433.  
  434. 小结:
  435. 一、两边数据库的字符集(包括NLS_CHARACTERSET和NLS_NCHAR_CHARACTERSET)最好完全一样,如果不一样,也要保证source端的字符集是target端的字符集的真子集,还要加上一些限制,具体可以参考官方文档的说明。
  436. 二、在source端生成和传送TTS Set之前必须要设置相关表空间为read only模式。
  437. 三、如果从filesystem→filesystem,直接把datafile传输到目标数据库的datafile路径即可。如果从filesystem→asm,则需要多一RMAN的convert datafile操作。如果是asm→asm则还没进行测试。
  438. ---------------------
  439. 作者:jasonliu_2012
  440. 来源:CSDN
  441. 原文:https://blog.csdn.net/jasonliu_2012/article/details/8688209
  442. 版权声明:本文为博主原创文章,转载请附上博文链接!

使用TTS实现Oracle跨版本迁移的更多相关文章

  1. 跨平台版本迁移之 XTTS 方案操作指南

    本文转自 https://blog.csdn.net/Enmotech/article/details/80045576 作者 | 罗贵林: 云和恩墨技术工程师,具有8年以上的 Oracle 数据库工 ...

  2. 数据库周刊31丨openGauss 正式开源;7月数据库排行榜发布;浙江移动国产数据库AntDB迁移;oracle ADG跨版本搭建;PG解决社保问题;mysqlbinlog解析……

    摘要:墨天轮数据库周刊第31期发布啦,每周1次推送本周数据库相关热门资讯.精选文章.干货文档. 热门资讯 1.openGauss 正式开源,华为公开发布源代码[摘要]6月1日,华为正式宣布开源数据库能 ...

  3. 【RMAN】RMAN跨版本恢复(下)--大版本异机恢复

    [RMAN]RMAN跨版本恢复(下)--大版本异机恢复 BLOG文档结构图 ORACLE_SID=ORA1024G 关于10g的跨小版本恢复参考:http://blog.chinaunix.net/u ...

  4. Oracle数据逻辑迁移综合实战篇

    本文适合迁移大量表和数据的复杂需求. 如果你的需求只是简单的迁移少量表,可直接参考这两篇文章即可完成需求: Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上) Oracle简 ...

  5. 高版本->低版本迁移,低版本客户端连接高版本数据库EXP导出报错EXP-00008,ORA-01455,EXP-00000

    生产环境: 源数据库:RHEL + Oracle 11.2.0.3 目标数据库:HP-UX + Oracle 10.2.0.4   需求:迁移部分表  11.2.0.3-->10.2.0.4,若 ...

  6. 使用ADMT和PES实现window AD账户跨域迁移-介绍篇

    使用 ADMT 和 pwdmig 实现 window AD 账户跨域迁移系列: 介绍篇 ADMT 安装 PES 的安装 ADMT:迁移组 ADMT:迁移用户 ADMT:计算机迁移 ADMT:报告生成 ...

  7. Oracle冷备迁移脚本(文件系统)

    Oracle冷备迁移脚本(文件系统) 两个脚本: 配置文件生成脚本dbinfo.sh 网络拷贝到目标服务器的脚本cpdb16.sh 1. 配置文件生成脚本 #!/bin/bash #Usage: cr ...

  8. 如何查看Oracle客户端版本

    在实际工作中,总会遇到一些需要查看.验证ORACLE客户端版本的问题,因为一台服务器可能装了多个Oracle客户端版本:也有可能你需要知道安装的版本是32位还是64位的.如何查看Oracle客户端(O ...

  9. FMDB 版本迁移

    FMDB 版本迁移 安装 1. 通过CocoaPods 在项目根目录创建并编辑 Podfile 内容如下 $ cd /path/to/MyProject $ touch Podfile $ edit ...

随机推荐

  1. 《锋利的jQuery》笔记:插件的使用和写法

    jQuery插件的种类 1.封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进行操作,是最常见的一种插件.此类插件可以发挥出jQuery选择器的强大优势,有相当一部分 ...

  2. P2590 [ZJOI2008]树的统计

    题目描述 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w. 我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u ...

  3. SAP MM PO 中的Delivery Date并非保存在EKPO表里

    采购订单行项目中的deliverydate并非如同其它字段值一样是保存在采购订单行项目表EKPO里的, 而是从EKET表里抓取最早的Delivery Date作为该Item的delivery date ...

  4. Salesforce 应用生命周期管理

    应用程序生命周期管理 一个Salesforce系统可以有多个版本,最常见的有: production版本:终端用户实际使用的版本 sandbox版本:沙盒环境,用于开发.测试等 在对Salesforc ...

  5. django rest framework 项目创建

    Django Rest Framework 是一个强大且灵活的工具包,用以构建Web API 为什么要使用Rest Framework Django REST Framework可以在Django的基 ...

  6. Android内存优化(三)详解内存分析工具MAT

    前言 在这个系列的前四篇文章中,我分别介绍了DVM.ART.内存泄漏和内存检测工具的相关知识点,这一篇我们通过一个小例子,来学习如何使用内存分析工具MAT. 1.概述 在进行内存分析时,我们可以使用M ...

  7. (python)数据结构---字典

    一.描述 由键值key-value组成的数据的集合 可变.无序的,key不可以重复 字典的键key要可hash(列表.字典.集合不可哈希),不可变的数据结构是可哈希的(字符串.元组.对象.bytes) ...

  8. SQL Server中通用数据库角色权限处理

    SQL Server中通用数据库角色权限处理   最近和同事在做数据库权限清理的事情,主要是删除一些账号:取消一些账号的较大的权限等,例如,有一些有db_owner权限,我们取消账号的数据库角色db_ ...

  9. Exception in thread "main" java.lang.RuntimeException: Hive metastore database is not initialized. Please use schematool (e.g. ./schematool -initSchema -dbType ...) to create the schema. If needed, do

    继上一篇Hive: Exception in thread "main" java.lang.RuntimeException: Hive metastore database i ...

  10. C#-判断语句(五)

    判断语句主要有if...else.switch和 条件?语句1:语句2 三种,而if...else中又有if语句,if...else.if...else if...else和if中嵌套if这几种,但是 ...