一、8i exp常用选项
1、full,这个用于导出整个数据库,在rows=n一起使用时,可以导出整个数据库的结构。例如:
exp sys file=./db_str.dmp log=./db_str.log full=y rows=n compress=y direct=y
2、buffer和feedback,在导出比较多的数据时,我会考虑设置这两个参数。例如:
exp new file=yw97_2003.dmp log=yw97_2003_3.log feedback=10000 buffer=100000000 tables=wo4,ok_yt
3、fill和log,这两个参数分别指定备份的dmp名称和log名称,包括文件名和目录,例子见上面。
需要说明的是,exp可以直接备份到磁带中,即使用file=/dev/rmt0(磁带设备名),但是一般我们都不这么做,原因有二:一、这样做的速度会慢很多,二、现在一般都是使用磁带库的,不建议直接对磁带进行操作。至于没有使用磁带库的朋友可以考虑和unix的tar结合使用。
如果你真想使用exp直接到磁带,你可以参考metalink文章“exporting to tape on unix systems”(文档号:30428.1),该文中有详细解释。
4、compress参数将在导出的同时合并碎块,尽量把数据压缩到initial的extent里,默认是n,一般建议使用。direct参数将告诉exp直接读取数据,而不像传统的exp那样,使用select来读取表中的数据,这样就减少了sql语句处理过程。一般也建议使用。不过有些情况下direct参数是无法使用的。
5、如何使用sysdba执行exp/imp?
这是一个很现实的问题,有时候我们需要使用sysdba来执行exp/imp,如进行传输表空间的exp/imp,以及在9i下用sys用户来执行exp/imp时,都需要使用sysdba才可。我们可以使用下面方式连入exp/imp:
exp "'sys/sys as sysdba'" file=1.dmp tables=gototop.t rows=n
6、query参数后面跟的是where条件,值得注意的是,整个where子句需要使用""括起来,where子句的写法和select中相同,如果是unix平台所有"和'都需要使用\u26469屏蔽它们的特殊含义:
exp gototop/gototop file=1.dmp log=1.log tables=cyx.t query="where c1=20 and c2=gototop"
如果是windows平台,则使用下面的格式:
exp c/c@ncn file=c.dmp log=c.log tables=t query="""where id=1 and name='gototop'"""
二、8i imp常用选项
1、fromuser和touser,使用它们实现将数据从一个schema中导入到另外一个schema中。
2、ignore、grants和indexes,其中ignore参数将忽略表的存在,继续导入,这个对于需要调整表的存储参数时很有用,我们可以先根据实际情况用合理的存储参数建好表,然后直接导入数据。而grants和indexes则表示是否导入授权和索引,如果想使用新的存储参数重建索引,或者为了加快到入速度,我们可以考虑将indexes设为n,而grants一般都是y。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器