oracle测试题

合集下载

2021秋国开电大《Oracle数据库编程》期末测试资料

2021秋国开电大《Oracle数据库编程》期末测试资料

国开电大《Oracle数据库编程》期末测试选择题UNION ALL是()正确答案:并集重复UNION是()正确答案:并集不重复“alter table tab1 drop column col1;”的作用是()。

正确答案:删除了数据表tab1的字段col1“alter table tab1 modify (name char(32));”的作用是()。

正确答案:修改了字段name的大小“delete from tab1;”的作用是()。

正确答案:删除了数据表tab1的全部数据“from user_tables u”中的u是()。

正确答案:user_tables的别名“select * from dba_data_files where bytes = max(bytes);”出错原因是()。

正确答案:分组函数不能使用在where子句中“select obj# as test from clu$;”中as的作用是()。

正确答案:为obj#起了个别名“update tab1 set name='1234' where id=1;”修改了()条记录。

正确答案:不确定下列不属于Oracle数据库中的约束条件的是()。

正确答案:INDEX下列关于提交事务的叙述哪一项是正确的?()正确答案:事务提交后,它对数据库所做的修改将永久保存到数据库中下列函数中属于字符串函数的是()。

正确答案:以上皆是下列哪个约束只能定义在列级定义上()正确答案:NOT NULL下列哪种不是DDL语句。

()正确答案:commit下列哪种不是DML语句是()。

正确答案:alter下面选项中有关连接描述错误的是 ( )正确答案:outer jion外连接不属于单行函数的特征的是:()正确答案:单行函数不可以嵌套事务中触发回滚后()操作会失效。

正确答案:以上皆是以下选项中,不属于PL/SQL异常的是()。

正确答案:系统异常以下选项中,不属于数据处理方式的是()。

数据库测试题

数据库测试题

数据库测试卷一.选择题(1*50)1.在视图上不能授予的操作权限是()。

A)INSERT B)INDEXC)DELETE D)SELECT2.关系数据库中的视图属于4个数据抽象级别中的()A 外部模型B 概念模型C 逻辑模型D 物理模型3、视图是一种常用的数据对象,它是提供(1___)和(1___)数据的另一种途径,可以简化数据库操作,当使用多个数据表来建立视图时,表的连接不能使用(2___)方式,并且不允许在该语句中包括(3___)等关键字。

⑴ A、查看,存放B、查看,检索C、插入,更新D、检索,插入⑵ A、外连接B、内连接C、左连接D、右连接⑶ A、ORDER BY,COMPUTEB、ORDER BY,COMPUTE,COMPUTR BYC、ORDER BY,COMPUTE BY,GROUP BYD、GROUP BY,COMPUTE BY4、你应在哪些列上建索引?A)列值少的列B)经常修改的列C)列值分布广泛的列D)空值少的列5.键索引的情况:1 这个字段取值范围很广2 这个字段有大量空值因为索引不维护null3 经常查询的字段4 通过索引查询到的结果集<这个表总量的4%6. 下列哪些关键字不是建表用的关键字? ( )A) create B) table C) INDEX D) NOT NULLE) PRIMARY KEY F) REFERENCES7. 关于索引下列说法不正确的是? ()A) 索引可以加快查询速度B) 索引可以提高更新表的速度C) 少量数据的表创建索引没有意义D) 在联接操作中经常使用索引8.有如下员工表和部门表,在雇员信息表关系EMP中,哪个属性是外键(foreign key)______。

雇员表:部门表:A) 雇员号B) 雇员名C) 部门号D) 工资9.假设有一个People表具有name(字符类型)字段,现要查询name为Rafe的数据下列SQL正确的是? 【2】A)SELECT *FROM PeopleWHERE name = RafeB)SELECT * From where name='Rafe'C)SELECT *FROM PeopleWHERE name = 'Rafe'D)Select*FROMpeople name = 'Rafe'10.假设有一个People表具有工资字段salary(货币类型),现要查询工资为100000的人的数据下列SQL正确的是?A)SELECT *FROM PeopleWHERE salary = “100000”B)SELECT * From where salary='100000'C)SELECT *FROM PeopleWHERE salary = 100000D)Select*FROMpeople name = 10000011.关于SQL的句法下列说法正确的是?A)在SQL语句引用字符常量使用单引号B)在SQL语句引用字符常量使用双单引号C)在SQL语句中可以使用括号D)在SQL语句中可以嵌套12.下面哪些SQL语句是无效的?()A) SELECT * FROM TableB) SELECT *FROM TableC) SELECT * FROMTableD) select *from tableE) SELECT *FROM MoviesWHERE studio IN (SELECT name FROM Studios)13下列SQL命令哪些是合法的数据定义语句?A)DROP TABLEB)SELECTC)GRANTD)DELETE14.下列SQL命令哪些是合法的数据处理语句?A)DROP TABLEB)SELECTC)GRANTD)DELETE15.下列SQL命令哪些是合法的数据管理语句?A)DROP TABLEB)SELECTC)GRANTD)DELETE16.SQL语言集以下哪些功能于一体()A)数据查询(Data Query)B)数据操纵(Data Manipuiation)C)数据定义(Data Definition)D)数据控制(Data Control)E)数据过滤(Data Filter)17.用户可以用SQL语言对下列哪些对象进行查询?()A)视图B)基本表C)存储文件D)存储文件的逻辑结构E)存储文件的物理结构18.SQL可以用来完成哪些任务?( )A) 数据处理B) 数据定义C) 数据管理D) 数据通讯19.下列描述中正确的是()A.SQL是一种过程化语言B.SQL不能嵌入到高级语言程序中C.SQL是一种DBMSD.SQL采用集合操作方式20.在下列SQL语句中,属于数据控制的语句是()A.CREATE,DROP,DELETE,ALTER B.GRANT,REVOKEC.SELECT,UPDA TE,DELETE,INSERT D.CREATE,DROP,ALTER 21.试述文件系统与数据库系统的区别和联系。

JAVA—oracle笔试

JAVA—oracle笔试

Java测试题一、选择题(每题一分)1)在java中,类Animal中的方法printA()定义如下:public void printA() { ()int a =10;int result=10%3;System.out.println(result);}在类Dog中方法printA()定义如下:public void printA() {int a=10;System.out.println(a/3);}Dog类的定义如下:class Dog extends Animal {……}Animal animal=new Dog();animal.printA( );以上语句输出为(C)。

(选择一项)A) 0 B) 3.3333 C) 1 D) 32)下面Java程序段运行后,将(B )。

(选择一项)interface A {int x=0;}class B {int x=1;}class C extends B implements A {public void pX() {System.out.println(x);}public static void main(String[] args) {new C().px();}}A) 产生运行期错误B) 产生编译期错误C) 程序运行,输出结果为1 D) 程序运行,输出结果为03)public class MyClass1 {public static void main(String[] args) {}class MyInner {}A)在以上Java代码中的横线上,可放置(AB)修饰符。

(选择二项)A) public B) private C) implements D) friend4)在Java中,运行时发生的错误称为(A)。

(选择一项)A) 异常B) 暂停C) 消息D) 服务5)如下Java代码段,体现了(B)概念。

(选择一项)A)……B)public void aMethod(String s) {……}C)public void aMethod(int i) {……}D)public void aMethod(int i,float f) {……}E)……F)A) 多继承B) 重载C) 重写D) 多态6)在Java中,下面关于抽象类的描述正确的是(D)。

2020年智慧树知道网课《ORACLE快速入门》课后章节测试满分答案

2020年智慧树知道网课《ORACLE快速入门》课后章节测试满分答案

第一章测试1【多选题】(10分)ORACLE的DBA日常工作有哪些任务A.ORACLE数据库应用架构设计B.ORACLE升级C.性能调优D.ORACLE安装2【多选题】(10分)数据库市场上主要分为哪几种类型的数据库A.关系型数据库B.NOSQL数据库C.ORACLE数据库D.NEWSQL数据库3【判断题】(10分)啤酒和尿片放在一起是数据挖掘的应用。

A.对B.错4【判断题】(10分)分布式数据库经常和并行数据库结合一起使用。

A.错B.对5【判断题】(10分)云数据库是云技术和数据库技术的结合。

A.对B.错第二章测试1【多选题】(10分)哪些操作系统可以安装ORACLE软件A.windows操作系统B.UNIX操作系统C.LINUX操作系统D.mac操作系统2【单选题】(10分)ORACLE11g中的g是什么意思A.互联网B.网格C.网络D.网址3【多选题】(10分)以下哪些是ORACLE的服务A.ORACLEDBCONSOLEORCLB.ORACLEORADB11G_HOME1TNSLISTENERC.ORACLEJOBSHEDULEORCLD.ORACLESERVICEORCL4【判断题】(10分)ORACLE的安装软件有32位安装包和64位安装包的区别。

A.对B.错5【判断题】(10分)我们可以通过数据库配置助手DBCA创建、删除、修改数据库。

A.错B.对第三章测试1【单选题】(10分)以下哪个选项是的A.sqlplus是客户端管理工具B.sqlplus就是sqlC.OEM是客户端管理工具D.sqlplus中除了可以输入sql语句外,还可以输入sqlplus的格式化语言2【单选题】(10分)在sqlplus中,用以下哪个命令可以查询表的结构A.describeB.showC.viewD.select3【单选题】(10分)以下哪个命令可以在sqlplus中执行某个文件中的sql命令A.editB.saveC.startD.sool4【判断题】(10分)使用edit命令修改缓冲区中最近一条命令。

oracle数据库题库

oracle数据库题库

oracle数据库题库1)哪些DBMS的调度器过程可以⽤来启⽤程序?A. ENABLEB. ENABLE_PROGRAMC. VALIDATE_PROGRAMD. SET_ATTRIBUTEE. SET_ENABLED答案: A,D2)下列哪项不是⼀个有效的⽇程表语法元素?A. FREQB. BYHOURC. RUNDATED. INTERVALE. BYMINUTE答案:C3)哪个调度视图可以查询⽬前正在执⾏⼯作?A. DBA_SCHEDULER_JOB_RUN_DETAILSB. DBA_SCHEDULER_RUNNING_JOBS DBAC. DBA_SCHEDULER_CURRENT_JOBSD. DBA_SCHEDULER_JOBS DBAE. DBA_SCHEDULER_EXECUTING_JOBS答案: B,D4)⼀个作业或程序创建时,启⽤属性的默认值是什么?A. TRUEB. FALSEC. There is no default. It must be defined at creation time.D. PENDINGE. NULL5)全球化⽀持是通过Oracle特性中的哪⼀个提供的⽂本和字符处理功能实现?A. RSTLNEB. NLSRTLC. LISTENERD. NLSSORTE. Linguistic sorts答案: B6)以下哪种数据类型存储时区信息到数据库中?A. TIMESTAMPB. DATEC. TIMESTAMP WITH TIME ZONED. TIMESTAMP WITH LOCAL TIME ZONEE. DATETIME答案: C7)你要备份你的100 GB的数据库到⼀台远程磁带设备上。

当转移备份到磁带设备时您必须确保最低⽹络带宽消耗。

你的CPU 的当前消耗是⼤约40%。

你应该执⾏哪种类型的备份?A. standard backup setB. image copyC. compressed backupD. user-managed backup答案: C8)您⽤ASM存储管理Oracle数据库11g数据库。

Oracle测试题+答案

Oracle测试题+答案

1) PL/SQL块中可以使用下列()命令。

