码迷,mamicode.com
首页 > 数据库 > 详细

oracle数据库导入导出步骤

时间:2016-05-18 22:10:05      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:oracle   数据库备份   连接数据库   创建用户   

数据库备份(导出):

首先:连接dba数据库方法:连接数据库用sysdba,用户名: sys 密码: oracle

第一种方法:

sqlplus /nolog

conn sys/oracle@41SGEORA as sysdba

第二种方法:

sqlplus sys/oracle@41SGEORA as sysdba


一.备份整个数据库

1)、全库方式,导出整个数据库中所有的对象,但并不包括sys用户中的对象,即数据字典无法导出。

exp user/pwd@db_name full=y file=D:\database.dmp log=D:\database.log


/*xx银行数据库

###备份 ivsd60

exp ivsd60/ivsd60@41SGEORA full=y file=C:\Database\oracle_exp\ivsd60\ivsd60.dmp log=C:\Database\oracle_exp\ivsd60\ivsd60_exp.log

exp ivsd60/ivsd60@41SGEORA full=y grants=y file=C:\Database\oracle_exp\ivsd60\ivsd60.dmp log=C:\Database\oracle_exp\ivsd60\ivsd60_exp.log

###备份 goldperson60

exp goldperson60/goldperson60@41SGEORA full=y grants=y file=C:\Database\oracle_exp\ivsd60\goldperson60.dmp log=C:\Database\oracle_exp\ivsd60\goldperson60_exp.log

###备份 goldcorp60

exp goldcorp60/goldcorp60@41SGEORA full=y file=C:\Database\oracle_exp\ivsd60\goldcorp60.dmp log=C:\Database\oracle_exp\ivsd60\goldcorp60_exp.log

*/


2)、用户方式:导出某一用户下所有的对象,授权了权限的用户可以导出其他用户所拥有的对象。作为全库导出的补充应用

exp user/pwd@db_name owner=(system,sys) file=D:\owner.dmp log=D:\owner.log


2.备份数据库表

1)、表方式:只导出某一用户下指定的表,而不是所有的表。

exp user/pwd@db_name tables=(tb1,tb2) file= D:\table.dmp log=e:\table.log


3.补充:将数据库中的表table1中的字段filed1以"00"打头的数据导出

exp user/pwd@db_name tables=(table1) query=" where filed1 like ‘00%‘" file=D:\query.dmp log=d:\query.log


***上面是常用的导出 **更多参数exp help=y 查看


二.创建数据库用户

1.登录dba用户:

第一种方法:

#sqlplus /nolog

#conn sys/oracle@166 as sysdba

第二种方法:

#sqlplus sys/oracle@166 as sysdba

2.通过dba用户创建数据库用户

/*xx银行数据库

###ivsd60 用户

create user ivsd60 identified by ivsd60;

grant dba to ivsd60;

conn ivsd60/ivsd60;

###goldperson60 用户

create user goldperson60 identified by goldperson60;

grant dba to goldperson60;

conn goldperson60/goldperson60;

###goldcorp60 用户

create user goldcorp60 identified by goldcorp60;

grant dba to goldcorp60;

conn goldcorp60/goldcorp60;

*/


三.数据库导入:

1、全部导入

imp user/pwd@db_name full=y file=D:\database.dmp log=d:\impdatabase.log ignore=y


/*xx银行数据库

###导入 ivsd60

imp ivsd60/ivsd60@166 full=y file=C:\Database\oracle_exp\ivsd60\ivsd60.dmp log=C:\Database\oracle_exp\ivsd60\ivsd60_imp.log ignore=y

###导入 goldperson60

imp goldperson60/goldperson60@166 full=y file=C:\Database\oracle_exp\ivsd60\goldperson60.dmp log=C:\Database\oracle_exp\ivsd60\goldperson60_imp.log ignore=y

###导入 goldcorp60

imp goldcorp60/goldcorp60@166 full=y file=C:\Database\oracle_exp\ivsd60\goldcorp60.dmp log=C:\Database\oracle_exp\ivsd60\goldcorp60_imp.log ignore=y

*/


2、选择表导入 将D:\table.dmp中的表table1 导入

imp user/pwd@db_name file=D:\table.dmp log=d:\imptable.log tables=(table1) 

如果源表已经存在,导入时报错。在后面加上 ignore=y 就可以了。

不少情况要先是将表彻底删除,然后导入。或创建和原表一样结构的临时表然后导入到临时表中。


备注:语句执行中可能碰上的问题:

***EXP-00091 正在导出有问题的统计信息 

原因:字符集问题

解决:exp命令加statistics=none选项


expdp和impdp (数据泵)是Oracle10G新引入的工具.它不但包括了imp/exp的功能,还进行了扩充与加强。其速度也快。但只能在数据库服务端运行。

使用示例如下:http://www.oracle-base.com/articles/10g/OracleDataPump10g.php


--修改数据库密码

alter user ivsd60 identified by oracle;

--删除数据库用户和数据

drop user ivsd60 cascade;


四.注意事项:

1.exp导出时会报命令不存在,则需要在exp、imp前面加上$,如$exp、 $imp。

2.导出表时需要用dba权限,公司这边的数据库dba用户名:sys,密码:oracle

登录命令:sqlplus sys/oracle@SID as sysdba;

3.用dba登录导出数据时遇到如下错误:EXP-00008: 遇到 ORACLE 错误 904 ORA-00904: "POLTYP": 标识符无效 EXP-00000: 导出终止失败时,

则需要在dba用户下刷一下脚本:@?/rdbms/admin/catexp.sql ,然后重新使用exp导出。


本文出自 “技术分享苑” 博客,请务必保留此出处http://zhangtianshan.blog.51cto.com/1500414/1774819

oracle数据库导入导出步骤

标签:oracle   数据库备份   连接数据库   创建用户   

原文地址:http://zhangtianshan.blog.51cto.com/1500414/1774819

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!