transport tablespace基本用法

C:>sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on 星期六 9月 17 20:07:36 2005

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> connect sys as sysdba
请输入口令:
已连接。
SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
test

SQL> create tablespace test datafile 'D:oracleoradatatesttest.dbf' size 1m;

表空间已创建。

SQL> connect xys/manager
已连接。
SQL> create table t(id int);

表已创建。

SQL> insert into t values(1);

已创建 1 行。

SQL> commit;

提交完成。

SQL> select default_tablespace from dba_users where username='XYS';

DEFAULT_TABLESPACE
------------------------------
USERS

SQL> create index t_idx on t(id) tablespace test;

索引已创建。

SQL> exec dbms_tts.transport_set_check('test' , true);
BEGIN dbms_tts.transport_set_check('test' , true); END;

*
ERROR 位于第 1 行:
ORA-06550: 第 1 行, 第 7 列:
PLS-00201: 必须说明标识符 'DBMS_TTS.TRANSPORT_SET_CHECK'
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored


SQL> exec sys.dbms_tts.transport_set_check('test' , true);

PL/SQL 过程已成功完成。

SQL> select * from transport_set_violations;
select * from transport_set_violations
*
ERROR 位于第 1 行:
ORA-00942: 表或视图不存在


SQL> connect sys as sysdba
请输入口令:
已连接。
SQL> select * from transport_set_violations;

未选定行

SQL> alter tablespace test read only;

表空间已更改。

SQL> host exp transport_tablespace=y tablespace=test file=d:test.dmp;
LRM-00101: 未知的参数名 'tablespace'

EXP-00019: 处理参数失败,有关帮助请键入 'EXP HELP=Y'
EXP-00000: 导出终止失败

SQL> host exp transport_tablespace=y tablespaces=test file=d:test.dmp;

Export: Release 9.2.0.1.0 - Production on 星期六 9月 17 20:14:30 2005

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.


用户名: / as sysdba

连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
注: 将不会导出表数据(行)
关于导出可传输的表空间元数据...
EXP-00008: 遇到 ORACLE 错误 29341
ORA-29341: 可传送集不是自包含的
ORA-06512: 在"SYS.DBMS_PLUGTS", line 1093
ORA-06512: 在line 1
EXP-00000: 导出终止失败

SQL> drop index xys.t_idx;

索引已丢弃。

SQL> create table xys.tt(id int) tablespace test;
create table xys.tt(id int) tablespace test
*
ERROR 位于第 1 行:
ORA-00955: 名称已由现有对象使用


SQL> create table xys.t_t(id int) tablespace test;
create table xys.t_t(id int) tablespace test
*
ERROR 位于第 1 行:
ORA-01647: 表空间'TEST'是只读,无法在其中分配空间


SQL> alter tablespace test read write;

表空间已更改。

SQL> create table xys.t_t(id int) tablespace test;

表已创建。

SQL> insert into xys.t_t values(1);

已创建 1 行。

SQL> commit;

提交完成。

SQL> select * from transport_set_violations;

未选定行

SQL> show user
USER 为"SYS"
SQL> alter tablespace test read only;

表空间已更改。

SQL> host exp transport_tablespace=y tablespace=test file=d:test.dmp;
LRM-00101: 未知的参数名 'tablespace'

EXP-00019: 处理参数失败,有关帮助请键入 'EXP HELP=Y'
EXP-00000: 导出终止失败

SQL> host exp transport_tablespace=y tablespaces=test file=d:test.dmp;

Export: Release 9.2.0.1.0 - Production on 星期六 9月 17 20:17:09 2005

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.


用户名: / as sysdba

连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
注: 将不会导出表数据(行)
关于导出可传输的表空间元数据...
用于表空间 TEST...
. 正在导出群集定义
. 正在导出表定义
. . 正在导出表 T_T
. 正在导出引用完整性约束条件
. 正在导出触发器
. 结束导出可传输的表空间元数据
在没有警告的情况下成功终止导出。

SQL> exit
从Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production中断开

C:>set oracle_sid=testdb

C:>imp transport_tablespace=y datafiles='D:oracleoradatatestdbtest.dbf' ta
blespaces=test file=d:test.dmp

Import: Release 9.2.0.1.0 - Production on 星期六 9月 17 20:21:12 2005

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

用户名: / as sysdba

连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production

经由常规路径导出由EXPORT:V09.02.00创建的文件
关于导入可传输表空间元数据...
已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入
. 正在将SYS的对象导入到 SYS
IMP-00017: 由于 ORACLE 的 29342 错误,以下的语句失败
"BEGIN sys.dbms_plugts.checkUser('XYS'); END;"
IMP-00003: 遇到 ORACLE 错误 29342
ORA-29342: 数据库中不存在用户 XYS
ORA-06512: 在"SYS.DBMS_PLUGTS", line 1535
ORA-06512: 在line 1
IMP-00000: 未成功终止导入

C:>set oracle_sid=testdb

C:>sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on 星期六 9月 17 20:21:49 2005

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> connect sys as sysdba
请输入口令:
已连接。
SQL> create user xys identified by manager default tablespace users;

用户已创建

SQL> grant connect , resource , dba to xys;

授权成功。

SQL> exit
从Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production中断开

C:>imp transport_tablespace=y datafiles='D:oracleoradatatestdbtest.dbf' ta
blespaces=test file=d:test.dmp

Import: Release 9.2.0.1.0 - Production on 星期六 9月 17 20:23:10 2005

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

用户名: / as sysdba

连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production

经由常规路径导出由EXPORT:V09.02.00创建的文件
关于导入可传输表空间元数据...
已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入
. 正在将SYS的对象导入到 SYS
. 正在将XYS的对象导入到 XYS
. . 正在导入表 "T_T"
成功终止导入,但出现警告。

C:>set oracle_sid=testdb

C:>sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on 星期六 9月 17 20:23:45 2005

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> connect xys/manager
已连接。
SQL> select * from t_t;

ID
----------
1

SQL> select name from v$tablespace;

NAME
------------------------------
SYSTEM
UNDOTBS1
TEMP
DRSYS
INDX
TOOLS
USERS
XDB
TEST

已选择9行。

SQL> create table t_tt(id int) tablespace test;
create table t_tt(id int) tablespace test
*
ERROR 位于第 1 行:
ORA-01647: 表空间'TEST'是只读,无法在其中分配空间


SQL> alter tablespace test read write;

表空间已更改。

SQL>

最后别忘了改写表空间的状态!

你可能感兴趣的:(oracle,tablespace,transport)