数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

数据库知识:Oracle中传输表空间


发布日期:2020年12月18日
 
数据库知识:Oracle中传输表空间

Oracle中的传输表空间功能用来将一个实例中的表空间和数据文件移到另一个实例中 执行起来方便快捷但是要使用该功能有一些限制需要两个平台一致必须有相同的字符集和多语言字符集

要求两个实例的db block size 大小相等如不相等则需要兼容以上等

具体步骤如下

SQL> example表空间试验SQL> connect sys/system as sysdbaConnected to Oracle Database g Enterprise Edition Release Connected as SYSSQL> execute dbms_ttstransport_set_check(EXAMPLETRUE);PL/SQL procedure successfully completedSQL> SELECT * FROM TRANSPORT_SET_VIOLATIONS;VIOLATIONSSQL> 如果上面的查询可以查到记录则说明不适合表空间传输条件 需要根据实际SQL> 情况将对象移到别的表空间;SQL> C:\Documents and Settings\hawk>exp userid=sys/system as sysdba transport_tablespace=y tablespaces=EXAMPLE file =d:\admp;Export: Release Production on 星期三 :: Copyright (c) Oracle All rights reserved

连接到: Oracle Database g Enterprise Edition Release Production

With the Partitioning OLAP and Data Mining options

已导出 ZHSGBK 字符集和 ALUTF NCHAR 字符集

注: 将不导出表数据 (行)

即将导出可传输的表空间元数据

对于表空间 EXAMPLE

正在导出簇定义 正在导出表定义 正在导出表 REGIONS 正在导出表 COUNTRIES 正在导出表 LOCATIONS 正在导出表 DEPARTMENTS 正在导出表 JOBS 正在导出表 EMPLOYEES 正在导出表 JOB_HISTORY 正在导出表 CUSTOMERS 正在导出表 WAREHOUSES 正在导出表 ORDER_ITEMS 正在导出表 ORDERS 正在导出表 INVENTORIES 正在导出表 PRODUCT_INFORMATION 正在导出表 PRODUCT_DESCRIPTIONS 正在导出表 PROMOTIONS 正在导出表 ORDERS_QUEUETABLE 正在导出表 AQ$_ORDERS_QUEUETABLE_S 正在导出表 AQ$_ORDERS_QUEUETABLE_T 正在导出表 AQ$_ORDERS_QUEUETABLE_H 正在导出表 AQ$_ORDERS_QUEUETABLE_G 正在导出表 AQ$_ORDERS_QUEUETABLE_I 正在导出表 STREAMS_QUEUE_TABLE 正在导出表 AQ$_STREAMS_QUEUE_TABLE_S 正在导出表 AQ$_STREAMS_QUEUE_TABLE_T 正在导出表 AQ$_STREAMS_QUEUE_TABLE_H 正在导出表 AQ$_STREAMS_QUEUE_TABLE_G 正在导出表 AQ$_STREAMS_QUEUE_TABLE_I 正在导出表 TIMES 正在导出表 PRODUCTS 正在导出表 CHANNELS 正在导出表 PROMOTIONS 正在导出表 CUSTOMERS 正在导出表 COUNTRIES 正在导出表 SUPPLEMENTARY_DEMOGRAPHICS 正在导出表 CAL_MONTH_SALES_MV 正在导出表 FWEEK_PSCAT_SALES_MV 正在导出表 SALES 正在导出表 COSTS 正在导出表 MVIEW$_EXCEPTIONS 正在导出表 ONLINE_MEDIA 正在导出表 PRINT_MEDIA 正在导出引用完整性约束条件 正在导出触发器 结束导出可传输的表空间元数据

成功终止导出 没有出现警告

C:\Documents and Settings\hawk>C:\Documents and Settings\hawk>C:\Documents and Settings\hawk>copy D:\system\orag\oradata\orag\EXAMPLEDBF d:\EXAMPLEDBF 已复制 个文件

C:\Documents and Settings\hawk>imp userid=sys/system as sysdba file=d:\admp transport_tablespace=y datafiles=d:\EXAMPLEDBFImport: Release Production on 星期三 :: Copyright (c) Oracle All rights reserved连接到: Oracle Database g Enterprise Edition Release Production With the Partitioning OLAP and Data Mining options

经由常规路径由 EXPORT:V 创建的导出文件

即将导入可传输的表空间元数据

已经完成 ZHSGBK 字符集和 ALUTF NCHAR 字符集中的导入

正在将 SYS 的对象导入到 SYS

IMP: 由于 ORACLE 错误 以下语句失败:

BEGIN sysdbms_plugtsbeginImpTablespace(EXAMPLESYS

NULLNULL

NULL); END;

IMP: 遇到 ORACLE 错误

ORA: 表空间 EXAMPLE 已存在

ORA: 在 SYSDBMS_PLUGTS line

ORA: 在 line

IMP: 未成功终止导入

因为测试是在同一个实例中进行所以出现上面的表空间已存在错误

SQL> alter tablespace example read write;

Tablespace altered

C:\Documents and Settings\hawk>

上一篇:Oracle中的临时表用法汇总

下一篇:oracle中使用SQL递归语句