Oracle DBA创建数据库试题精选

Oracle DBA创建数据库试题精选,第1张

Q : This symbol When you put infront of a line in the parameter file signifies a ment $ @ # ! Q : When you change a parameter value in the parameter file when will that change takes affect Immediately after saving the parameter file At the first CHECKPOINT after saving the paramter file When the DBWR finishes writing all the dirty buffers to the disk At the next instance startup Q : ALTER SYSTEM DEFFERED mand modifies the global parameters for existing sessions after a certain amount of time new sessions only existing and new sessions depends on the SPIN_COUNT initialization parameter Q : The location where debugging trace files for back ground processes are written is specified by LOGFILE_DEST ORACLE_HOME BACKGROUND_DUMP_DEST CORE_DUMP_DEST Q : In case of heavy contention for latches set the LOG_SIMULTANEOUS_COPIES initialization parameter to Twice the number of CPUs Same as the DB Block Buffers Same as the Shared Pool Size None of the above Q : What is the first step in manually creating a new database Startup an instance Start SQLPlus and connect to Oracle as SYSDBA Check the instance identifier for your system Create a parameter file Q : Which of the following is true regarding control files Oracle remeds atleast o control files stored on o separate disks Oracle remeds atleast o control files stored on one disk Oracle remeds to store one control file One control file is not enough to run a database Q : Tom created a database with a DB_BLOCK_SIZE of k he wants to increase this to k what is his next step Issue ALTER SYSTEM SET DB_BLOCK_SIZE= k mand recreate the database with the new setting It can be done in both the ways the DB_BLOCK_SIZE cannot be k Q : Howmany rollback segments are required for Oracle to startup apart from SYSTEM rollback segment Oracle can start with just the system rollback segment Oracle Needs atleast rollback segments before it can start Oracle Needs a Temp Rollback Segment before it can start None of the above Q : The unit of measurement for DB_BLOCK_SIZE intialization parameter is BLOCKS BYTE PAGE ROW Q : This tablespace is a must before you run the database instance ROLLBACK TOOLS TEMP SYSTEM Q : Which initialization parameter determines the rollback segments that can be used by Oracle ROLLBACKS LOGFILE GROUP ROLLBACK_SEGMENTS DBA_ROLLBACK_SEGS Q : Which of the following is a valid but undocumented parameter in Oracle _CORRUPT_RBS _CORRUPT_REDO _CORRUPT_ROLLBACK_SEGMENTS None of the above lishixinzhi/Article/program/Oracle/201311/17773

REF CURSOR游标:

动态游标,在运行的时候才能确定游标使用的查询。分类:

强类型(限制)REF CURSOR,规定返回类型

弱类型(非限制)REF CURSOR,不规定返回类型,可以获取任何结果集。

TYPE ref_cursor_name IS REF CURSOR [RETURN return_type]

Oracle 的隔离级别

SQL92定义的隔离级别在理论上很完善,但是 Oracle 显然认为在实际实现的时候并不应该完全照搬SQL92的模型。

- Oracle不支持 SQL92 标准中的“读取未提交数据(read uncommitted)”隔离级别,想要脏读都没可能。

- Oracle 支持 SQL92 标准中的“读取已提交数据(read committed)”隔离级别,(这也是Oracle默认的隔离级别)。

- Oracle不支持 SQL92 标准中的“可重现的读取(repeatable read)”隔离级别,要想避免“不可重现的读取(nonrepeatable read)”可以直接使用“序列化(serializable)”隔离级别。

- Oracle 支持 SQL92 标准中的“序列化(serializable)”隔离级别,但是并不真正阻塞事务的执行(这一点在后文还有详述)。

- Oracle 还另外增加了一个非SQL92标准的“只读(read-only)”隔离级别。

oracle startup的时候分为三个步骤:

1 Start an instance

2 Mount the database

3 Open the database

三个步骤中所要做的工作主要如下:

1、start an instance

命令为 startup nomount

在这一步中主要工作有:

Reading the parameter file initsidora

Allocating the SGA

Starting the background processes

Opening the ALERT file and the trace files

读参数文件是为了读里面的dbname,各个内存参数的大小,比如sga的大小,以便分配内存,还有控制文件的路径等。在这一步并不打开控制文件,所以如果你要重建控制文件的时候,需要工作在这个状态下。

2、Mount the database

命令为 startup mount,如果在nomount状态下命令为: alter database mount

在这一步中主要工作有:

Associating a database with a previously started instance

Locating and opening the control files specified in the parameter file

Reading the control files to obtain the names and status of the data files and redo log files

在这一步,主要用到的文件是控制文件然后读控制文件,得到各个数据文件和联机日志文件的名字和状态(online or offline) ,但是并不去检查各个文件是否存在所以如果你要修改数据文件的名字和重建联机日志文件等 *** 作,就需要工作在mount状态下因为下一步要打开各个数据文件和联机日志文件,所以如果数据文件不存在,你就需要在mount状态下,恢复文件,才能使下一步不报错误

3、Open the database

命令为 startup,如果在mount状态下命令为: alter database open

在这一步中主要工作有:

Opening the online data files

Opening the online redo log files

在这一步中,数据库主要的工作是打开第2步中在控制文件中读到的在线的联机日志文件和数据文件如果数据文件和联机日志文件不存在,oracle就会报错oracle打开数据文件和日志文件之后,会对数据文件和日志文件进行一致性检查,如果发现不一致,会启动SMON进程进行实例恢复

另外,在整个过程中密码文件都是必须的,因为要验证 *** 作的用户是否具有适当的权限。这个只是从宏观上来看oracle启动的整个过程。

1

update

t

set

logdate=to_date('2003-01-01','yyyy-mm-dd')

where

logdate=to_date('2001-02-11','yyyy-mm-dd');

