Oracle Transportable Tablespaces (TTS)ITeye - 凯发娱乐

Oracle Transportable Tablespaces (TTS)ITeye

2019年03月30日08时00分19秒 | 作者: 运诚 | 标签: 空间,数据库,方针 | 浏览: 2914



主要讲一下关于Oracle在线传输表空间的一些注意事项,文中附有示例。

原理剖析

运用copy 数据文件+导入metadata的方法搬迁数据

能够完成跨渠道传输表空间

COLUMNPLATFORM_NAME FORMAT A36
SELECT * FROM V$TRANSPORTABLE_PLATFORM ORDER BY PLATFORM_NAME;

假如发现源、方针数据库的endian不相同,需求运用rman convert 转化,不然不需求

约束

源、方针数据库有必要具有兼容的字符集。

字符集相同

源数据库的字符集有必要是方针数据库的子集。(下面有必要悉数满意)

(1) 源数据库版别有必要大于10.1.0.3

(2) 表中的列不包括semantics的界说信息,最大字符长度约束和方针数据库相同。

(3) 不包括clob数据类型,或许两个数据库的字符集同为single-byte orboth multibyte.

两个数据库有必要具有兼容的国家字符集

有必要满意下面其中之一

(1)国家字符集相同

(2)source databaseis in version 10.1.0.3 or higher,而且没有NCHAR, NVARCHAR2, or NCLOB类型的数据

方针数据库中不能有相同称号的表空间。(传输之前rename一下)

底层依靠的方针有必要悉数包括在表空间调集中。

运用场景

1.tablespace+partition

2. 备份数据到cd中

3. 复制只读表或许要害到多个数据库

4. 归档历史数据

5. 履行spitr 根据时刻点的表空间康复

在线传输表空间的作业流程(processes)

1. 检查endian format,检查是否需求运用rman convert 转化endian(假如是相同渠道能够疏忽这一步)。

2. 挑选一个自包括的表空间调集。

3. 在源库端,将表空间置为read only形式,而且生成可传输的表空间调集。(export metadatawith transportable tablespace)

4. 传输表空间调集(运用scp或许其他的传输方法将expdp导出的元数据以及数据文件发送到方针服务器上)

5.康复表空间为read write形式(可选)

6.在方针端,导入表空间结合(import metadata)

示例一

1、检查方针和源端的endian是否相同

test@ORCL

SELECT d.PLATFORM_NAME, ENDIAN_FORMAT
FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d
WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME;

PLATFORM_NAME ENDIAN_FORMAT
-
Linux x8664-bit Little

test@ORCL

SELECT * FROM V$TRANSPORTABLE_PLATFORM ORDER BYPLATFORM_NAME;

PLATFORM_IDPLATFORM_NAME ENDIAN_FORMAT

6 AIX-Based Systems(64-bit) Big
16 Apple MacOS Big
19 HP IA OpenVMS Little
15 HP OpenVMS Little
5 HP Tru64UNIX Little
3 HP-UX (64-bit) Big
4 HP-UX IA(64-bit) Big
18 IBM Power BasedLinux Big
9 IBM zSeries BasedLinux Big
10 Linux IA(32-bit) Little
11 Linux IA(64-bit) Little
13 Linux x8664-bit Little
7 Microsoft Windows IA(32-bit) Little
8 Microsoft Windows IA(64-bit) Little
12 Microsoft Windows x8664-bit Little
17 Solaris Operating System(x86) Little
20 Solaris Operating System(x86-64) Little
1 Solaris[tm] OE(32-bit) Big
2 Solaris[tm] OE(64-bit) Big

19 rows selected.

这儿都是用Linux x86 64-bit 都是little endian 所以不需求运用rman convert 转化

(记住转化前先设置 表空间 read only 状况,确保数据文件在一个一致性的状况)

2、挑选自包括的表空间

test@ORCL

select t.name , d.name from v$tablespace t,v$datafile d where t.ts#=d.ts# ;

NAME NAME

SYSTEM /u01/apps/oracle/oradata/orcl/system01.dbf
UNDOTBS1 /u01/apps/oracle/oradata/orcl/undotbs01.dbf
SYSAUX /u01/apps/oracle/oradata/orcl/sysaux01.dbf
USERS /u01/apps/oracle/oradata/orcl/users01.dbf
EXAMPLE /u01/apps/oracle/oradata/orcl/example01.dbf
IOTTBS /u01/apps/oracle/oradata/orcl/iottbs01.dbf
IOTEXTBS /u01/apps/oracle/oradata/orcl/iotextbs01.dbf
UNDOTBS1 /u01/apps/oracle/oradata/orcl/undotbs02.dbf
DEXTBS /u01/apps/oracle/oradata/orcl/dextbs01.dbf
SQLTDBS /u01/apps/oracle/oradata/orcl/sqlttbs01.dbf

10 rows selected.

传输iotextbs 表空间对应数据文件

/u01/apps/oracle/oradata/orcl/iotextbs01.dbf

假如没有输出,表明是自包括的表空间

sys@ORCL EXECUTEDBMS_TTS.TRANSPORT_SET_CHECK(iotextbs,true) ;

PL/SQL procedure successfully completed.

sys@ORCL SELECT * FROM TRANSPORT_SET_VIOLATIONS;

no rows selected
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表凯发娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章