(选择两项)a) TRUNCATEb) DELETEc) SA VEPOINTd) ALTER TABLE2) 授予sa用户在SCOTT.EMP表中SAL列的更新权限的语句是(B)〔选择一项〕a) GRANT CHANGE ON SCOTT.EMP TO SAb) GRANT UPDA TE ON SCOTT.EMP(SAL) TO SAc) GRANT UPDA TE (SAL) ON SCOTT.EMP TO SAd) GRANT MODIFY ON SCOTT.EMP(SAL) TO SA3) EMP表有14条记录,则语句SELECT ‘Aptech’FROM EMP 的执行结果是(C)〔选择一项〕a) Aptechb) 无输出c) 14行Aptechd) 编译出错4) PL/SQL块中哪几部分是可选的()〔选择二项〕a) Declareb) Beginc) Exceptiond) Constant5) 在创建序列的过程中,下列()选项指定序列在达到最大值或最小值后,将继续从头开始生成值。

(选择一项)a) Cycleb) Nocyclec) Cached) Nocache6) 同义词有以下()用途。

(选择三项)a) 简化SQL 语句b) 隐藏对象的名称和所有者c) 提供对对象的公共访问d) 显示对象的名称和所有者7) Oracle中用来释放锁的语句有()〔选择二项〕a) commitb) Drop lockc) rollbackd) unlock8) 关于类型定义Number(9,2)说法正确的有()〔选择一项〕a) 整数部分9位,小数部分2位,共11位b) 整数部分7位,小数部分2位,共9位c) 整数部分6位,小数点一位,小数部分2位,共9位d) 以上说法均不正确9) 下列哪种Lob类型用来存储数据库以外的操作系统文件()〔选择一项〕a) CLOBb) BLOBc) CFILEd) BFILE10) Oracle中的三种系统文件分别是()〔选择三项〕a) 数据文件b) 归档文件c) 日志文件d) 控制文件11) 下列哪项不是Oracle中常用的分区方法?()〔选择一项〕a) 范围分区b) 散列分区c) 列表分区d) 条件分区12) 查看Test中名称为P1的分区中的记录的查询语句为()〔选择一项〕a) Select * from Test Where PartitionName=’p1’b) Select * from Test(p1)c) Select * from Test Partition(p1);d) 以上均正确13) 创建序列时,若未指定Cycle选项,则当当前值大于MaxValue时将()〔选择一项〕a) 从MinValue重新开始循环b) 重复使用MaxValue 值c) 执行出错d) 使用随机值14) 下列哪项是创建索引组织表所必需的()〔选一项〕a) Primary Keyb) Order Byc) Group Byd) 以上均不是15) 若表的某字段值存在大量的重复,则基于该字段适合创建哪种索引?()〔选一项〕a) 标准索引b) 唯一索引c) 位图索引d) 分区索引16) 在PL/SQL块中定义一个名为PI值为3.14的Real型常量的语法是()〔选一项〕a) A.Pi Const Real=3.14;b) B.Pi Real Const =3.14;c) C.Constant Pi Real:=3.14d) D.Pi Constant Real:=3.1417) 22.当Select语句没有返回行时,将引发下列哪个异常?()[选择一项]a) A.No_rows_foundb) B.No_data_foundc) C.No_Data_rows_foundd) D.Invalid_Number18) Oracle中提供的两种游标是()〔选择二项〕a) A.隐式游标b) B.静态游标c) C.REF游标d) D.显式游标19) 若Emp表中有14条记录,则用户执行了以下操作,结果是:()〔选择一项〕Cursor mycur is Select * From emp;。

Oracle测试题(卷)+答案解析

Oracle测试题(卷)+答案解析

Oracle测试题(卷)+答案解析1) PL/SQL块中可以使用下列()命令。

(选择两项)a) TRUNCATEb) DELETEc) SA VEPOINTd) ALTER TABLE2) 授予sa用户在SCOTT.EMP表中SAL列的更新权限的语句是(B)〔选择一项〕a) GRANT CHANGE ON SCOTT.EMP TO SAb) GRANT UPDA TE ON SCOTT.EMP(SAL) TO SAc) GRANT UPDA TE (SAL) ON SCOTT.EMP TO SAd) GRANT MODIFY ON SCOTT.EMP(SAL) TO SA3) EMP表有14条记录,则语句SELECT ‘Aptech’FROM EMP 的执行结果是(C)〔选择一项〕a) Aptechb) 无输出c) 14行Aptechd) 编译出错4) PL/SQL块中哪几部分是可选的()〔选择二项〕a) Declareb) Beginc) Exceptiond) Constant5) 在创建序列的过程中,下列()选项指定序列在达到最大值或最小值后,将继续从头开始生成值。

(选择一项)a) Cycleb) Nocyclec) Cached) Nocache6) 同义词有以下()用途。

(选择三项)a) 简化SQL 语句b) 隐藏对象的名称和所有者c) 提供对对象的公共访问d) 显示对象的名称和所有者7) Oracle中用来释放锁的语句有()〔选择二项〕a) commitb) Drop lockc) rollbackd) unlock8) 关于类型定义Number(9,2)说确的有()〔选择一项〕a) 整数部分9位,小数部分2位,共11位b) 整数部分7位,小数部分2位,共9位c) 整数部分6位,小数点一位,小数部分2位,共9位d) 以上说法均不正确9) 下列哪种Lob类型用来存储数据库以外的操作系统文件()〔选择一项〕a) CLOBb) BLOBc) CFILEd) BFILE10) Oracle中的三种系统文件分别是()〔选择三项〕a) 数据文件b) 归档文件c) 日志文件d) 控制文件11) 下列哪项不是Oracle中常用的分区方法?()〔选择一项〕a) 围分区b) 散列分区c) 列表分区d) 条件分区12) 查看Test中名称为P1的分区中的记录的查询语句为()〔选择一项〕a) Select * from Test Where PartitionName=’p1’b) Select * from Test(p1)c) Select * from Test Partition(p1);d) 以上均正确13) 创建序列时,若未指定Cycle选项,则当当前值大于MaxValue时将()〔选择一项〕a) 从MinValue重新开始循环b) 重复使用MaxValue 值c) 执行出错d) 使用随机值14) 下列哪项是创建索引组织表所必需的()〔选一项〕a) Primary Keyb) Order Byc) Group Byd) 以上均不是15) 若表的某字段值存在大量的重复,则基于该字段适合创建哪种索引?()〔选一项〕a) 标准索引b) 唯一索引c) 位图索引d) 分区索引16) 在PL/SQL块中定义一个名为PI值为3.14的Real型常量的语法是()〔选一项〕a) A.Pi Const Real=3.14;b) B.Pi Real Const =3.14;c) C.Constant Pi Real:=3.14d) D.Pi Constant Real:=3.1417) 22.当Select语句没有返回行时,将引发下列哪个异常?()[选择一项]a) A.No_rows_foundb) B.No_data_foundc) C.No_Data_rows_foundd) D.Invalid_Number18) Oracle中提供的两种游标是()〔选择二项〕a) A.隐式游标b) B.静态游标c) C.REF游标d) D.显式游标19) 若Emp表中有14条记录,则用户执行了以下操作,结果是:()〔选择一项〕Cursor mycur is Select * From emp;。

oracle面试测试题

oracle面试测试题

典型oracle面试题一:sql题1、假设学校环境如下:一个系有若干个专业,每个专业一年只招一个班,每个班有若干个学生。

