beauty_beast

上善若水 厚德载物

oracle 导入导出

Posted on 2006-03-28 18:35 柳随风 阅读(1634) 评论(1)  编辑  收藏 所属分类: oracle日常管理
exp、imp是oracle抽取表、模式,相关参数通过命令行追加参数" help=Y",可以查看到详细的参数信息。
一般的我们都比较熟悉,上周在学习《export one on one oracle》中了解、学习了一些不常用的特性,
作为学习心得,记录如下;
exp 一些不熟悉的特性
1、filesize  该参数设置对应导出数据文件最大大小(这样可分成多个文件,为windows文件大小限制考虑)
2、query      过滤导出数据     =\" where colulmn\=1000\"(unix)  ,=\""" where column\=1000\"""(windows),估计plsql/developer,toad在导出数据功能方面就是用此功能,但该参数很方便,在不同的操作系统下不一样,
所以采用特性3配置文件的方式比较好
3、parfile=参数文件名
参数文件内容   query=" where x<10"
imp 有个特性比较好,可以导出对应数据对象的定义脚本
1、indexfile 
例子 imp  user/password   file=./test.dmp indexfile=define.sql

关于exp,imp 比较复杂的一个功能就是传输表空间。
使用前提:
        1、操作系统一致、字符集、块大小一致
        2、源数据数据库不存在多个同名表空间
        3、不能是系统、回滚表空间
        4、传输时表空间只读
        5、必须以sysdba用户导入导出
使用检查:
         
1、检查是否符合条件
          可通过oracle对应的工具包可以检查对应的表空间是否能够传输。
           exec dbms_tts.transport_set_check('表空间名',true);
           查看是否有违背的信息
                    select * from  transport_set_violations;
          2、设置对应表空间为只读
                    alter tablespace tablespacename read;
          3、导出表空间
                    exp \'sys/sys@TESTDB_10.243.21.30 as sysdba\'  transport_tablespace=y  tablespaces=portal                 file=./tts.dmp  
          4、拷贝出对应的数据文件
          5、导入
                  imp \'sys/sys  as sysdba\'  file=./tts.dmp  transport_tablespace=y
  "datafiles=(/export/home1/oracle/oradata/oracl/portal.dbf)"
         6、将对应表空间设置为可写
                 alter tablespace tablespacename read and write;
(可惜个人在第五步时发现两个数据库的字符集不一致,导致没有成功)

跨版本导入导出原则:
1、使用低版本导出工具
2、使用和目的数据库版本一致的导入工具 
3、导入导出字符集要保持一致,避免导入导出时转换     

      




Feedback

# re: oracle 导入导出  回复  更多评论   

2006-10-24 15:29 by AFIREMD
我现在是用DELPHI 语言来编写程序来实现将*.DBF(VF)的数据导入到ORACLE中去 应该怎么实现啊

只有注册用户登录后才能发表评论。


网站导航: