oracle数据库导出灰色_Oracle数据库导入导出命令总结
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。利用这个功能我们可以从生产库中导出数据库,再导入数据库到测试库中。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行是由于在oracle中,安装目录\ora9i\bin被设置为全局路径(也可直接在系统环境变量中设置),该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。
下面是导入导出的实例。
数据导出:
1 将数据库zxcc完全导出,用户名kf密码zx导出到D:\zxcc.dmp中
exp kf/zx@zxcc file=d:\zxcc.dmp full=y
full=y 表示全库导出。full总共有2个可选项yes(y)/no(n),缺省情况下full=no,这时只会将该用户下的对象导出。
2 将数据库zxcc中kf用户与cc用户的表导出
exp kf/zx@zxcc file=d:\zxcc_ur.dmp owner=(kf,cc)
full方式可以备份所有用户的数据库对象,包括表空间、用户信息等,owner=XX只能备份指定用户的对象,其他用户下的就不备份了,EXP中full=y和owner=XX是不能同时使用的。
3 将数据库zxcc中的表kf_operator、kf_role导出
exp kf/zx@zxcc file= d:\zxcc_tb.dmp tables=(kf_operator,kf_role)
tables=xx 表示备份相关表,不能同时和owner、full使用。
4 将数据库中的表kf_operator中的字段oper_id以"00"打头的数据导出
exp kf/zx@zxcc file=d:\zxcc_t.dmp tables=(kf_operator) query=\" where oper_id like '00%'\"
query主要是导出合适条件的数据。使用该参数时,需要注意对所有操作系统保留字符都要使用转义符号。若有括号()也需要转义:
query=\"where dt=to_date\(\'2007-09-22\',\'yyyy-mm-dd\'\)\" 。
如果遇到条件比较繁琐的语句,频繁的转义操作不仅费时,还很容易出错。我们可以使用exp或expdp的PARFILE参数避免query内容的繁琐转义问题。
例:
oracle DBALNP01 > cat > zxcc.par
tables=kf_operator
file=zxcc.dmp
query="where dt_time=to_date('2010-06-25','yyyy-mm-dd')"
这时就可以尽情的再双引号中写条件语句了。
上面是常用的导出,对于比较大的数据库,我们可以对导出文件进行压缩处理,可用winzip把dmp文件进行压缩。
也可以在上面命令后面加上 compress=y来实现。
数据的导入:
1、将D:\zxcc.dmp中的数据导入zxcc数据库中。
imp kf/zx@zxcc file=D:\zxcc.dmp
导数据得时候,有可能报错。为什么?有以下主要的原因:
A.导入的对象(表,视图,方法等)原本不属于当前连接的用户的
B.导入的对象在该数据库的指定用户下已经存在
C.导入的对象的原本用户不在这个数据库里
对于这三个问题的处理方法如下:
a/c、所有对象全部导入到指定的账户下:
imp kf_new/zx@zxcc_new file=d:\zxcc.dmp fromuser=kf touser=kf_new
其中fromuser=kf为.dmp文件里的对象的原先的owner, touser=kf_new为作为导入的对象的新的Owner.
b、忽略/插入数据:
impkf_new/zx@zxcc_newfile=d:\zxcc.dmpignore=y
其中ignore=y告诉imp.exe把数据直接插入到相应对象(并且如果导入的对象里面有其他的对象,如约束,索引等,会在数据插入后被创建)。
2、将d:\zxcc_tb.dmp中的表tb_operator导入
imp kf/zx@zxcc file=d:\zxcc_tb.dmp tables=(tb_operator)
忽略加载约束
有时候导数据进来的时候,我们不需要把它的约束,比如一些外键约束等都导进来,可以加上参数constraints=N
不加载索引(比如唯一性的索引),可以加上参数indexs=N
只加载结构,不加载数据,如果只要表的结构等定义(约束,触发器),而不要里面的数据,可以加上参数rows=N
对于上述操作登陆操作的用户需是管理员,如果不是管理员,而是普通用户,那么这个用户必须有创建删除对象的权利,对象可能包括表,视图,方法,存储过程等等常见的对象。为什么“可能”包括?因为这个视导入导出的时候是否涉及相关类型的对象而定。
Imp kf/zx@zxcc_new file=d:\zxcc.dmp fromuser=kf touser=kf_new ignore=y
基本上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。
注意:
(1)、操作者要有足够的权限,权限不够会有提示。
(2)、数据库链接正常,可以用tnsping zxcc来检测数据库zxcc能否连上。
(3)、导入/导出数据库时注意字符集。可能会出现导出/导入时数据库字符集不一致而报错。
oracle数据库其他常用命令:
1、给用户增加导入数据权限的操作
第一,启动sql*puls
第二,以管理员(DBA)用户登陆
第三,create user用户名IDENTIFIED BY密码 (如果已经创建过用户,这步可以省略)
第四,>grant create user,drop user,alter user,create any view,drop any view,exp_full_database,imp_full_database,dba,resource,create session to用户名字;
第五,运行cmd进入dmp文件所在的目录,
imp userid=管理员用户名/密码full=y file= filename.dmp
或者 imp userid=管理员用户名/密码full=y file=filename.dmp
2、Oracle不允许直接改变表的拥有者,利用Export/Import可以达到这一目的.
先建立.par文件()
然后,使用时命令如下:imp parfile=/filepath/import9.par
例 import9.par内容如下:
FROMUSER=user
TOUSER=user_new (注:把表的拥有者由FROMUSER改为TOUSER,FROMUSER和TOUSER的用户可以不同)
ROWS=Y
INDEXES=Y
GRANTS=Y
CONSTRAINTS=Y
BUFFER=409600
file==/filepath/xxxx.dmp
log==/filepath/import_log.log
oracle数据库导出灰色_Oracle数据库导入导出命令总结相关推荐
- oracle数据库导出灰色_oracle数据库导出和oracle导入数据的二种方法(oracle导入导出数据)...
方法一:利用PL/SQL Developer工具导出: 菜单栏---->Tools---->Export Tables,如下图,设置相关参数即可: 方法二:利用cmd的操作命令导出,详情如 ...
- developer工具oracle导出,[转]PL/SQLDeveloper导入导出Oracle数据库方法
1.Oracle数据库导出步骤 1.1 Tools→Export User Objects...选项,导出.sql文件. 说明:此步骤导出的是建表语句(包括存储结构),不包括表中的数据,要导出数据需要 ...
- 数据库导入语句linux,数据库应用-SQL语句导入导出大全
数据库应用-SQL语句导入导出大全 发布时间:2006-06-03 09:59:43来源:红联作者:yo /******* 导出到excel EXEC master..xp_cmdshell 'bcp ...
- 仅用Python三行代码,实现数据库和excel之间的导入导出
目录 一.前言 二.python代码 2.1 从MySQL数据库导入csv 2.2 从csv导入MySQL数据库 三.讲解视频 一.前言 之前我分享过两次python的高效编程技巧,分别是, pyth ...
- oracle12c导入,Oracle 12c pdb使用expdp/impdp导入导出
1.查看当前的SID,查看pdb并切换到容器数据库,这里的pluggable数据库是pdborcl[oracle@test admin]$ echo $ORACLE_SID [oracle@test ...
- Oracle使用impdb/expdb数据泵导入/导出数据库
1.用有dba权限的用户登录:sys用户 2.创建对应表空间 需要手动创建文件夹 -- 格式:create tablespace 表空间名 datafile 文件路径 size 文件大小 [自增 每次 ...
- Oracle数据库的创建、数据导入导出
如何结合Sql脚本和PL/SQL Developer工具来实现创建表空间.创建数据库.备份数据库.还原数据库等操作,然后实现Oracle对象创建.导入数据等操作,方便我们快速了解.创建所需要的部署Sq ...
- linux上oracle导入mysql_linux下的oracle数据库和表空间的导入导出
由于oracle是安装在linux上面,因此需要oracle的导入导出都是使用命令进行操作.oracle允许整个数据库导入导出和表空间的导入导出. 数据库导入导出 以下操作是在操作系统控制台命令中执行 ...
- mysql怎么加载bak文件_MySQL数据库(表)的导入导出(备份和还原)
一)在同一个数据库服务器上面进行数据表间的数据导入导出: 1. 如果表tb1和tb2的结构是完全一样的,则使用以下的命令就可以将表tb1中的数据导入到表tb2中: insert into db2.tb ...
最新文章
- 2021年大数据ELK(二十):FileBeat是如何工作的
- aix oracle 10.2.0.1 升级 10.2.0.4,安装oracle 10.2.0.4 on aix 6.1的不同之处
- 十篇文章速览多模态推荐系统的最新进展
- python 命令行参数-Python处理命令行参数
- 省市县三级连动(数据在一个表中)
- 如何判断文本文件的编码格式?
- 音视频技术开发周刊 61期
- python如何自定义函数_python如何自定义函数_后端开发
- 牛客题霸 [容器盛水问题] C++题解/答案
- 修改网页代码_网站建设中使用简洁规范代码的重要性
- 使用git第一次成功,记录
- vc6.0处理wps文字
- 2021父亲节祝福话语、海报素材大全
- SEM和SEO的区别?哪个更好
- Docker容器内安装wkhtmltox用来html转pdf
- android刷原生rom教程,一加手机谷歌原生Android ROM包刷机教程
- rtems总体设计思路
- 验证码、通知短信API常见使用问题
- 怎么回答TCP的三次握手问题
- 什么是HSS?HSS有什么主要功能?HSS与HLR的区别是什么
热门文章
- Python关于numpy数组类型转换
- 64Mbit SOIC8封装SPI接口的国产串行SRAM EMI7064
- 大学计算机长文档排版教学视频教程,大学计算机基础中Word长文档排版的教学思考...
- 12 个最佳的免费学习编程的游戏网站
- 往哪里看低买高卖和利润之间
- RGB 和 CMYK 相互转换
- SHA256加密-前端 中 HMAC-SHA256的base64加密 和 md5加密
- 常用的几款交互设计软件
- android9.0 SystemUI锁屏页面固定横屏
- error: (-215:Assertion failed) !_src0.empty() in function ‘cv:: 可能的诸多原因!!!