您的位置:首页 > 数据库 > Oracle

Oracle基础(九):数据备份与恢复、死锁等

2015-06-04 19:18 429 查看
一、数据库(表)备份与恢复
(一)概述
1、物理备份

可以在数据库 open 的状态下进行,也可以再关闭数据库后进行

2、逻辑备份与恢复:
1)概念:

备份(导出):使用工具 export 架构数据对象的结构和数据导出到文件的过程。
恢复(导入):利用工具import 利用备份的文件把数据对象导入到数据库的过程。
逻辑备份和恢复只能在数据库 open 的状态下进行

(二)导出表
1、导出自己的表
1)语法:

exp userid=用户名/密码@数据库实例 tables=(表名1,表名2...) file=备份路径

2)实例

exp userid=scott/tiger@DEV_SAM tables=(emp,dept) file=f:/daochu.dmp


2、导出其他方案的表
1)概述:

如果用户要导出其他方案的表,则需要DBA的权限或是 exp_full_database 的权限。
比如 system 就可以导出 scott 的表

2)语法

exp userid=用户名/密码@数据库实例 tables=(方案名.表名1,方案名.表名2...) file=备份路径

exp userid=system/密码@DEV_SAM tables=(scott.emp,scott.dept) file=f:/daochu.dmp


3、注意:备份文件的后缀名一般是 .dmp ,但是这不是必须的。

4、导出表结构
1)语法:

exp userid=用户名/密码@数据库实例 tables=(表名1,表名2...) file=备份路径 rows=n
rows=n 即不要数据

exp userid=scott/tiger@DEV_SAM tables=(emp,dept) file=f:/daochu.dmp rows=n


5、使用直接导出方式

exp userid=用户名/密码@数据库实例 tables=(表名1,表名2...) file=备份路径 direct=y
这种方式比默认的速度快
需要数据的字符集与客户端的字符集相同

6、导出方案
1)导出自己的方案:

exp 用户名/密码@数据库实例 owner=所有者 file=备份路径

exp scott/tiger@DEV_SAM owner=scott  file=f:/daochu.dmp


2)导出其他方案

exp 用户名/密码@数据库实例 owner=(所有者1,所有者2) file=备份路径

exp scott/tiger@DEV_SAM owner=(scott,sam)  file=f:/daochu.dmp<span style="background-color: inherit; font-family: 微软雅黑;">	</span>


7、实例

exp lis/SinosoftLisUAT@UAT file=d:\daochu.dmp full=y
imp lis/SinosoftLisUAT@UAT file=d:\daochu.dmp full=y


二、查杀死锁
1、查死锁:
select sess.sid,sess.serial#, lo.oracle_username,lo.os_user_name,ao.object_name,lo.locked_mode
from v$locked_object lo,dba_objects ao,v$session sess
where ao.object_id = lo.object_id
and lo.session_id = sess.sid;


2、杀死进程
1)在数据库中,杀掉ORACLE进程:

ALTER SYSTEM KILL SESSION '查出的SID,查出的SERIAL#';

ALTER SYSTEM KILL SESSION '2079,9338';


2)如果在ORACLE中不能杀死进程,我们只能到操作系统中,使用操作系统命令杀死进程
KILL -9 “刚才查出的SPID”
在WINDOWS平台,可以是偶那个orakill。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: