Oracle(七)例外,备份恢复,卸载

本文介绍Oracle数据库中的异常处理机制,包括基本语法和预定义异常,并提供了一个具体的应用案例。此外,还详细讲解了如何使用expdp和impdp命令进行数据库的备份与恢复操作。

例外

基本语法

Begin

--执行语句

Exception

--捕获异常

When 例外名称 then

--执行语句

When 例外名称 then

When others then

--其他

 

注:若有多个例外,就使用多个when then

案例:编写一个过程,可接收雇员的编号,并显示该雇员的姓名,如果编号不存在就会有异常。

Create or replace procedure pro1(v_in_enamenumber) is

V_ename emp.ename%type;

Begin

Select ename into v_ename from emp whereempno=v_in_empno;

Dbms_output.put_line(‘名字是’||v_ename)

Exception

When NO_DATA_FOUND then

Dbms_output.put_line(‘你输入的不存在!’);

When others then

Dbms_output.put_line(‘不明错误’);

End;

 

常用的预定义例外

NO_DATA_FOUND            对于select叙述没有传回任何值

TOO_MANY_ROWS            只允许传回一笔记录的select叙述结果却多于一笔

INVALID_CURSOR              使用非法的光标操作

VALUE_ERROR                   出现数值,数据形态转换,取字符串或强制性的错误

INVALID_NUMBER             字符串到数值的转换失败

ZERO_DIVIDE                     被零除

DUP_VAL_ON_INDEX         试图向具有唯一键值的索引中插入一个重复键值

CASE_NOT_FOUND           没有case条件匹配

CURSOR_NOT_OPEN         游标没有打开

 

 

数据库管理员和对数据库(方案,表)的备份和恢复

Sys和system用户的比较

1.    sys用户对应方案存放的数据更重要system用户对应的方案存放次一级的数据

2.    sys用户只能以as sysdba或者as sysoper登陆 ,  system可以用normal登陆

 

 

使用inport和export对数据库(方案,表)进行备份和恢复

导出表

(1)    导出自己表

基本语法:

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

注:备份文件后缀名一般是.dmp但不是必须的

比如导出scott.emp表

Exp userid=scott/tiger@orcl tables=(emp,dept) file=d:/emp.dmp

 

注:该命令必须在DOS下执行

 

(2)    导出其他人表

如果希望导出其它方案的表(或数据对象),则往往是system用户完成

基本语法:

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

 

(3)    导出表结构

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

 

(4)    直接导出表

主要目的是提高导出速度

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

 

导出方案

有时我们需要把一个方案,整体导出

基本语法:

Exp userid=用户名/密码@数据库实例名owner=用户名 file=备份路径

 

如果导出别的方案,一般使用system,语法:

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

 

Oracle的卸载

1.先停止oracle的所有服务

2.使用universalinstaller来完成初步卸载

3.删除注册表:去百度

4.删除环境变量

       删除环境变量classpath,path中含有oracle字样的值

5.最后在文件系统内删除oracle相关的文件及目录:删除系统盘符:\progrm files\oracle目录;删除ORACLE_BASE目录。

6.在默认情况下,oracle卸载并不会删除你的数据库文件,所以手动删除,如果删除出现错误,则重启机器后再删除

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值