知识大全 Oracle 10g 可传输表空间现在可以跨平台移植
Posted 字节
篇首语:行是知之始,知是行之成。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle 10g 可传输表空间现在可以跨平台移植相关的知识,希望对你有一定的参考价值。
Oracle 10g 可传输表空间现在可以跨平台移植 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
可传输表空间现在可以跨平台移植 从而使得数据发布更快更容易 此外 外部表下载使得通过转换进行数据转移的任务更简单更快 您如何将数据从一个数据库转移到另一个数据库?在现有的几种方法中 有一种方法尤为出色 可传输表空间 在这种方法中 您使用一组自包含 只读的表空间 只导出元数据 在操作系统层将这些表空间的数据文件拷贝至目标平台 并将元数据导入数据字典 — 这个过程称为插入 操作系统文件拷贝一般比其它传统的数据转移方法(如导出/导入或 SQL*Loader)要快得多 然而 在 Oracle i 数据库和更低版本中 可传输表空间仅限于在目标数据库和源数据库都运行在同一操作系统平台上的少数情况下才有用 — 例如 您不能在 Solaris 和 HP UX 平台之间传输表空间 在 Oracle 数据库 g 中 这个局限消失了 只要操作系统字节顺序相同 您就可以在平台之间传输表空间 本文将不就字节顺序展开长篇的讨论 但这里只要提几句话就足够了 一些操作系统(包括 Windows)在低位内存地址中用最低有效字节存储多字节二进制数据 因此这种系统被称为低地址低字节序 相反 其它的操作系统(包括 Solaris)将最高有效字节存储在低位内存地址中 因此这种系统被称为低地址高字节序 当一个低地址高字节序的系统试图从一个低地址低字节序的系统中读取数据时 需要一个转换过程 — 否则 字节顺序将导致不能正确解释读取的数据 (有关字节顺序的详细说明 请阅读嵌入式系统编程的 年 月刊中的一篇极好的文章 字节顺序介绍 )不过 当在相同字节顺序的平台之间传输表空间时 不需要任何转换 您怎么知道哪一种操作系统采用哪一种字节顺序?不需猜测或搜索互联网 相反只需简单地执行以下查询 SQL> select * from v$transportable_platform order by platform_id; PLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT Solaris[tm] OE ( bit) Big Solaris[tm] OE ( bit) Big HP UX ( bit) Big HP UX IA ( bit) Big HP Tru UNIX Little AIX Based Systems ( bit) Big Microsoft Windows IA ( bit) Little Microsoft Windows IA ( bit) Little IBM zSeries Based Linux Big Linux IA ( bit) Little Linux IA ( bit) Little Microsoft Windows bit for AMD Little Linux bit for AMD Little HP Open VMS Little Apple Mac OS Big 假设您想从一台在 Intel 体系结构上运行 Linux 操作系统的主机 SRC 中将一个表空间 USERS 传输到运行 Microsoft Windows 操作系统的计算机 TGT 上 源平台和目标平台都是低地址低字节序的 表空间 USERS 的数据文件是 users_ dbf 您将按照类似以下的方法来进行操作 使表空间为只读 alter tablespace users read only; 导出表空间 在操作系统提示符下执行 exp tablespaces=users transport_tablespace=y file=exp_ts_users dmp exp_ts_users dmp 文件只包含元数据(不是表空间 USERS 的内容)因此它将非常小 将文件 exp_ts_users dmp 和 users_ dbf 拷贝至主机 TGT 如果您使用 FTP 那么您将需要指定二进制选项 将表空间插入到数据库中 在操作系统命令提示符下执行下面的语句 imp tablespaces=users transport_tablespace=y file=exp_ts_users dmp datafiles= users_ dbf 在第 步之后 目标数据库将有一个名称为 USERS 的表空间 并将提供该表空间的内容 请记住 系统 SRC 和 TGT 分别是 Linux 和 Windows 到 Oracle i 为止 运行在 TGT 上的数据库不能识别第 步中的数据文件 users_ dbf 从而使得整个过程无用 您将必须求助其它一些方法(如常规的导出和导入 创建纯文本文件并通过 SQL*Loader 加载 或直接在不同的数据库间连接加载插入) 在 g 中 不再需要这些替代方法 因为目标数据库能够识别来自另一个平台的数据文件 在我们的示例中 源主机和目标主机运行的操作系统的字节顺序是相同的(低地址低字节序) 因此不需要任何转换 这个功能在数据仓库中特别有用 其中更小的面向对象的数据集市常常在刷新之后从仓库中进行填充 利用 g 这些数据集市现在能够放在更小 更廉价的计算机(如运行 Linux 的 Intel boxes)中 而将数据仓库服务器放在更大的企业级计算机中 从本质上讲 利用可传输表空间 您现在可以更好地利用各种硬件和操作系统的组合 跨不同字节顺序的平台 如果平台是不同字节顺序的 那么您将如何实现可传输性?正如我之前说明的 目标计算机的字节顺序如果与源计算机的字节顺序不同 那么将不能正确地读取数据文件 因而不可能简单地拷贝数据文件 但别灰心 在 Oracle g RMAN 实用程序中提供了帮助 它支持将数据文件从一种字节顺序向另一种字节顺序转换 在上面的例子中 如果主机 SRC 运行在 Linux 上(低地址低字节序) 而目标主机 TGT 运行在 HP UX 上(低地址高字节序) 那么您需要在第 步和第 步之间引入另一个步骤 以进行转换 利用 RMAN 您将在源计算机 SRC 上把数据文件从 Linux 转换成 HP UX 格式(假定您已经使表空间变为只读) RMAN> convert tablespace users > to platform HP UX ( bit) > format= /home/oracle/rman_bkups/%N_%f ; Starting backup at MAR using channel ORA_DISK_ channel ORA_DISK_ :starting datafile conversion input datafile fno= name=/usr/oradata/dw/starz /users dbf converted datafile=/home/oracle/rman_bkups/USERS_ channel ORA_DISK_ :datafile conversion plete elapsed time: : : Finished backup at MAR 这个步骤在目录 /home/oracle/rman_bkups 中创建了一个标准 RMAN 文件格式 <tablespace_name>_<absolute_datafile_no> 的文件 注意我们没有触及表空间 USERS 的数据文件 而是为 HP UX 创建了一个新文件 现在可以将这个文件拷贝至目标系统 剩下的步骤很简单 这个 RMAN 转换命令非常强大 按照上面给定的形式 它可以按顺序创建数据文件 对于包含多个数据文件的表空间 您可以命令同时转换并运行多个数据文件 要实现这一目的 您将需要在上述命令中添加一个子句 parallelism = 该子句创建四个 RMAN 通道 每一个通道处理一个数据文件 不过 一种更有用的方法是用一个步骤转换大量的表空间 在这种情况下并行转换将真正带来很大的帮助 下面我们将两个表空间 USERS 和 MAINTS 转换至 HP UX RMAN> convert tablespace users maints > to platform HP UX ( bit) > format= /home/oracle/rman_bkups/%N_%f > parallelism = ; Starting backup at MAR using target database controlfile instead of recovery catalog allocated channel:ORA_DISK_ channel ORA_DISK_ :sid= devtype=DISK allocated channel:ORA_DISK_ channel ORA_DISK_ :sid= devtype=DISK allocated channel:ORA_DISK_ channel ORA_DISK_ :sid= devtype=DISK allocated channel:ORA_DISK_ channel ORA_DISK_ :sid= devtype=DISK allocated channel:ORA_DISK_ channel ORA_DISK_ :sid= devtype=DISK channel ORA_DISK_ :starting datafile conversion input datafile fno= name=/usr/oradata/dw /dw /users dbf channel ORA_DISK_ :starting datafile conversion input datafile fno= name=/usr/oradata/dw /dw /users dbf channel ORA_DISK_ :starting datafile conversion input datafile fno= name=/usr/oradata/dw /dw /maints dbf channel ORA_DISK_ :starting datafile conversion input datafile fno= name=/usr/oradata/dw /dw /maints dbf converted datafile=/home/oracle/rman_bkups/USERS_ channel ORA_DISK_ :datafile conversion plete elapsed time: : : converted datafile=/home/oracle/rman_bkups/USERS_ channel ORA_DISK_ :datafile conversion plete elapsed time: : : converted datafile=/home/oracle/rman_bkups/MAINTS_ channel ORA_DISK_ :datafile conversion plete elapsed time: : : converted datafile=/home/oracle/rman_bkups/MAINTS_ channel ORA_DISK_ :datafile conversion plete elapsed time: : : Finished backup at MAR 在上述例子中 转换后的文件名难于辨认并很难与原始文件关联(例如 文件 users dbf 变为 USERS_ ) 相反 您还可以使用其它格式来为数据文件命名 这个过程 cha138/Article/program/Oracle/201311/17393相关参考
Oracle10g同字节序跨平台迁移 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在Oracl
Oracle10g临时表空间组 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Oracleg引进
查看修改ORACLE10G归档日志空间的限制 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在O
Oracle10G常用维护语句 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 创建表空间
Oracle10g中层次查询简介 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 我们可以通过ST
Oracle的虚拟私有数据库特性(也称作细颗粒度存取控制)对诸如SELECT等数据管理语言DML语句提供行级安全性检查PL/SQL策略函数和某个数据表相关联这个函数可以检查当前用户的上下文背景并添
Oracle10G最佳20位新特性:改善的表空间管理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Oracle认证:Oracle10g恢复试验方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!看了
Oracle10g中current 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 以下的文章主要
Oracle10G启用闪回功能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! [oracle@l