Oracle传输表空间功能测试(含详细过程)

原创
2016-06-07 17:31:04 790浏览

最近做Oracle数据迁移,之前有一篇迁移思路思考的文章,这里继续做具体的测试,主题问表空间传输。 相关阅读: Oracle 传输表空间

最近做Oracle数据迁移,之前有一篇迁移思路思考的文章,,这里继续做具体的测试,主题问表空间传输。

相关阅读:

Oracle 传输表空间

使用可传输表空间将Oracle 9i升级到10g

Oracle 传输表空间迁移数据总结

exp/expdp传输表空间和rman convert实现大数据量快速迁移

一、源服务器上导出表空间
源服务器: 10.1.122.55
目标服务器:10.1.122.54

0.设置字符集
注意,这里不设置字符集在导入的时候会报错,详细情况见文章的最后。
SUSE11sp2:~ # export LANG=AMERICAN_AMERICA.AL32UTF8
suse11sp2:~> export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

suse11sp2:~> sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Wed Jul 24 14:45:47 2013

Copyright (c) 1982, 2011, Oracle. All rights reserved.

1.准备需要传输的表空间
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> create tablespace aaa datafile '/oracle/oradata/aa.dbf' size 100M ;


Tablespace created.


SQL> CREATE USER aaa IDENTIFIED BY aaa
DEFAULT TABLESPACE aaa
TEMPORARY TABLESPACE temp; 2 3


User created.


SQL> GRANT CONNECT,RESOURCE TO aaa;


Grant succeeded.


SQL> REVOKE UNLIMITED TABLESPACE FROM aaa;


Revoke succeeded.


SQL> ALTER USER aaa QUOTA UNLIMITED ON aaa;


User altered.


SQL> conn aaa/aaa;
Connected.
SQL> create table a1(id varchar2(10),name varchar2(20));


Table created.


SQL> insert into a1 values('01','lurou');


1 row created.


SQL> insert into a1 values('02','hello,DBA!');


1 row created.


SQL> COMMIT;


Commit complete.


SQL> select * from a1;


ID NAME
---------- --------------------
01 lurou
02 hello,DBA!


SQL>
SQL>
SQL>

2.做传输前检查
SQL> conn / as sysdba
Connected.
SQL>
SQL> execute sys.dbms_tts.transport_set_check('aaa',true);


PL/SQL procedure successfully completed.


SQL>
SQL> select * from sys.transport_set_violations;


no rows selected


SQL>

3.设置表空间为只读
SQL>
SQL> alter tablespace aaa read only;


Tablespace altered.


SQL>
SQL> commit;


Commit complete.


SQL>

linux

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。