oracle之命令行导入导出数据库及sqlplus远程连接

[TOC]

参考链接

Oracle数据库导入导出命令总结
sqlplus连接远程数据库
ORACLE的impdp和expdp命令
oracle expdp——红黑联盟

oracle之命令行导入导出数据库及sqlplus远程连接

oracle之命令行导入导出数据库

exp 和imp导入导出

导出命令 (exp)

exp [用户名]/[密码]@[主机ip]:[端口号]/[SID/service] file=d:\zhpt.dmp full=n
file是导出路径
full=n,表示是否导出主机数据库上全部用户,n表示否,y表示是

exp abc/abc@183.233.179.165:1521/orcl file=d:\zhpt.dmp full=y
image.png

导入数据库(imp)

# full 表示是否导出全部数据,一定要设置
# log 输出日志文件
# fromuser 从哪一个用户导入
# touser 导入到哪个用户
# ignore=y buffer=100000000; 修改缓冲区大小,有时sql语句过长,会造成缓冲区空间不足

imp username/pwd@orcl file=d:\zhpt.dmp log=C:\data\logname.log full=y
或者
imp username/pwd@orcl file=E:\20171108.dmp fromuser=username touser= username log=D:\webBackend\kingzheng\住房保障系统\fszfbz201711191635.log full=n
或者
imp username/pwd@orcl file=d:\zhpt.dmp log=C:\data\logname.log full=y ignore=y buffer=100000000;

创建数据泵使用expdp和impdp导入导出

需要先创建数据泵

数据泵,说白了就是指定一个目录给oracle,但是oracle不会帮你创建的,需要自己先实际地创建

#  查看所有数据泵地址
select * from dba_directories;
# 创建数据泵,数据泵地址即为你的导出导入地址文件地址
create directory myname as 'D:\temp\数据泵地址';
# 授予权限 sshe这个用户可读可写
grant read,write on directory dpdata1 to sshe;

sql>--可以使用以下语句查看目录操作权限
sql>  SELECT privilege, directory_name, DIRECTORY_PATH FROM user_tab_privs t, all_directories d WHERE t.table_name(+) = d.directory_name ORDER BY 2, 1; 

注意: 数据泵地址以及文件dmp需要自己创建

导出数据(expdp)

这种数据泵效率非常高,但是使用这种数据泵导出的数据,需要用impdp导入

rem my_dir是数据泵名称
rem exclude table:"in(表名,列名2,……)"不导出某些表
expdp test/test@127.0.0.1:1521/orcl directory=my_dir dumpfile=my.dmp exclude=table:\"in \(\'DEPT\',\'EMP\'\)\" SCHEMAS=FSJSCX

impdp

expdp的语法格式差不多

impdp test/test@orcl DIRECTORY=my_dir  DUMPFILE=my.dmp SCHEMAS=test logfile=%logfile% 

问题

这些对象由 FSZJZ 导出, 而不是当前用户

image.png

导出是哪个用户,导入时用户也要相同,需要自己再创建一个用户


20170927
我发现仍然可以导入,用户名不一样,也有可能忽略了前缀c##,c##是新版oracle数据库的要求

image.png

只有管理员用户,才可以导入

image.png

导入的用户,需要赋与管理员权限

ora-28759 无法打开文件

以下这两句可能在不同的操作系统,支持不同,不太清楚,我服务器,两个都是sever2008,但是只有一个报这个错误,这个报错确实跟用户连接有关系,最好是采用second

# first
expdp test/test@orcl directory=my_dir dumpfile=my.dmp exclude=table:\"in \(\'DEPT\',\'EMP\'\)\"
# second
expdp test/test@127.0.0.1:1521/orcl directory=my_dir dumpfile=my.dmp exclude=table:\"in \(\'DEPT\',\'EMP\'\)\"

sqlplus 远程连接

命令:sqlplus 用户名/密码@ip地址[:端口]/service_name [as sysdba]
示例:sqlplus sys/pwd@ip:1521/test as sysdba

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Oracle数据导入导出imp/exp功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备...
    Bruce杨阅读 5,852评论 0 2
  • 一、源题QUESTION 74View the Exhibit. You want to create a tab...
    猫猫_tomluo阅读 5,564评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,963评论 19 139
  • 这两天天气变化很大,前天还在外边晒暖,今天就突然冷了起来,有种想要下雪的感觉。昨天晚上说今天去宣传招生的,今天也突...
    龙航007阅读 3,552评论 0 1
  • 对象是类的实例,万事万物皆对象。类式对象的类型,具体到某一个事物对象是带有属性和方法的特殊数据类型。 创建对象 1...
    恩德_b0c2阅读 2,635评论 0 3

友情链接更多精彩内容