一、使用PL/SQL导入导出数据库
- 导出表 exp
打开plsql->tool->export tables
2. 导入表 imp
打开plsql->tool->import tables
Output/Input file填要导出和导入文件的路径。
此外,关于plsql导出dmp文件命令行一闪而过的问题:
- 增加一个环境变量ORACLE_HOME=D:\app\Lenovo\product\11.2.0\dbhome_1(此方法并无卵用,有待寻找更好的方法)
- 用cmd导入导出。
二、cmd分步骤导入导出数据库
- cmd导出oracle数据库的dmp文件到指定位置操作:
- 在cmd的命令界面输入 "exp"
- 输入用户名: database_name/database_password@ip地址/数据库名
- 提示"输入数组提取缓冲区的大小:4096>" -->直接回车
- 提示"导出文件:EXPDAT.DMP >" -->输入你要导出到那里,文件名叫什么。例如:c:\data.dmp
- 提示"(1)E(完整的数据库),(2)U(用户)或(3)T(表),(2)U>"-->直接"回车"
- 提示"导出权限(yes/no):yes >"-->回车
- 提示"导出表数据(yes/no):yes>" -->回车
- 提示"压缩区(yes/no):yes>"-->回车
- 提示"要导出的用户:(按RETURN退出) >"-->输入"database_name"。回车。
接下来会自动导入数据直到结束。
2. cmd导入dmp文件到oracle操作:
- 在cmd的界面输入"imp"
- 提示"用户名:"-->输入"database_name/database_password@ip地址/数据库名"
- 提示"仅导入数据(yes/no):no >"-->回车
- 提示"导入文件:EXPDAT.DMP"-->输入文件名称所在的路径。例如"c:\dmp_name.dmp",回车。
- 提示"输入缓冲区大小(最小值为8192)30720>"-->回车
- 提示"只列出导入文件的内容(yes/no)>no"-->回车
- 提示"由于对象已存在,忽略创建错误(yes/no):no"-->回车
- 提示"导入权限(yes/no):yes"-->回车
- 提示"导入表数据(yes/no):no>"-->回车
- 提示"导入整个导出文件(yes/no):no>"-->输入"yes"然后回车
即可导入到指定数据库中。
三、cmd一句式导出导入oracle
- 数据导出:
- 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
exp system/manager@TEST file=d:\daochu.dmp full=y
- 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
- 将数据库中的表table1 、table2导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
- 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
2. 数据导入
- 将D:\daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:\daochu.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。在后面加上 ignore=y 就可以。
- 将d:\daochu.dmp中的表table1导入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)