oracle备份还原速度,oracle的备份和还原

ORACLE数据库有两类备份方法。第一类为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且

需要极大的外部存储设备,例如磁带库;第二类备份方式为逻辑备份,业务数据库采用此种方式,此方法不需要数据库运行在归挡模式下,不但备份简单,而且可以

不需要外部存储设备。// 数据库的备份(导出)和恢复(导入) [object Object]*.dmp

1.逻辑备份和物理备份

一个数据库实例可以有多个用户,每个用户对应着一种方案,

每个方案里面有每个用户自己的表视图索引等;

2.导出/备份:

导出表、导出方案(同时导出表视图触发器等)、导出数据库

导出命令为exp命令,常用选项有:

userid:用于指定执行导出操作的用户名、口令、连接字符串

tables:指定表

owner:指定方案

full=y:用于指定执行导出操作的数据库

inctype:指定导出操作的增量类型

rows:指定执行导出操作是否要导出表中的数据

file:用于指定导出文件名[object Object] [object Object] [object Object]在sql/plus或者PL/SQL developer中运行:

[object Object] [object Object] [object Object]导出或备份当前用户下的表,用scott用户登陆,导出scott用户下的emp表

[object Object] [object Object]用sys用户登陆数据库

conn

sys/oracle@SIMLINK as sysdba;

2.创建一个新用户

create user

exp_imp_dba identified by sys;

3.给该用户赋予dba权限

(1、scott用户备份自己表时也需要赋予dba权限;

2、对sys用户赋予dba权限后对表备份和恢复仍然需要输入用户名和密码,输入用户名时为 sys

as sysdba才可以)

grant dba to

exp_imp_dba;[object Object] [object Object]在dos命令行中运行:

1.在oracle安装目录下BIN文件夹中有一个EXP.EXE程序,所以需要在BIN目录下运行导出命令,

如“E:\oracle\product\10.1.0\Db_1\BIN”

cmd

E:

cd

oracle\product\10.1.0\Db_1\BIN

2.//导出单张表

exp

exp_imp_dba/exp_imp_dba@SIMLINK tables=(scott.kkk)

file=D:\kkk.dmp

3.//导出多张表

exp

exp_imp_dba/exp_imp_dba@SIMLINK tables=(scott.kkk,scott.dept1)

file=D:\kkk_dept1.dmp

4.//将数据库中的表table1中的字段filed1以"76"打头的数据导出

exp

exp_imp_dba/exp_imp_dba@SIMLINK tables=(scott.emp) file=d:\emp.dmp

query=\" where empno like '76%'\"

5.//只导出表结构

exp

exp_imp_dba/exp_imp_dba@SIMLINK tables=(scott.emp)

file=d:\emp_jiegou.dmp rows=n;

6.//当表比较大的时候,为了加快导出速度,可直接导出

exp

exp_imp_dba/exp_imp_dba@SIMLINK tables=(scott.emp) file=d:\emp.dmp direct=y

7.//导出方案(即一个用户下的所有表,视图,索引等)

exp

exp_imp_dba/exp_imp_dba@SIMLINK owner=scott file=d:\scott.dmp

D. 恢复/还原表和方案

1.//还原单张表(ignore=y 表示忽略建表错误)

1.1注意这个还原表的时候会重复插入,所以应该在sql/plus中先删除表中所有原数据

delete from

scott.kkk;

delete from

scot.dept1;

1.2DOS中BIN目录下运行:

imp

exp_imp_dba/exp_imp_dba@SIMLINK file=d:\kkk.dmp

fromuser=scott tables=(kkk) ignore=y

或者首先在sql/plus环境下sys用户中对scott用户授权

grant dba to scott;

imp

scott/tiger@SIMLINK file=d:\kkk.dmp tables=(kkk) ignore=y

(没有表会自动创建)

1.3设置表主键后就不会添加重复数据,但这也是恢复成功的一种

alter table

scott.dept1 add constraint dept1_pri primary key(deptno);

2.//还原多张表

imp

exp_imp_dba/exp_imp_dba@SIMLINK file=d:\kkk_dept1.dmp

fromuser=scott tables=(kkk,dept1) ignore=y

3.//还原方案

imp

exp_imp_dba/exp_imp_dba@SIMLINK file=D:\scott.dmp fromuser=scott touser=scott ignore=yE. 导出整个数据库

exp

exp_imp_dba/exp_imp_dba@SIMLINK full=y inctype=complete

file=d:\simlink.dmp

完全备份complete

:对整个数据库的备份

增量备份incremental:是备份上一次完全导出后改变的数据。

累积备份cumulative :是备份自上次完全导出后改变的数据。

F. 恢复整个数据库

imp

exp_imp_dba/exp_imp_dba@SIMLINK full=y file=

d:\simlink.dmp ignore=y

最后补充一下用PL/SQL

Developer备份和还原表

(1、E:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN下的tnsnames.ora文件中有数据库连接配置

2、但是好像因为压缩方式不一样,经试验和命令不兼容

3、这中方式只能备份和还原本用户下的表)

登陆用户scott/tiger->工具->导出表->选择pl/sql

developer方式,之后看界面操作,略;

登陆用户scott/tiger->工具->导入表,重点介绍四种导入方式:

1、删掉表(Drop tables)

勾选之后,自动默认选择创建表(Create tables),并且截断表(Truncate tables)和删除记录(Delete

tables)变为灰色不可用;这个选项在恢复前首先删除表,然后创建表,再恢复表数据;

2、创建表(Create tables)

在导入数据前,表还未创建时可勾选;

3、截断表(Truncate tables)

在导入数据前首先清空表数据,然后再导入数据。此项和删除记录(Delete tables)互斥;

4、删除记录(Delete tables)

和截断表的功能基本相同,单和截断表互斥,且速度较慢,一般不使用;

  fa738779481d9a57b251e900be3a86e9.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值