数据库备份(导出):php
首先:链接dba数据库方法:链接数据库用sysdba,用户名: sys 密码: oraclesql
第一种方法:数据库
sqlplus /nologoracle
conn sys/oracle@41SGEORA as sysdbaide
第二种方法:工具
sqlplus sys/oracle@41SGEORA as sysdba测试
一.数据库导出对象
1.备份整个数据库get
1)、全库方式,导出整个数据库中全部的对象,但并不包括sys用户中的对象,即数据字典没法导出。it
exp user/pwd@db_name full=y file=D:\database.dmp log=D:\database.log
/*xx银行数据库
###备份 ivsd60
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
*/
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;
*/
三.数据库导入:
一、所有导入
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
*/
二、选择表导入 将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导出。