oracle-导入导出
oracle自带两个工具(exe文件),exp和imp 完成 数据库的导出和导入。
1导出exp:
a.表方式:导出指定的表
exp scott/tiger@127.0.0.1 file=d:/back/bk.dmp log=d:/back/log.log tables=emp,dept
如果报ORA-12504: TNS: 监听程序在 CONNECT_DATA 中未获得 SERVICE_NAME,那就需要指明数据库名称
PS D:\> exp scott/tiger@127.0.0.1 file=d:/back/bk.dmp log=d:/back/log.log tables=emp,dept
Export: Release 11.2.0.1.0 - Production on 星期六 7月 16 23:51:31 2022
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
EXP-00056: 遇到 ORACLE 错误 12504
ORA-12504: TNS: 监听程序在 CONNECT_DATA 中未获得 SERVICE_NAME
EXP-00000: 导出终止失败
PS D:\> exp scott/tiger@127.0.0.1/orcl file=d:/back/bk.dmp log=d:/back/log.log tables=emp,dept
Export: Release 11.2.0.1.0 - Production on 星期六 7月 16 23:49:58 2022
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
服务器使用 AL32UTF8 字符集 (可能的字符集转换)
即将导出指定的表通过常规路径...
. . 正在导出表 EMP导出了 14 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表 DEPT导出了 4 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
导出成功终止, 但出现警告。
PS D:\>
b.用户方式:导出指定用户的所有对象和数据
exp scott/tiger@127.0.0.1 file=d:/back/bk.dmp log=d:/back/log.log
c.全库方式:(管理员账户)(时间有点久) 将数据库中的所有对象和数据导出
exp system/manager@127.0.0.1/orcl file=d:/back/full.dmp log=d:/back/log.log full=y
如果记不住命令还可以使用向导模式:输入exp后回车,会有提示,根据提示输入需要的参数
2导入imp
a.表方式
imp scott/tiger@127.0.0.1/myoracle file=D:/back/bk.dmp log=d:/back/log.log tables=emp,dept fromuser=scott touser=scott commit=y ignore=y
b.用户方式
imp scott/tiger@127.0.0.1/myoracle file=D:/back/bk.dmp log=d:/back/log.log fromuser=scott touser=scott commit=y ignore=y
c.全库方式(管理员账户)
imp system/manager@127.0.0.1/myoracle file=D:/back/full.dmp log=d:/back/log.log full=y ignore=y destroy=y;(如果已存在,删除后重新创建)
向导模式:imp
如果导出的文件,导出时是使用dba身份导出的,导入时同样需要使用dba身份导入
exp system/manager@127.0.0.1 file=d:/back/bk.dmp log=d:/back/log.log
imp system/manager@127.0.0.1/myoracle file=D:/back/bk.dmp log=d:/back/log.log fromuser=system touser=scott commit=y ignore=y