现要建立关于系、学生、班级的数据库,关系模式如下:班级表class(班号classid,专业名subject,系名deptname,入学年份entertime,人数num)学生表student(学号studentid,姓名name,年龄age,班号classid)系department(系号departmentid,系名deptname)要求用sql语句完成如下功能:(1)建表,并实现如下要求A:每个表根据实际定义好主外键关系B:系表中编号字段利用数据库自动化增长值实现C:每个班级的人数不超过30人D:学生年龄介于15到30之间E:学生姓名不能为空,系名不能重复(2)输入部分测试数据department表:1数学2计算机3化学4中文5经济学class表:101软件计算机1995 20102微电子计算机1996 30111 无机化学化学1995 29112高分子化学化学1996 25121 统计数学1995 20131现代语言中文1996 20141国际贸易经济学1997 30142国际金融经济学1998 14 student表:8101张三18 1018102钱四16 1218103王玲17 1318104李飞19 1028105王五20 141(3)完成下列查询:A:列出所有人数大于等于28的系的编号和名称B:列出所有开设超过两个专业的系的名字C:显示每个学生的学号、姓名、专业、系名信息2、oracle函数的使用针对scott.emp表,实现如下查询操作:(1)把员工姓名和工作连接在一起,中间用“--”分隔显示。

(2)分别显示工姓名的前三个字符和第四个字符后的内容(3)显示字母T在员工姓名中第一次和第二次出现的位置(4)显示12年前参加工作的员工信息(5)查询在当月倒数第三天参加工作的员工信息(6)显示每个员工的工作天数(7)按照每月30天,计算每个员工的日薪金(8)按照年和月的格式显示员工参加工作的时间(如SMITH 1980 12)(9)查询在1987年2月到5月参加工作的员工信息(包括2月和5月)(10)显示每个员工的津贴信息,没有津贴就显示0(11)分别显示员工的总人数和津贴不为空的员工人数(12)显示部门最低工资大于900的部门和最低工资(13)显示每个部门工资在1400以上的所有员工的工资总额(14)显示部门名称以及该部门的员工总数,没有员工的以0显示(15)显示每个部门中最高工资的员工信息3、员工培训系统的案例Employee员工表:EID Name Department Job Email password10001 李明SBB EG10003 李四LUCK ITM11045 胡斐SBB EG10044 张三MTD ETN10023 王刚MMM ETN Training 培训记录表:CourseId EID Course Grade orders1 10001 T-SQL 603 11045 java 712 10003 oracle 591 10003 T-SQL 903 10044 java 782 10001 oracle 692 10023 oracle 703 20001 Java 693 10078 Java 58完成如下sql语句:(1)建立两个表的表结构,自行分析,根据需要设置主键(2)用sql语句进行册书数据的添加(3)列出所有员工参加培训的情况,要求显示:EID,Name,department,course,grade用一条sql语句完成(4)列出未参加培训的员工信息,显示格式如上(5)列出所有各课成绩最高的员工信息,显示格式如上(6)把所有表2有但表1没有的员工编号插入表1中,一条语句完成(7)统计各部门的人数(8)统计各部门中姓李的人数4、pl/sql练习(1)输入一个员工号,输出该员工的姓名、薪金和工作天数(2)接手一个员工号,如果该员工职位是”MANAGER”,并且在DALLAS工作,那么加薪15%,如果职位是CLERK,并在NEW YORK工作,降薪5%,其他情况不做处理。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.首先:oracle实验第一种:手工联机全库备份,备份周期:每周做全库备份,每天做增量备份。

第一步:开启归档模式后,做全库备份第二步:查看数据文件的所有信息,因为生产环境中不一定在一个目录下的第三步:cp数据文件第四步:结束备份,模拟故障第五步:恢复第二种自动化数据库备份RMAN(生产环境中常用的备份方式)选择RMAN备份的理由:①RMAN操作简单,自动化功能强②RMAN可以忽略备份后未发生改变的block,即做增量备份不管什么备份,必须在归档模式下.所以先开归档。

第一步:开启归档模式,用rman连接本地数据库第二步:用RMAN开始备份第三步:创建表模拟故障,数据库不能打开了第三步:恢复,先在RMAN 中restore恢复到备份时间点,再recover database,查日志恢复到当前。

所有的备份恢复信息都存放在控制文件中。

