The Best Oracle
Resource on the Web |
New
Cross-Platform Transportable Tablespaces
From the
bestselling Oracle10g
book, Oracle Database 10g New
Features by Mike Ault, Madhu Tumma, and Daniel Liu,
published by Rampant TechPress and can be purchased directly from
Rampant TechPress for 10%-off by clicking
here.
by
Mike
Ault
|
A transportable
tablespace allows you to quickly move a subset of an Oracle database from one
Oracle database to another. However, in the previous release of Oracle server,
you can only move a tablespace across Oracle databases within the same platform.
Oracle 10g
is going one step further by allowing you to move tablespace across different
platforms.
Benefits
One of the major
benefits for organizations that hosts Oracle databases on different platforms is
that data can now be moved between databases quickly, across different
platforms. Using the new cross-platform transportable tablespaces method to move
data is more efficient than the traditional method of export and import.
Supported
Platforms and New Data Dictionary Views
Oracle Database 10g
supports nine platforms for transportable tablespace.
A new data dictionary
view, v$transportable_platform, lists all nine supported platforms, along with
platform ID and endian format.
|
PLATFORM_ID
|
PLATFORM_NAME |
ENDIAN_FORMAT |
|
1 |
Solaris[tm] OE
(32-bit) |
Big |
|
2 |
Solaris[tm] OE
(64-bit) |
Big |
|
3 |
HP-UX (64-bit) |
Big |
|
4 |
HP-UX
IA
(64-bit) |
Big |
|
5 |
HP Tru64 UNIX |
Little |
|
6 |
AIX-Based Systems
(64-bit) |
Big |
|
7 |
Microsoft Windows
NT |
Little |
|
8 |
Linux
IA
(32-bit) |
Little |
|
9 |
Linux
IA
(64-bit) |
Little |
Table 3.3: Supported
platforms for transportable tablespaces.
The v$database data
dictionary view also adds two columns, platform ID and platform name:
SQL> select name, platform_id,platform_name
2 from v$database;
NAME PLATFORM_ID PLATFORM_NAME
------- ----------- -----------------------
GRID 2 Solaris[tm] OE (64-bit)
To transport a
tablespace from one platform to another, datafiles on different platforms must
be in the same endian format (byte ordering).
The pattern for byte
ordering in native types is called endianness. There are only two main patterns,
big endian and little endian. Big endian means the most significant byte comes
first, and little endian means the least significant byte comes first. If the
source platform and the target platform are of different endianness, then an
additional step must be taken on either the source or target platform to convert
the tablespace being transported to the target format. If they are of the same
endianness, then no conversion is necessary and tablespaces can be transported
as if they were on the same platform.
Be aware of the
following limitations as you plan for transportable tablespace use:
-
The source and target database must use the same character set and national
character set.
-
You cannot transport a tablespace to a target database in which a tablespace
with the same name already exists. However, you can rename either the
tablespace to be transported or the destination tablespace before the
transport operation.
-
The set should be self-containing
Convert
Datafiles using RMAN
You do not need to
convert the datafile to transport a tablespace from an AIX-based platform to a
Sun platform, since both platforms use a big endian.
However, to transport a
tablespace from a Sun platform (big endian) to a Linux platform (little endian),
you need to use the CONVERT command in the RMAN utility to convert the byte
ordering. This can be done on either the source platform or the target platform.
RMAN> CONVERT TABLESPACE ‘USERS’
TO PLATFORM = ‘Linux IA (32-bit)’
DB_FILE_NAME_CONVERT = ‘/u02/oradata/grid/users01.dbf’, ‘/dba/recovery_area/transport_linux’
--
|