没动手做一遍真不知会有这么多坑,上次做过一次导入,是在SqlPlus命令行下完成的,这次做做导出,把刚从SqlServer迁移过来的【库】备份一下
1、SqlServer的SSMS是备份一个文件,把表/数据/存储过程/函数同时备份成一个bak
PL/SQL只能把表数据和对象(存储过程等)分开导出?不大方便啊
2、工具 -> 导出表,导出.dmp格式
一开始发现【导出】按钮是灰色的
plsql没有根据oracle home 环境变量找到imp.exe/exp.exe可执行文件, 故不能进行导入导出操作。 解决办法:可以配置oracle home环境变量或者点击import executable 后面的文件夹图标,手动定位到oracle安装目录下的 E:\oracle\product\10.2.0\db_1\BIN\exp.exe,即可。
可能是因为当时客户端没装好,要手动指定到安装目录下BIN下的ep.exe
指定完【导出】按钮是可以点了,但点完一闪而过,又看不到报错原因,没有实际导出
一种可能是没有权限
如果点击导入\导出按钮后,屏幕一闪而过,没有成功导入的话,有可能是你的当前用户不具备导入\导出操作权限,可赋于dba权限进行操作。 grant dba to yourusername.
一种是要添加系统环境变量(加了也不能马上生效,最后注销了才行)
设置环境变量就可以了。
变量名:ORACLE_HOME
变量值:为ORACLE安装bin目录的上一级目录,假如你的bin目录就在d:oraclein
那么变量值就设置为d:oracle
一种是版本不同(本次不是这种情况)
10g的oracle数据库 不能用11g的客户端去导出。导出窗口闪一下就消失,但导出的表又很多的,就说明那个客户端不能导出了啊。
3、工具 -> 导出用户对象
导对象还比较顺利,是导出.sql文本,不是.dmp
一个简单的备份就有这些名堂,晚上有空再试试导入