|
New Cross-Platform
Transportable Tablespaces
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’
|