终于要进入实践了,我们假设现有数据库a:SID=jssweb做为源数据库,数据库b:SID=jsstts做为目标数据库。从数据库a复制表空间jssweb到数据库b。下面是具体操作步骤:
一、确认平台是否支持(Determine if Platforms are Supported and Endianness)
检查平台版本以及Endian,确认是否支持我们的传输条件。如果是不同平台间的传输,本步操作必不可少。
例如:
执行查询,获取平台信息E:\ORA10G>set oracle_sid=jssweb
首先连接到源数据库。
![]()
E:\ORA10G>sqlplus "/ as sysdba"
![]()
SQL> col name heading '实例名' for a10
SQL> col version heading '数据库版本' for a15
SQL> col platform_name heading '操作系统平台' for a30
SQL> col endian_format heading '字节顺序' for a15
SQL> SELECT d.NAME, i.VERSION, d.PLATFORM_NAME, ENDIAN_FORMAT 2 FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d, V$INSTANCE i 3 WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME 4 and d.DB_UNIQUE_NAME = i.INSTANCE_NAME; 实例名 数据库版本 操作系统平台 字节顺序 ---------- --------------- ------------------------------ --------------- JSSWEB 10.2.0.1.0 Microsoft Windows IA (32-bit) Little 然后连接到目标数据库,执行同样的查询。 [oracle@jsslinux ~]$ echo $ORACLE_SID jsstts [oracle@jsslinux ~]$ sqlplus "/ as sysdba" SQL> col name heading '实例名' for a10 SQL> col version heading '数据库版本' for a15 SQL> col platform_name heading '操作系统平台' for a30 SQL> col endian_format heading '字节顺序' for a15 SQL> SELECT d.NAME, i.VERSION, d.PLATFORM_NAME, ENDIAN_FORMAT 2 FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d, V$INSTANCE i 3 WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME 4 and d.DB_UNIQUE_NAME = i.INSTANCE_NAME; 实例名 数据库版本 操作系统平台 字节顺序 ---------- --------------- ------------------------------ --------------- JSSTTS 10.2.0.1.0 Linux IA (32-bit) Little SQL>
上述查询可以得到数据库版本、操作系统平台以及ENDIAN。结合我们上节提供的传输版本对照表确认是否满足我们的传输要求。
呵呵,这里我们运气不错,虽然是两个不同的操作系统平台,但由于都采用了oracle10g,并且字节顺序相同,不仅支持跨平台传输而且还可以省掉字节转换的操作。
