NO.4简单管理Oracle实例
- 格式:docx
- 大小:21.03 KB
- 文档页数:3
oracle创建表语句实例摘要:1.Oracle 简介2.Oracle 创建表的基本语法3.Oracle 创建表的具体实例4.Oracle 表的约束和约束条件5.Oracle 表的索引和索引类型6.Oracle 表的空间分配和管理7.Oracle 创建表的注意事项正文:1.Oracle 简介Oracle 是一款广泛应用于企业级数据管理的关系型数据库管理系统。
Oracle 数据库提供了高性能、安全、可扩展的企业级数据存储解决方案,被众多企业用于业务数据处理、数据仓库和商业智能等领域。
2.Oracle 创建表的基本语法在Oracle 数据库中,创建表的基本语法如下:```CREATE TABLE [schema.]table_name(column1 datatype constraints,column2 datatype constraints,...);```其中:- schema:可选项,表示表所在的用户名和模式名。
如果未指定schema,则默认为当前登录的用户名和public 模式。
- table_name:表名,需要满足命名规则,如以字母开头,长度不超过30 个字符等。
- column1、column2:表的列名和数据类型,以及可能的约束条件。
3.Oracle 创建表的具体实例下面是一个创建表的具体实例:```CREATE TABLE EMPLOYEE(EMP_NO NUMBER PRIMARY KEY,EMP_NAME VARCHAR2(50) NOT NULL,SEX VARCHAR2(10),AGE NUMBER,INCOME NUMBER);```这个实例创建了一个名为EMPLOYEE 的表,包含了员工编号(EMP_NO)、员工姓名(EMP_NAME)、性别(SEX)、年龄(AGE)和收入(INCOME)五个字段。
其中,员工编号(EMP_NO)被设置为表的主键(PRIMARY KEY),员工姓名(EMP_NAME)不能为空(NOT NULL)。
O r a c l e存储过程学习目录Oracle存储过程基础知识商业规则和业务逻辑可以通过程序存储在Oracle中,这个程序就是存储过程。
存储过程是SQL, PL/SQL, Java 语句的组合,它使你能将执行商业规则的代码从你的应用程序中移动到数据库。
这样的结果就是,代码存储一次但是能够被多个程序使用。
要创建一个过程对象 procedural object ,必须有 CREATE PROCEDURE 系统权限。
如果这个过程对象需要被其他的用户schema 使用,那么你必须有 CREATE ANY PROCEDURE 权限。
执行procedure 的时候,可能需要excute权限。
或者EXCUTE ANY PROCEDURE 权限。
如果单独赋予权限,如下例所示:grant execute on MY_PROCEDURE to Jelly调用一个存储过程的例子:execute MY_PROCEDURE 'ONE PARAMETER' ;存储过程 PROCEDURE 和函数 FUNCTION 的区别。
function有返回值,并且可以直接在Query中引用function和或者使用function的返回值。
本质上没有区别,都是 PL/SQL 程序,都可以有返回值。
最根本的区别是:存储过程是命令, 而函数是表达式的一部分。
比如:select max NAME FROM但是不能 exec max NAME 如果此时max是函数。
PACKAGE是function,procedure,variables 和sql 语句的组合。
package允许多个procedure使用同一个变量和游标。
创建 procedure的语法:Sql 代码:可以使用 create or replace procedure 语句, 这个语句的用处在于,你之前赋予的excute 权限都将被保留。
IN, OUT, IN OUT用来修饰参数。
ORACLE学习实例总结笔名:北⽅天空<1>成功导⼊数据库1impuserdb/missrain@testfile=userdb.dmpfull=ylog=userdb_imp.logimpdictdb/missrain@testfile=dictdb.dmpfull=ylog=dictdb_imp.logimpappdb/missrain@testfile=appdb.dmpfull=ylog=appdb_imp.logimptmmsdict/missrain@testfile=tmmsdict.dmpfull=ylog=tmmsdict_imp.logimptmmsapp/missrain@testfile=tmmsapp.dmpfull=ylog=tmmsapp_imp.logimpuserdb/missrain@testfile=userdb.dmpfull=ylog=userdb_imp.log中imp:导⼊命令userdb:⽤户名missrain:密码test:服务命名userdb.dmp:数据库⽂件userdb_imp.log:数据库⽇志full=y:全部导⼊<2>成功创建表1createtabletest(avarchar(128)default''wu'',bintdefault0)<3>成功创建存储过程1CREATEORREPLACEprocedurepro1asbegininsertintotestvalues(''afa'',3);end;<4>成功创建存储过程2CREATEORREPLACEprocedurepro1asbegindeclareavarchar2(128);bint;beginselectintoa,bfromtestwherea=''afa'';end;end;<5>成功创建存储过程3createorreplaceprocedurepro2asbeginexecuteimmediate''selectfromtest'';end;<6>成功创建存储过程4createorreplaceprocedurepro2asbeginexecuteimmediate''insertintotest(a,b)values(3,2)'';end;<7>成功创建触发器11、建⽴试验表createtableemployees_copyasselectfromtt;2、建⽴⽇志表createtableemployees_log(whovarchar2(30),whendate);3、在employees_copy表上建⽴语句触发器,在触发器中填充employees_log表。
一、引言Oracle数据库是当前企业级系统中使用最为广泛的一种关系型数据库管理系统,它拥有强大的功能和灵活的结构,可以满足各种复杂的业务需求。
在实际应用中,数据库查询是非常常见并且重要的操作,因此如何优化数据库查询成为了一个关键问题。
在Oracle数据库中,存储过程是一种能够存储在数据库中并被用户调用的一段预先编译好的程序,它可以包含一系列的SQL语句,逻辑控制结构,以及一些其他的PL/SQL代码,可以用来简化、优化查询,并提高数据库的性能。
二、存储过程的概念1. 存储过程是什么在Oracle数据库中,存储过程是一组为了完成特定任务的SQL语句集合,用一种更加有效的方式存储在数据库中,可以被其他程序或用户反复使用。
存储过程和一般的SQL查询语句不同,它可以包含一定的逻辑控制,比如条件分支、循环和异常处理等。
2. 存储过程的特点存储过程具有以下几个特点:- 可重用性:存储过程中的SQL语句和逻辑控制可以在多个程序中被多次调用,提高了代码的重用性。
- 隐藏复杂性:存储过程可以将复杂的查询和逻辑控制封装在一个单元中,对外部程序隐藏实现的复杂性,简化了程序的调用。
- 提高性能:存储过程在执行过程中,会被预编译和存储在数据库中,可以减少网络传输的开销和数据库解释查询的时间。
- 安全性:存储过程可以通过权限管理来控制对数据库的访问,提高了数据库的安全性。
三、存储过程的创建1. 创建存储过程的语法在Oracle数据库中,创建存储过程的语法如下:```sqlCREATE [OR REPLACE] PROCEDURE procedure_name [(parameter_name [mode] parameter_type, ...)]IS[local declarations]BEGINexecutable statements[EXCEPTIONexception handlers]END [procedure_name];```其中,CREATE PROCEDURE用于创建一个存储过程,OR REPLACE 表示如果存储过程已经存在则替换,procedure_name为存储过程的名称,parameter_name、mode和parameter_type表示存储过程的参数,IS和END之间是存储过程的实现部分,local declarations 表示存储过程的局部变量声明,executable statements表示存储过程的执行语句部分,EXCEPTION和exception handlers表示存储过程的异常处理部分。
Ora E-B O RA WorAuthor: MSN: Creation Last Up Docume VersionApprov <Appro <Appro acle E B USINE ACLE 核kflow n Date: dated: ent Ref: : als: ver 1> ver 2>ERP 最ESS S U 核心应w 黄建华huajhua@ho April 17, 200November 1<Document DRAFT 1A最佳技术UITE 应用技 07 11, 2010Reference N 术实践技术 Number> 践 Copy Number _____WorkflowFile Ref: 深入浅出Oracle EBS之Workflow实例详解.docx (v. DRAFT 1A ) Document Control iiDocument ControlChange RecordDate Author Version Change Reference17-Apr-07 Jianhua.Huang Draft1a No Previous DocumentReviewersName PositionDistributionCopy No. Name Location1Library Master Project Library2ProjectManager34Note To Holders:If you receive an electronic copy of this document and print it out, please write yourname on the equivalent of the cover page, for document control purposes.If you receive a hard copy of this document, please write your name on the frontcover, for document control purposes.WorkflowFile Ref: 深入浅出Oracle EBS之Workflow实例详解.docx (v. DRAFT 1A ) Document Control iiiContentsDocument Control .................................................................................................................. i i 1.Oracle Workflow基础.. (2)1.1.工作流概述 (2)1.2.必要设置 (7)1.3.先睹为快:一个简单例子.Start to End (8)1.4.先睹为快:一个简单例子.Save to Database (13)1.5.先睹为快:一个简单例子.运行 (14)2.其他特性和功能实例 (18)2.1.第2个例子:Notification (18)2.2.第3个例子:Lookup Types和分支处理Function (25)2.3.第4个例子:Loop、Timeout、Defer和Workflow Background Process .. 412.4.第5个例子:Wait、Wait/Continue Process (48)2.5.第6个例子:Document、Forms、Function Result、隐藏标准按钮 (55)3.常用代码块 (62)3.1.Startup (62)3.2.Notification (63)3.3.Active节点和当前属性值 (64)3.4.Retry和Skip (65)plete (66)3.6.处理Defer (66)3.7.建立父子关系 (66)3.8.Document和Forms (67)3.9.Test工作流 (69)3.10.Cancel/Abort工作流 (70)3.11.Purge工作流实例/定义 (70)3.12.最新n条Notification (71)3.13.等待发送Mail的Notification (71)3.14.Queue相关 (71)3.15.未完待续 (72)4.审批路径 (73)4.1.客户化表 (73)4.2.员工上下级 (73)4.3.职位层次 (73)4.4.OAM/AME (73)5.Workflow Notification Mailer Configuration (78)5.1.Basic (78)5.2.Database Layer (79)5.3.Application Layer (80)WorkflowFile Ref: 深入浅出Oracle EBS之Workflow实例详解.docx (v. DRAFT 1A ) Document Control iv5.4.System Layer (81)5.5.Notification Mailer (82)5.6.问题记录 (86)6.Open and Closed Issues for this Deliverable (87)Open Issues (87)Closed Issues (87)WorkflowFile Ref: 深入浅出Oracle EBS之Workflow实例详解.docx (v. DRAFT 1A ) Oracle Workflow基础 2 of 901.Oracle Workflow基础职责:System Administrator用户: SYSADMIN1.1.工作流概述工作流在EBS中的地位Workflow是EBS的基础架构技术之一,系统中大部分流程性的通知和审批控制、账户按规则自动生成都是通过Workflow实现的;R11i之后,模块间的协调,有一小部分也是通过Workflow的Business Event完成的。
Oracle常⽤SQL命令创建表空间1.创建默认表空间WLP_DATCREATE TABLESPACE "MYSPACE" DATAFILE'D:\oracle\oradata\orcl\data/WLP_DAT.dbf' SIZE 32M REUSE AUTOEXTEND ON NEXT 32MLOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;2.创建临时表空间WLP_TEMP(⽤于缓存,可以不建)ALTER TABLESPACE "TEMP" ADD TEMPFILE'D:\oracle\oradata\orcl\data/WLP_TEMP.dbf' SIZE 32m REUSE autoextend on next 32m;创建⽤户并授权1CREATE USER "WLPING" PROFILE "DEFAULT"2 IDENTIFIED BY "123456"3DEFAULT TABLESPACE "MYSPACE" //默认指定表空间4TEMPORARY TABLESPACE "TEMP" //指定缓存表空间5 ACCOUNT UNLOCK; //⽤户⾮锁定67GRANT EXECUTE ON dbms_comparison TO "WLPING";8GRANT UNLIMITED TABLESPACE TO "XIR_MD";9GRANT "CONNECT" TO "XIR_MD";10GRANT "RESOURCE" TO "XIR_MD";1112-- GRANT DBA TO XIR_MD;PROFILE:Oracle系统中的profile可以⽤来对⽤户所能使⽤的数据库资源进⾏限制,使⽤Create Profile命令创建⼀个Profile,⽤它来实现对数据库资源的限制使⽤,如果把该profile分配给⽤户,则该⽤户所能使⽤的数据库资源都在该profile的限制之内。
什么是数据库,其实很简单,数据库就是存储数据的一种媒介。
比如常用的文件就是一种,在Oracle10G中,数据的存储有好几种。
第一种是文件形式,也就是在你的磁盘中创建一批文件,然后在这些文件中存储信息。
第二种就是磁盘阵列形式,这个是什么意思呢,这个就是说明数据库不是存放为某个文件,而是把一个或者多个磁盘格式化成Oracle的一种格式了,等于整个磁盘就是存放Ora cle数据库的,不能作为别的用途。
这样的优点是存储性能高,因为不再借助别的文件格式了,而是把整个磁盘都成为Oracle最适应的文件系统格式。
当然还可能有别的形式,比如网络什么的。
不过我们最常用的还是文件格式的,在文件格式中,数据库指的就是那些数据文件,控制文件以及REDO文件等等一系列文件。
而什么是Instance呢,Instance其实就是指的操作系统中一系列的进程以及为这些进程所分配的内存块。
在Oracle中,我们可以新建一个Oracle的Insta nce,这个时候虽然有了进程还有SGA等一系列的内存快,但是这个时候并没有把数据库文件读取进来。
所以只是一个实例,在后来,你可以通过命令手动或者自动地把数据库文件加载进我们的数据库Instance中,这个时候的数据库才可以让我们真正的开始访问操作。
所以说,数据库的应用如果想实现,数据库和数据库Instance是缺一不可的,如果只有数据库的那些文件,那么,只能代表数据在这个文件中,但是我们无法直接进行操作。
而如果只有数据库Instance,那么我们虽然可以急性操作,但是也不知道操作哪些数据,操作生成的数据也无法保存等等。
所以,当一个Or acle Instance真正Load了一个Oracle Database了以后,数据库才可以被我们使用。
在这里要注意一点的是,Oracle的实例在启动以后,只能load一次数据库,如果想把数据库与Instance断开,然后再重新挂在一个数据库Instance,那么就需要你首先把数据库Instance进程结束,然后重新建立这个instance的一个进程,再load另外一个数据库。
【填空题】1.默认情况OEM的URL地址是https://sd04:1158/em(其中sd04为机器名)2.Oracle9i发布于2001,i代表Internet,11G发布于2007,g代表grid(网格)3.在oracle内存结构中,保存正在执行或可能执行的代码的区是代码区4.在oracle进程结构中,用于实现进程监控功能的进程是PMON1.Oracle数据库系统的物理存储结构主要由3类文件组成,分别为数据文件、重做日志文件、控制文件。
2.一个表空间物理上对应一个或多数据文件3.在oracle的逻辑存储结构中,根据存储数据的类型,可以将段分成为数据段、索引段、回滚段、LOB段和临时段。
1.在设计表时,对于邮政编码最适合的数据类型是CHAR2.在alter table语句中,如果要删除列,可以通过指定DROP COLUMN关键字来实现。
3.如果需要在表中插入一批已经存在的数据,可以在insert语句中使用SELECT语句。
4创建一个update语句来修改goods表中的数据,并且把每一行的t-id值都改成15,应该使用的SQL语句是UPDATE SCOTT.Goods SET t_ID=’15’5.使用DESC命令可以显示表的结构信息6.两个表的主关键字和外关键字的数据应该对应一致,这是属于引用完整性,通常可以通过主键和外键来实现。
7.UNIQUE约束通过确保在列中不输入重复值保证一列或多列的实体完整性。
1.在select语句中选择满足条件的记录使用where关键字,分组之后进行选择使用having 关键字2.用来返回特定字段中所有值得总和的聚合函数是SUM3.编写查询语句时,使用%通配符可以匹配多个字符。
18.集合运算符UNION实现集合的并运算,操作符INTERSECT实现了对集合的交运算,而MINUS则实现了减运算19.如果要定义只读的视图,可以在创建视图时使用READ ONLY关键字20.删除视图的PL\SQL语句是DROP VIEW [用户方案.]视图名21.在使用CREATE INDEX创建索引时,使用BITMAP关键字可以创建位图索引22.聚集(Cluster)是存储表数据的可选择的方法。
ORACLE 数据库操作手册4.1中国通信集团公司安徽有限公司信息系统部2010年7月修改记录目录第一章数据库使用注意事项 (6)第一章数据库使用注意事项 (6)一、营业前台使用统一地址,后台业务严格区别业务区,不可随意访问 (6)二、不涉及当天业务的查询和统计在BCV库中操作 (6)三、前台营业时间禁止在生产环境进行大数据量的查询和统计操作 (6)四、关联表均很大的查询和统计尽量用BCV库 (6)五、按照业务规则进行DML操作,DML不要忘记执行COMMIT或ROLLBACK.. 7六、大批量更新数据的事务分次提交 (7)七、数据库DDL操作由数据库管理员根据业务规则进行 (7)八、数据库使用结束及时断开连接,但也不要频繁的连接和断开 (7)九、客户端配置与客户端第三方工具使用 (7)十、不要使用工具进行可视化数据修改操作 (7)十一、合理使用帐号,妥善保管密码 (7)十二、严禁在生产库进行业务开发、调试工作 (8)十三、单条SQL语句的长度最好不要超过1000字节 (8)十四、数据导出导入使用expdp/impdp,不要使用exp/imp (8)十五、PL/SQL程序应尽量符合第二章要求,注意事务的提交、回滚及异常情况处理 8十六、一定不能在循环体内部创建数据库的连接,包括通过JDBC连接数据库。
(8)十七、SQL语句在执行前需要对语句逻辑进行检查,避免形成隐式笛卡尔积,占用大量临时表空间和降低语句效率。
(8)第二章SQL编写注意事项 (9)一、查看表字段名或随机少量数据时,不要使用SELECT * FROM TABLENAME (9)二、SELECT 子句中避免使用* (9)三、查询总记录数时,尽量不要用COUNT(*),而要指定一个有索引的字段。
(9)四、对分区表进行查询时,尽量把分区键作为查询条件的第一个条件 (9)五、无条件删除表中数据时,用TRUNCATE代替DELETE (9)六、查询语句中尽量使用表的索引字段,避免做大表的全表扫描 (9)七、带通配符(%)的LIKE语句 (10)八、用EXISTS替代IN (10)九、用NOT EXISTS替代NOT IN (10)十、尽可能用UNION ALL替换UNION (11)十一、ORDER BY语句建议 (11)十二、避免使用NOT (11)十三、使用DECODE函数减少处理时间 (12)十四、删除重复记录 (12)十五、如果可以使用WHERE条件,尽量不要在HA VING中限制数据 (12)十六、尽量不要使数据排序 (12)十七、避免改变索引列类型 (13)十八、避免在索引列上使用计算 (13)十九、避免在索引列上使用IS NULL和IS NOT NULL (13)二十、子查询改写成表连接 (13)二十一、使用索引的第一个列 (14)二十二、减少对表的查询 (14)二十三、SQL语句中:用>=替代> (14)如果在ID列上建有索引,则语句SELECT * FROM EMPLOYEE WHERE ID >= 9 要比语句SELECT * FROM EMPLOYEE WHERE ID > 8高效。
Oracle数据库实验报告目录实验一安装和使用Oracle数据库.................................................. - 2 - 实验二体系结构、存储结构与各类参数..................................... - 13 - 实验三Oracle数据库的创建和管理............................................. - 22 - 实验四SQL语言 ............................................................................ - 33 - 实验五PL/SQL编程 ....................................................................... - 41 - 实验六模式对象管理与安全管理 ................................................ - 50 -实验一安装和使用Oracle数据库【实验目的】1.掌握Oracle软件安装过程,选择安装组件2.掌握建立Oracle数据库,配置网络连接3.掌握Oracle企业管理器的基本操作4.使用SQL*Plus,登录到实例和数据库5.掌握命令方式的关闭和启动实例及数据库【实验内容】1.查看已安装的Oracle组件2.查看服务,记录下和数据库有关的服务名,将他们设为手动方式,启动相关服务。
3.配置监听器,查看是否在服务中有LISTENER,是否能启动。
4.配置本地net服务,提示:设置正确的服务器地址和端口号。
5.打开SQL*Plus,用SYS和SYSTEM用户名和密码登录。
6.思考题:有几种打开SQL*Plus的方法?分别是什么?7.用命令关闭实例和数据库,记录命令8.用命令以NOMOUNT的方式启动实例,再加载数据库,打开数据库。
1:Oracle公司建议数据库的启动顺序:
1.1:首先启动database control (https://hostname:prot/em)
emctl start dbconsole
emctl stop dbconsole
emctl status dbconsole
1.2:启动数据库侦听器
lsnrctl start
lsnrctl stop
1.3:启动Oracle数据库
startup
2:启动SQL*Plus
2.1:默认情况下在启动SQL*Plus时会提示输入Oracle用户名等信息所以可以使用nolog
sqlplus /nolog
3:连接Oracle 实例多种验证方式:
3.1:数字字典身份证验证(数据库必须处于打开状态,使用此语法启动的用户没有权限启动和关闭Oracle实例)
语法:connect user/pass @连接字符
3.2:口令文件身份验证
语法:connect user/pass @连接字符as sysdba
connect user/pass @连接字符as sysoper
3.3:操作系统身份验证
语法:connect / as sysdba
connect / as sysoper
4:sysdba 和sysoper 权限(只有使用口令文件,操作系统身份验证才能启用这2个权限)
4.1:sysdba 和sysoper是具有特殊功能的权限,
4.2:sysdba:如果拥有sysdba权限,就能益sys的身份登陆到实例,这个权限是数据库中最大的权限,也是数据字典的所有者。
4.3:sysoper:使用sysoper权限可以作为public用户连接。
Sysoper是具有管理权限的概念用户。
默认情况下无权查看或者操纵数据库。
5:数据库实例状态:shutdown, nomount,mount,open
5.1:shutdown:此时数据库实例处于关闭状态。
5.2:nomount:此时实例被构建在内存中,SGA被构建,并且根据参数文件启动某些后台进程。
5.3:mount:实例被定位,并且读取数据库的控制文件。
5.4:open:此时会打开数据文件。
6:关闭Oracle 数据库实例
语法:shutdown normal | transactional | immediate | abort
6.1:normal:不允许新用户连接,但保持当前用户连接,只有所以当前用户退出数据库才关闭。
6.2:transactional:不允许新用户连接,等待当前正在处理的事务处理完毕后关闭数据库。
6.3:immediate:不允许新用户连接。
正在处理的事务会被终止并且回滚后,关闭数据库。
6.4:abort:相当于断电操作。
此时实例会被立即终止。
(但不会损坏数据库,特殊情况才使用)。
7:了解数据库的初始化参数。
7.1:参数文件的位置和命名格式:
7.1.1:$ORACLE_HOME/dbs/spfileSID.ora :最适合用作参数文件,二进制不可编辑
7.1.2:$ORACLE_HOME/dbs/spfile.ora :在RAC环境才使用
7.1.3:$ORACLE_HOME/dbs/initSID.ora :可以编辑
用startup 命令启动数据库查找参数文件顺序1:spfileSID.ora, 2:spfile.ora 3:initSID.ora
若使用startup pfile 命令则可以直接指定参数文件位置来启动数据库。
7.2:创建spfile 和pfile 文件
create spfile=’spfilename’ from pfile=’pfilename’
create pfile=’pfilename’ from spfile=’spfilename’
7.3:修改参数值.
7.3.1:有些参数是session ,有些参数是system,有些参数修改立即生
效,有些参数则需要重启实例才能生效。
7.3.2:动态试图v$parameter中有两列就可知
ISSES_MODIFIABLE 列
指示参数是否可以在session级别( Alter session set )修改(True or False)
ISSYS_MODIFIABLE 列
指示参数是否可以在system级别(Alter system set)修改,有如下3个取值:
IMMEDIATE - 立即生效
DEFERRED - 下个session生效
False - 必须得重启才能生效(必须指定Scope=spfile)
7.4:使用数据字典和动态性能试图。
7.41:数据字典试图使元数据,从物理和逻辑上描述数据库及其内容。
查询数据字典试图有3中格式:dba_ , all_ , user_
例如:DBA_OBJECTS, DBA_DATA_FILES,
DBA_USERS, DBA_TABLES 等(一般数据字典试图都是s结尾)
7.4.2:动态性能试图以V$开头,通常是一些来之实例或控制文件的信息。
在数据库启动阶段被创建。
例如:V$INSTANCE, V$DATAFILE, V$DATABASE, V$LOGFILE 等(一般动态性能试图是单数)
7.5:使用警报日志位置:查询background_dump_dest参数可知,命名为
alert_SID.log.
7.5.1:警报中记录的关键操作包括:
A:所以启动和关闭命令。
B:实例的内部错误。
C:检测到关于数据文件的损坏情况。
D:任何已经发生的记录锁定死锁。
E:调整内部参数alter system
F:所以日志和归档日志文件。