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、导入导出字符集要保持一致,避免导入导出时转换     

你可能感兴趣的:(oracle)