2

select

from

t

where

name

in

(select

name

from

t

group

by

name

having

coung()>1)

order

by

name;--没说清楚,到底是升序还是降序

3

select

ID,NAME,ADDRESS,PHONE,LOGDATE

from

(

select

t,row_number()

over(partition

by

name

order

by

name)

rn

from

t

)

where

rn

=

1;

4

update

t

set

(address,phone)=

(select

address,phone

from

e

where

ename=tname);

5

select

from

t

where

rownum

<=5

minus

select

from

t

where

rownum

<=2;

也没什么特别的地方,有些题目用oracle特有的函数去做会比较简单,像在第三题中用到的oracle的分析函数,以及在第一题中用到的oracle的to_char()函数。

这几个题目主要是看你能不能使用oracle的函数去处理

1

product主键id

顾客表主键acid

商品交易表为联合主键(acid+id),同时acid和id分别是顾客表和商品表的外键

2

select bacname,bacadress

from product a,customer b,order c where aid=cid and bacid=cacid

and aname='李子'

3

select t1acname

from

(select bacname

from product a,customer b,order c where aid=cid and bacid=cacid

and aname='李子') t1,

(select bacname

from product a,customer b,order c where aid=cid and bacid=cacid

and aname='苹果') t2

where t1acname=t2acname

4

select bacname,

sum(case when type='家电' then apricecamount else 0 end) as 家电价格,

sum(case when type='水果' then apricecamount else 0 end) as 水果价格

from product a,customer b,order c where aid=cid and bacid=cacid

group by bacname

1: delet from cw_dw_pz where A003='000000';

2: select from gz_gr_zz where A044<0;

3: delete from cw_dw_pz where p002<to_date('2015-01-01','yyyy-mm-dd');

4

--建立表 和删除表;

DROP TABLE watest;

CREATE TABLE watest

(

A001 VARCHAR2(10),

A002 VARCHAR2(10),

A003 VARCHAR2(10),

A008 VARCHAR2(10)

);

---插入watest语句块;

INSERT INTO DEPT VALUES

('test','test','test','test');

--增加A004字段

alter table watest add A004 VARCHAR2(10); #给表watest增加一名为A004的列。

甲骨文(Oracle)面试题目 这也许是你一直期待的文章,在关注这部分 技术 问题的同时,请务必阅读有关 面试 中有关

个人的问题和解答。这里的回答并不是十分全面,这些问题可以通过多个角度来进行解释

,也许你不必在面试过程中给出完全详尽的答案,只需要通过你的解答使面试考官了解你

对ORACLE概念的熟悉程度。

1解释冷备份和热备份的不同点以及各自的优点

解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷

备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份

时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个 时间 点。冷备份的优点在于

它的备份和恢复 *** 作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库

性能会比归档模式稍好。(因为不必将archive log写入硬盘)

2你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢?

解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。

3如何转换initora到spfile

解答:使用create spfile from pfile 命令

4解释data block , extent 和 segment的区别(这里建议用英文术语)

解答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理

存储空间时,连续的data block就组成了extent 一个数据库对象拥有的所有extents被

称为该对象的segment

5给出两个检查表结构的`方法

解答:1DESCRIBE命令

2DBMS_METADATAGET_DDL 包

6怎样查看数据库引擎的报错

解答:alert log

7比较truncate和delete 命令

解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL *** 作,它移动

HWK,不需要rollback segment 而Delete是DML *** 作, 需要rollback segment 且花费较长

时间

8使用索引的理由

解答:快速访问表中的data block

9给出在STAR SCHEMA中的两种表及它们分别含有的数据

解答:Fact tables 和dimension tables fact table包含大量的主要的信息而dime

nsion tables 存放对fact table 某些属性描述的信息

10FACT Table上需要建立何种索引?

解答:位图索引 (bitmap index)

11 给出两种相关约束

解答:主键和外键

12 如何在不影响子表的前提下,重建一个母表

解答:子表的外键强制实效,重建母表,激活外键

13 解释归档和非归档模式之间的不同和它们各自的优缺点

解答:归档模式是指你可以备份所有的数据库 transactions并恢复到任意一个时间点

。非归档模式则相反,不能恢复到任意一个时间点。但是非归档模式可以带来数据库性能

上的少许提高

14 如何建立一个备份控制文件?

解答:Alter database backup control file to trace

15 给出数据库正常启动所 经历 的几种状态

解答:STARTUP NOMOUNT – 数据库实例启动

STARTUP MOUNT - 数据库装载

STARTUP OPEN – 数据库打开

16 哪个column可以用来区别V$视图和GV$视图

解答:INST_ID 指明集群环境中具体的 某个instance 。

17 如何生成explain plan

解答:运行utlxplansql 建立plan 表

针对特定SQL语句,使用 explain plan set statement_id = 'tst1' into pl

an_table ,运行utlxplpsql 或 utlxplssql察看explain plan

18 如何增加buffer cache的命中率?

解答:在数据库较繁忙时,适用buffer cache advisory 工具,查询v$db_cache_adv

ice如果有必要更改,可以使用 alter system set db_cache_size 命令

19 ORA-01555的应对方法?

解答:具体的出错信息是snapshot too old within rollback seg , 通常可以通过增

大rollback seg来解决问题。当然也需要察看一下具体造成错误的SQL文本

20 解释$ORACLE_HOME和$ORACLE_BASE的区别?

解答:ORACLE_BASE是oracle的根目录,ORACLE_HOME是oracle产品的目录。 ;

以上就是关于Oracle DBA创建数据库试题精选全部的内容,包括:Oracle DBA创建数据库试题精选、oracle数据库考试简答题,请回答一下吧,三个都回答了才会给分哦、ORACLE数据库面试题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9297485.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存