动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.Oracle 10g中用FORALL处理非连续.
.我用的是Redhat Linux,但是我的.
.连接到oracle数据库(一).
.解决Oracle 9i和Tomcat端口冲突.
.教会你掌握oracle外表.
.HP-UX rx2600 B.11.22 U ia64 安.
.Oracle中国前员工述说公司高层内.
.[翻译]关于data guard的模式,9i.
.在 .NET中使用Oracle数据库事务.
.ORACLE入门之监控数据库性能的SQL.
.PL/SQL构建代码分析工具之创建高.
.如何列出一个目录占用的空间.
.嵌入式设备上的 Linux 系统开发.
.Oracle数据库技术(19).
.DOS 的使用者投向 Linux :介绍 02.
.FreeBSD-5.2下安装ORACLE9i手记.
.嵌入式Linux指南.
.Oracle 10G中的回收站(Recycle B.
.详细讲解如何给导入文件加上时间.
.oracle9.2在redhad2.1安装.

Oracle可传输表空间实现跨平台移植

发表日期:2008-2-9 |


可传输表空间现在可以跨平台移植,从而使得数据发布更快更轻易。此外,外部表下载使得通过转换进行数据转移的任务更简单更快。 如何将数据从一个数据库转移到另一个数据库?在现有的几种方法中,有一种方法尤为出色:可传输表空间。在这种方法中,使用一组自包含、只读的表空间,只导出元数据,在操作系统层将这些表空间的数据文件拷贝至目标平台,并将元数据导入数据字典 — 这个过程称为插入。 操作系统文件拷贝一般比其它传统的数据转移方法(如导出/导入或 SQL*Loader)要快得多。然而,在 Oracle9i 数据库和更低版本中,可传输表空间仅限于在目标数据库和源数据库都运行在同一操作系统平台上的少数情况下才有用 — 例如,不能在 Solaris 和 HP-UX 平台之间传输表空间。 在 Oracle 数据库 10g 中,这个局限消失了:只要操作系统字节顺序相同,就可以在平台之间传输表空间。本文将不就字节顺序展开长篇的讨论,但这里只要提几句话就足够了:一些操作系统(包括 Windows)在低位内存地址中用最低有效字节存储多字节二进制数据;因此这种系统被称为低地址低字节序。相反,其它的操作系统(包括 Solaris)将最高有效字节存储在低位内存地址中,因此这种系统被称为低地址高字节序。当一个低地址高字节序的系统试图从一个低地址低字节序的系统中读取数据时,需要一个转换过程 — 否则,字节顺序将导致不能正确解释读取的数据。(有关字节顺序的具体说明,请阅读嵌入式系统编程的 2002 年 1 月刊中的一篇极好的文章“字节顺序介绍”。)不过,当在相同字节顺序的平台之间传输表空间时,不需要任何转换。 怎么知道哪一种操作系统采用哪一种字节顺序?不需猜测或搜索互联网,相反只需简单地执行以下查询:
  SQL> select * from v$transportable_platform order by platform_id;      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 IA (32-bit)    Little   8 Microsoft Windows IA (64-bit)    Little   9 IBM zSeries Based Linux       Big   10 Linux IA (32-bit)          Little   11 Linux IA (64-bit)          Little   12 Microsoft Windows 64-bit for AMD  Little   13 Linux 64-bit for AMD        Little   15 HP Open VMS             Little   16 Apple Mac OS            Big
假设想从一台在 Intel 体系结构上运行 Linux 操作系统的主机 SRC1 中将一个表空间 USERS 传输到运行 Microsoft Windows 操作系统的计算机 TGT1 上。源平台和目标平台都是低地址低字节序的。表空间 USERS 的数据文件是 users_01.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_01.dbf 拷贝至主机 TGT1。假如使用 FTP,那么将需要指定二进制选项。 将表空间插入到数据库中。在操作系统命令提示符下执行下面的语句:
  imp tablespaces=users transport_tablespace=y file=exp_ts_users.dmp datafiles='users_01.dbf'
在第 4 步之后,目标数据库将有一个名称为 USERS 的表空间,并将提供该表空间的内容。请记住,系统 SRC1 和 TGT1 分别是 Linux 和 Windows。到 Oracle9i 为止,运行在 TGT1 上的数据库不能识别第 4 步中的数据文件 users_01.dbf,从而使得整个过程无用。您将必须求助其它一些方法(如常规的导出和导入、创建纯文本文件并通过 SQL*Loader 加载,或直接在不同的数据库间连接加载插入)。 在 10g 中,不再需要这些替代方法,因为目标数据库能够识别来自另一个平台的数据文件。在我们的示例中,源主机和目标主机运行的操作系统的字节顺序是相同的(低地址低字节序),因此不需要任何转换。 这个功能在数据仓库中非凡有用,其中更小的面向对象的数据集市经常在刷新之后从仓库中进行填充。利用 10g,这些数据集市现在能够放在更小、更廉价的计算机(如运行 Linux 的 Intel boxes)中,而将数据仓库服务器放在更大的企业级计算机中。从本质上讲,利用可传输表空间,现在可以更好地利用各种硬件和操作系统的组合。 跨不同字节顺序的平台 假如平台是不同字节顺序的,那么将如何实现可传输性?正如我之前说明的,目标计算机的字节顺序假如与源计算机的字节顺序不同,那么将不能正确地读取数据文件,因而不可能简单地拷贝数据文件。但别灰心,在 Oracle 10g RMAN 实用程序中提供了帮助,它支持将数据文件从一种字节顺序向另一种字节顺序转换。 在上面的例子中,假如主机 SRC1 运行在 Linux 上(低地址低字节序),而目标主机 TGT1 运行在 HP-UX 上(低地址高字节序),那么需要在第 3 步和第 4 步之间引入另一个步骤,以进行转换。利用 RMAN,您将在源计算机 SRC1 上把数据文件从 Linux 转换成 HP-UX 格式(假定已经使表空间变为只读):
  RMAN> convert tablespace users   2> to platform 'HP-UX (64-bit)'   3> format='/home/oracle/rman_bkups/%N_%f';      Starting backup at 14-MAR-04   using channel ORA_DISK_1   channel ORA_DISK_1:starting datafile conversion   input datafile fno=00004 name=/usr/oradata/dw/starz10/users01.dbf   converted datafile=/home/oracle/rman_bkups/USERS_4   channel ORA_DISK_1:datafile conversion complete, elapsed time: 00:00:07   Finished backup at 14-MAR-04
这个步骤在目录 /home/oracle/rman_bkups 中创建了一个标准 RMAN 文件格式_ 的文件。注重我们没有触及表空间 USERS 的数据文件;而是为 HP-UX 创建了一个新文件。现在可以将这个文件拷贝至目标系统,剩下的步骤很简单。 这个 RMAN 转换命令非常强大。按照上面给定的形式,它可以按顺序创建数据文件。对于包含多个数据文件的表空间,可以命令同时转换并运行多个数据文件。要实现这一目的,将需要在上述命令中添加一个子句:
  parallelism = 4  
该子句创建四个 RMAN 通道,每一个通道处理一个数据文件。不过,一种更有用的方法是用一个步骤转换大量的表空间,在这种情况下并行转换将真正带来很大的帮助。下面我们将两个表空间 USERS 和 MAINTS 转换至 HP-UX:
  RMAN> convert tablespace users, maints   2> to platform 'HP-UX (64-bit)'   3> format='/home/oracle/rman_bkups/%N_%f'   4> parallelism = 5;      Starting backup at 14-MAR-04   using target database controlfile instead of recovery catalog   allocated channel:ORA_DISK_1   channel ORA_DISK_1:sid=244 devtype=DISK   allocated channel:ORA_DISK_2   channel ORA_DISK_2:sid=243 devtype=DISK   allocated channel:ORA_DISK_3   channel ORA_DISK_3:sid=245 devtype=DISK   allocated channel:ORA_DISK_4   channel ORA_DISK_4:sid=272 devtype=DISK   allocated channel:ORA_DISK_5   channel ORA_DISK_5:sid=253 devtype=DISK   channel ORA_DISK_1:starting datafile conversion   input datafile fno=00004 name=/usr/oradata/dw10/dw10/users01.dbf   channel ORA_DISK_2:starting datafile conversion   input datafile fno=00005 name=/usr/oradata/dw10/dw10/users02.dbf   channel ORA_DISK_3:starting datafile conversion   input datafile fno=00006 name=/usr/oradata/dw10/dw10/maints01.dbf   channel ORA_DISK_4:starting datafile conversion   input datafile fno=00007 name=/usr/oradata/dw10/dw10/maints02.dbf   converted datafile=/home/oracle/rman_bkups/USERS_4   channel ORA_DISK_1:datafile conversion complete, elapsed time: 00:00:03   converted datafile=/home/oracle/rman_bkups/USERS_5   channel ORA_DISK_2:datafile conversion complete, elapsed time: 00:00:00   converted datafile=/home/oracle/rman_bkups/MAINTS_6   channel ORA_DISK_3:datafile conversion complete, elapsed time: 00:00:01   converted datafile=/home/oracle/rman_bkups/MAINTS_7   channel ORA_DISK_4:datafile conversion complete, elapsed time: 00:00:01   Finished backup at 14-MAR-04
在上述例子中,转换后的文件名难于辨认并很难与原始文件关联(例如,文件 users01.dbf 变为 USERS_4)。相反,还可以使用其它格式来为数据文件命名。

上一篇:Oracle 10G数据库自动内存管理分析 人气:933
下一篇:Oracle中管理物化视图变得更加容易 人气:581
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-10 企业网站智能管理系统(TZIMS) v6
2008-10-10 拓文asp.net网站内容管理系统 v6
2008-10-10 动网论坛PHP版 v2.0++ Build 081
2008-10-10 免费时代CMS v5.0
2008-10-10 wodig第四季中文DIGG社区 v4.1 b
2008-10-10 老Y文章管理系统 v2.2 bulid 081
2008-10-10 魔法盒动感相册 ASP+SQL版 v2.0
2008-10-10 Asoft签到管理系统 v3.0 Pack1
2008-10-10 哥特人音乐网潮流留言本 v1.1
2008-10-11 联系人分组工具 v1.1 中文破解版
2008-10-11 FaceMelter变脸 v2.0 汉化破解版
2008-10-11 PathTracker道路跟踪仪 v1.2 破解
2008-10-11 Rooms手机聊天室 v0.6.7 破解版
2008-10-11 RemoteDesktop远程桌面 v1.0 破解
2008-10-11 ProRemote远程调音台 v1.0.1 破解
2008-10-11 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
2008-10-11 WriteRoom共享文档 v1.0 破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号