2.保证数据完整性的手段?Oracle数据库的完整性有三个:实体完整性、参考完整性和自定义完整性。

它的实现是通过5五个约束来完成的。

五个约束如下:主键primary key非空not null唯一unique检查check外键foreign key3.undo空间不够用怎么办(磁盘没空间)undo表空间不断扩大问题的原因:1有较大的事务量让oracle undo 自动扩展,产生过度占有磁盘空间的情况。

2有较大事务没有收缩或者没有提交所导致。

解决方法:第一步:查看还原表空间所在磁盘是否使用率过高,及linux 系统哪个磁盘处于比较空闲的状态第二步:在oracle 数据库中查看所有表空间的占用率;查询undo表空间的路径。

第三步:检查还原表空间的segment的状态的信息第四步:创建新的还原表空间第五步:.在oracle数据库中把默认的还原表空间切换成新建的还原表空间undotbs2第六步:验证当前数据库使用的还原表空间是否为新建的还原表空间第七步:等待旧的还原表空间所有的数据变成脱机状态(undo segment offline): 当undotbs1对应的回滚段均为offline 时即可删除之前的undo表空间了。

第八步:再次查看系统磁盘空间4.迁移数据数据迁移适用情况:①库从一个平台迁移到另一个平台②库升级数据迁移的类型:①表的迁移②用户的迁移③表空间的迁移exp/imp 导入导出数据。

注意:原始库和最终库的字符集必须一样现在我的实验是迁移表(即导入导出表)第一步:以scott用户创建的t1表第二步:导出表第三步:在另一台服务器上,导入表5.服务器品牌,存储品牌服务器品牌:戴尔服务器R410戴尔PowerEdge M520Cisco UCS C240 M3 2U机架式服务器曙光TC4600Oracle 推出的SuperClusterT5-8IBM System Storage DS3500IBM System x3650 M4存储服务器:浪潮英信SA5212H2IBM System x3620 M36.优化手段*********常用的优化分析工具有AWR和OEM⑴Sql语句的优化:1.对查询进行优化,应尽量避免全表扫描,首先应考虑在where 及order by 涉及列上建立索引2.应尽量避免在where 子句中使用or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描3.任何地方都不要使用select * from t ,用具体的字段列表代替“*”,不要返回用不到的任何字段4.索引并不是越多越好,索引固然可以提高相应的select 的效率,但同时也降低了insert 及update 的效率,因为insert 或update 时有可能会重建索引,所以怎样建索引需要慎重考虑,视具体情况而定。

一个表的索引数最好不要超过6个,若太多则应考虑一些不常使用到的列上建的索引是否有必要5. A. 字符级的比较: 当前被执行的语句和共享池中的语句必须完全相同.B. 两个语句所指的对象必须完全相同C两个sql语句中必须使用相同的绑定变量D.选择最有效率的表名顺序G.使用decode函数例如:select count(decode(性别,男,1,null)),count(decode(性别,女,1,null)) from 表H.用truncate 替换delete,尽量多的使用commitI用union/union all 替换or(适用于索引列)⑵选择合适的ORACLE优化器a.RULE (基于规则)b. COST (基于成本)c. CHOOSE (选择性)ALL_ROWS:是一种基于成本的优化器,它将选择一种在最短时间内返回所有数据的执行计划⑶缓冲区高速缓存的调整用户进程所存取的所有数据都是经过缓冲区高速缓存来存取,所以该部分的命中率,对性能至关重要,库缓冲区中包含私用和共享SQL和PL/SQL区,通过比较库缓冲区的命中率决定它的大小。

