浅析Oracle对象和数据的导入导出

对于Oracle对象和数据的导入导出,我们会用到一些小工具。以前我们一般都是使用PL/SQL Developer来实现,但是PL/SQL Developer在导出、导入数据时有两个问题:

1、要把表数据和对象(存储过程、视图)分开导出

2、导出的视图如果有注释,那么在导入时常常会出错。

#T#

其实,PL/SQL的导出、导入功能使用的是Oracle自带的工具:exp和imp,这两个工具的导出导入数据时提供了很多功能,PL/SQL 只是使用其中的一些功能。下面对它们简单介绍一下:

1 exp/imp使用方法及实例

exp/imp为一种数据库备份恢复工具也可以作为不同数据库之间传递数据的工具两个数据库所在的操作系统可以不同exp 可以将数据库数据导出为二进制文件imp 可以将导出的数据文件再导入到相同的数据库或不同的数据库

数据库导出有四种模式full(全库导出), owner(用户导出), table(表导出), tablespace(表空间导出).

full( 全库导出): 导出除ORDSYS,MDSYS,CTXSYS,ORDPLUGINS,LBACSYS 这些系统用户之外的所有用户的数据.

owner( 用户导出): 导出某个或某些用户的所有权限和数据.

tables( 表导出): 导出某些表(可以是不同用户的)的结构和数据.

tablespace( 表空间导出):表空间导出数据.

执行exp 有三种方法:交互式,命令行和参数文件

交互式:直接输入exp 命令用户可以按照exp 提示的信息一步一步操作,比较简单.

命令行:输入命令行exp username/password parameter=value.

参数文件:输入命令行exp username/password parfile=filename exp 所需的参数从参数文件引入.

参数是可以重复的优先级为命令行优于参数文件后面的参数值覆盖于前面的参数值.

参数介绍

详细的介绍可通过exp help=y或imp helpe=y来查看。下面只对一些常用的参数进行说明。

buffer 缓冲区大小如果此值设为0 则一次只导入一条记录对数据量大的导出可以设置较大一般缺省值即可.

file 导出的文件列表可以指定一个或多个文件名缺省扩展名为.dmp 缺省导出文件名为expdat.dmp.

filesize exp 导出文件的最大字节数超出时从文件列表中获取下一个文件名,没有,则提示输入新的文件名.

help 显示export 参数帮助信息

inctype 增量备份的类型:complete(完全),cumulative(累积)和incremental (增量).

只可以在全库导出模式下才可以做完全累积或增量导出累积导出只导出自上次累积导出或完全导出以来已经修改的表增量导出只导出自上次增量累积或完全导出以来已经修改的表完全导出将数据库中全部对象都导出不管是否以及何时被修改.

log:日志文件,一般如果以命令行导入时,将log 设置上比较好可以看,到所有的导入信息,导入信息哪儿出错,导入了那些数据库对象.

show(imp):只是用来显示备份数据文件的内容.

full:为Y 时表示在全库方式下导出缺省为N.

tables:导出的表列表可以指定一个或多个表名.

fromuser(imp):可以将导出文件中的一个用户模式的数据对象导入为另一个用户模式的对象此参数表示导出文件中的用户模式.

 touser(imp):此参数表示导入到数据库中时使用的用户模式对象譬如使用全库或者用户模式导出caittmdba用户的所有对象到一个文件中导 入时需要将用户模式名称改为caittmdba1此时fromuser 为caittmdba,touser 为caittmdba1

Oracle对象和数据导出、导入实例

导出数据:

  1. D:\oracle\ora92\bin\exp userid=caittmdba/cait@YSDB_192.168.1.2 owner=caittmdba file=e:\%DATE%.dmp log=e:\exp.log 

通过该命令可以把caittmdba这个用户所属的所有数据、对象导出到一个文件中,导出的日志写在e:\exp.log文件中,连接Oracle的本地服务名为YSDB_192.168.1.2,导出的文件为e:\%DATE%.dmp,这个文件的文件名是当前的日期。如果把这个命令写成批处理文件,并放到计划任务中,就可以自动进行备份数据了。

导入数据:

  1. D:\oracle\ora92\bin\imp userid=caittmdba/cait@YSDB_192.168.1.2 fromuser=caittmdba touser=caittmdba file=e:\data.dmp log=e:\imp.log 

注意事项

在导出数据时常常会出现Oracle 942 错误,这个错误往往是在对Oracle进行了升级后才会出现,这是Oracle升级程序的一个Bug(Oracle的Bug和补丁一直以来都是满天飞,而 且不成体系,文档和技术支持以少,这一点和MS比起来就差很远了。如果大家去看一看Oracle的发展经历相关的文章就知道,Oracle从开始就这 样)。
这个Bug只需要执行ORACLE_HOME/rdbms/admin/catpatch.sql 脚本就可以了,同时要注意调大java_pool_size 和shared_pool_size这两个参数的大小,不然会很花时间的。在用sysdba的身份登录进SQL Plus执行下面的命令:

  1. SQL>shutdown immediate;  
  2. SQL>startup migrate;  
  3. SQL>@?/rdbms/admin/catpatch.sql 

大约半个小时就可以执行完了。

Oracle对象和数据就介绍到这里。

【编辑推荐】

  1. 详谈Oracle对象特权说明
  2. Oracle调优综述
  3. Oracle创建管理员步骤概述
  4. Oracle密码安全问题佚事
  5. 七步详细分析Oracle表空间

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/262544.html<

(0)
管理的头像管理
上一篇2025-05-04 03:48
下一篇 2025-05-04 03:49

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注