
单击开始,这里输入cmd,打开dos窗口
输入命令
exp bms/BMSPASS@TCDB file=E:\DBback\dbback20160112dmp
这里说明一下
这里的/是语法符号。
这里的BMSPASS是用户bms登录数据库TCDB时的密码;
@是语法符号。
这里的TCDB是Oracle数据库的实例名。
这里的file=E:\DBback\dbback20160112dmp 是只指备份文件的存放路径。
等待导出完成,如果看到这里的导出成功,说明备份完成了。
打开备份时指定的存储路径,就可以看到备份文件了。
如果在导出命令的最后加上full=y的参数,也就是
exp bms/BMSPASS@TCDB file=E:\DBback\dbback20160112dmp full=y
意思是将用户bms在TCDB数据库实例中的所有文件都备份,也就是完整备份。
数据库还原使用语法
imp bms/BMSPASS@TCDB file=E:\DBback\dbback20160112dmp
这里的E:\DBback\dbback20160112dmp是备份文件的存放路径
(1) 为了解恢复数据文件中没有记录的数据,进行向前滚。该数据记录在在线日志,包括对回滚段的内容恢复。 (2) 回滚未提交的事务,按步1重新生成回滚段所指定的 *** 作。 (3) 释放在故障时正在处理事务所持有的资源。
一、逻缉备份:exp/imp 导出导入
二、用户管理的备份恢复:1、冷备份,正常关闭数据库, *** 作系统拷贝整个数据库文件。
2、热备份,在数据库开启时,把要备份的数据文件改为bakcup状态
联机拷贝文件。
三、rman管理的备份恢复
========exp导出表的dmp文件==============
1、表数据不大的时候,可一次导出多张表
exp username/password file=/home//filenamedmp tables=(tablename1,tablename2,)
如:
exp username/password file=/home/oracle/20110909_other1dmp tables=(tablename1,tablename2,)
2、表的数据比较大的时候,可以添加查询条件:query
exp username/password file=/home//filenamedmp tables=(tablename) query=\"where column1 in \(,,\) and column2 \>= to_Date \(\'2011-08-01 00:00:00\' ,\'yyyy-MM-DD HH24:MI:SS\'\) and column2 \<to_date\(\'2011-09-01 00:00:00\' ,\'yyyy-MM-DD HH24:MI:SS\'\) \"
如:
exp username/password file=/home/oracle/201108_101_PortRatedmp tables=(T_PORTRATE) query=\"where subregionid in \(102,103,104,105,106,108,109,110,111,112,114,1135216\) and CREATETIME \> =to_date\(\'2011-08-01 00:00:00\' ,\'yyyy-MM-DD HH24:MI:SS\'\) and CREATETIME \<to_date\(\'2011-09-01 00:00:00\' ,\'yyyy-MM-DD HH24:MI:SS\'\) \"
exp中的file后面的路径和文件名,都是指的在exp那台机器上的路径和文件名。
=======imp导入表的dmp文件=============================
imp username/password file ='/home///filenamedmp' full=y indexes=y buffer=65536
当被导入的数据库的表中已经存在一部分数据,而我们imp的dmp文件中的数据可能是另外一些查询条件emp出来的,
可以不覆盖原表中的数据,直接继续导入,加上以下参数。
ignore=y,即告诉IMP如果当前表存在就不创建表结构而直接导入新的数据。
imp username/password file ='/home///filenamedmp' full=y indexes=y buffer=65536 ignore=y
=========exp过程中的错误:EXP-00091===========
原因:EXP-00091问题是exp工具所在的环境变量中的NLS_LANG与DB中的NLS_CHARACTERSET不一致导致的
解决方法:在exp的机器上,
1、[oracle@>
Oracle数据库备份与还原命令
数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochudmp中
exp system/manager@TEST file=d:\daochudmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:\daochudmp owner=(system,sys)
3 将数据库中的表table1 、table2导出
exp system/manager@TEST file=d:\daochudmp tables=(table1,table2)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:\daochudmp tables=(table1)query=\" where filed1 like '00%'\"
上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
不过在上面命令后面 加上 compress=y 就可以了
数据的导入
1 将D:\daochudmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:\daochudmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:\daochudmp中的表table1 导入
imp system/manager@TEST file=d:\daochudmp tables=(table1)
基本上上面的导入导出够用了。不少情况我是将表彻底删除,然后导入。
注意:
你要有足够的权限,权限不够它会提示你。
数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上
附录一:
给用户增加导入数据权限的 *** 作
第一,启动sqlpuls
第二,以system/manager登陆
第三,create user 用户名 IDENTIFIED BY 密码 (如果已经创建过用户,这步可以省略)
第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE SESSION TO 用户名字
第五, 运行-cmd-进入dmp文件所在的目录,
imp userid=system/manager full=y file=dmp
或者 imp userid=system/manager full=y file=filenamedmp
安装oracle9I
Szportdb\szportdb\szportdb
用sysdba 登录建立用户:szportdb 表空间可以自己设定,也可以Users
倒入数据库。
Imp szportdb/szportdb@szportdb full=y C:\szportdbdmp ignore=
以上就是关于oracle数据库怎么备份恢复全部的内容,包括:oracle数据库怎么备份恢复、如何Oracle 数据库备份与恢复、Oracle 数据库的备份与恢复都有哪几种方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)