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