7,你编写过什么样的存储过程,触发器自己写的门店订货系统存储过程:create or replace procedure pro_dd(dd_hh in varchar2,dd_dh in varchar2,dd_sl in int)asvar_ddje int:=0;var_ddsl int:=0;beginif dd_hh in (select hh from kucun) thenif dd_sl <= (select kcsl from kucun where dd_hh=(select hh from kucun))update xiaoshou set ddsl=ddsl+dd_sl where dd_hh=hh;dbms_output.put_line('dingdian chenggong!');update kucun set kcsl=kcsl-ddsl where dd_hh=hh;dbms_output.put_line('dingdanchenggong!');commit;else dbms_output.put_line('mei you huo le');rollback;else dbms_output.put_line('mei you gai lei huo wu');rollback;end if;end if;end;/触发器实例是上课的实例执行过程如下:8.你编写过什么样的脚本查看表空间的名称及大小的脚本9.监控到内存突然突增10G,怎么解决问题分析:可能有很多很长时间占用数据库的操作,或者打开的连接一直没有关或者是执行一个特别大的sql语句,10.大表的维护方法***********在网上查的(1)分区处理; 分区就是将大数据量表分割成相对较小、可独立管理的部分(2)分表处理:分表处理就是将大数据量表分解为工作表和历史表来处理。

工作表:用于存放本年度数据;历史表:用于存放历史数据。

每年将转结后的工作表数据导入历史表中,并对工作表进行清空。

11.内存结构Oracle内存结构有两部分内存区域组成:❝System Global Area (SGA):oracle启动时自动分配,SGA为oracle实例的基本组件,内容共享❝Program Global Area (PGA):为server process进程分配内存,不属于oracle实例的基本组件,内容独占12.锁问题的解决方法(网上搜的)"ORA-00054: 资源正忙, 但指定以NOWAIT 方式获取资源, 或者超时失效"的快速解决方法今天在导一个临时表的数据,导出完成后准备清空数据,执行truncate命令时,遇到如下问题:ORA-00054: 资源正忙, 但指定以NOWAIT 方式获取资源, 或者超时失效解决方法如下:=========================================================SQL> select session_id from v$locked_object;SESSION_ID----------56SQL> SELECT sid, serial#, username, osuser FROM v$session where sid = 142;SID SERIAL# USERNAME OSUSER---------- ---------- ------------------------------ ------------------------------56 2088 ghb fySQL> ALTER SYSTEM KILL SESSION '56,2088';System altered执行完上述命令后,提示会话断开。

重新连接数据库,然后执行truncate操作,成功!查询锁方法以DBA角色, 查看当前数据库里锁的情况可以用如下SQL语句:select ername,t2.sid,t2.serial#,t2.logon_time fromv$locked_object t1,v$session t2 where t1.session_id=t2.sidorder by t2.logon_time如果有长期出现的一列,可能是没有释放的锁。

13.索引的建立条件(网上搜的)一、位图索引的使用1、在基数小的字段上利用位图索引可以提高查询的效率2、在Where限制条件中,若多次采用AND或者OR条件时,也建议采用位图索引3、需要用到NULL作为查询的限制条件。

因为标准查询一般情况下,会忽略所有的NULL值列二、创建索引的限制条件1、不要对一些记录内容比较少的表建立索引。

无论是表上的,还是字段上,都不要建立索引。

2、若表中内容比较大,但这个表基本上不怎么查询时,则只需在表上建立索引,而不需要在字段上建立索引。

3、在一些NULL字段上,如果该字段经常作为查询条件则需要建索引,且建议建位图索引三、多表连接查询的索引设计多表关联利用Join语句关联查询时,为了提高数据库的查询效率,用来关联的字段,最好能够建立索引。

四、在更新速度与查询速度间寻求平衡点一般来说,当某个表多数用来查询、更新比较不则要多多采用索引。

当某个表记录更新居主导,查询比较少则不要建立太多的索引。

在实际工作中,若某个表频繁的被视图所调用,则最好就好设置比较多的索引。

14.监控方法*******第一种:使用监控工具AWR进行监控分析监控内容有:①TOP SESSION信息②SESSION等待事件③性能消耗靠前的SQL信息④等待事件活动信息DB Time不包括Oracle后台进程消耗的时间。

相关文档
最新文档