oracle数据库考卷,这份数据库考卷,你能拿多少分?

这两天高考,小编拟了一份数据库(理工类)试题,看看自己能做对几个?欢迎大家在评论区留下自己的战绩~

b6d359a226c900f2e5d4564e0e0859ba.png

1. 在oracle中,下面哪个命令可以修改用户的默认密码有效期为无限制?(单选)

A. ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 90;

B. ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 999;

C. ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

D. ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 180;

答案:C

解析:

【答案解析】ORACLE修改默认密码有效期180天为无限制

1、查看用户的proifle是哪个,一般是default:

sql>SELECT username,PROFILE FROM dba_users;

2、查看指定概要文件(如default)的密码有效期设置:

sql>SELECT * FROM dba_profiles s WHERE s.profile=‘DEFAULT’ AND resource_name=‘PASSWORD_LIFE_TIME’;

3、将密码有效期由默认的180天修改成“无限制”:

sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

修改之后不需要重启动数据库,会立即生效。

4、修改后,还没有被提示ORA-28002警告的帐户不会再碰到同样的提示;

已经被提示的帐户必须再改一次密码,举例如下:

$sqlplus / as sysdba

sql> alter user 用户名 identified by ----不用换新密码

oracle11g启动参数resource_limit无论设置为false还是true,密码有效期都是生效的,所以必须通过以上方式进行修改。以上的帐户名请根据实际使用的帐户名更改。

2. 关于数据库处于ARCHIVELOG模式下的说法正确的是?(单选)

A. Fast Recovery Area

B. 在切换到ARCHIVELOG模式之前执行的所有备份都可以用于执行完全恢复。

C.在数据库开启时可以进行全备。

D. 在将数据库置于ARCHIVELOG模式之前,必须对联机重做日志文件进行多路复用。

答案:C

解析:归档模式下可进行全库的热备。没有归档的全库备份无法用来进行完全恢复,因为缺少日志。

3.默认情况下,AWR的快照会定期删除,因此导致无法比较一个很长区间的活动(比如今年的年末和去年的年末)。如下那种是实现这一目标的最佳方法?(单选)

A.设置参数STATISTICS_LEVEL为ALL以禁止快照删除

B.保存年末快照为基线

C.设置SYSAUX表空间的数据文件AUTOEXTEND打开,因此快照不会被清除

D.调整快照保持区间为比一年稍多

答案:B

解析:快照超过设置的retention(wrm$_wr_control.retention)区间就会被清理。

调大快照保留区间足够大虽然可以避免历史快照被清理,但对本案例并不是最优的方法。

baseline是一段特定时间内的snapshot的集合,当异常发生时,使用异常时间段的snapshot和baseline进行对比。baseline中的snapshot不受AWR retention的限制。

因此通过将关注的快照区间设置为基线并设置合适的过期时间(DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE的expiration参数),就可以确保这些快照不会被删除。

SYSAUX用于存储快照数据,但是保留时间和空间无关。

STATISTICS_LEVEL控制采集数据的详细程度,和保留多长时间无关。

4. 下述哪个内存组件在实例启动后无法动态伸缩?(单选)

A.database buffer cache

B.Jave pool

C.stream pool

D.log buffer

答案:D

解析:log buffer是在实例启动时固定分配的,其他组件均为可伸缩组件。

5. 关于自连接那两个说法是正确的?(多选)

A.它可以是左外连接

B.它必须是一个全外连接

C.关联列必须有索引

D.它可以是一个内连接

答案:AD

解析:相同表的关联可以是左外连接可以是内连接,没有必须是哪种连接方法。

6. 以下关于ORACLE缓冲池的描述,正确的是?(多选)

A.Recycle Pool用于存储临时使用的、不被经常使用的较大的对象,避免导致默认池和保持池中的块老化而退出缓存。

B. DEFAULT Pool采用LRU 管理,更热的对象频繁访问时,原有LRU冷端的对象可能被age out。

C.Recycle Pool 是为了让内存中的数据尽快被回收,设立的池

D.Keep Pool中并不是热点表一直能够缓存,当keep pool 不够的时候,最先缓存到 keep pool 的对象会被挤出

答案:ABD

解析: Keep Buffer Pool 的作用是缓存那些需要经常查询的对象但又容易被默认缓冲区置换出去的对象,按惯例,Keep pool设置为合理的大小,以使其中存储的对象不再age out,也就是查询这个对象的操作不会引起磁盘IO操作,可以极大地提高查询性能。

并不是我们设置了keep pool 之后,热点表就一定能够缓存在 keep pool ,keep pool 同样也是由LRU 链表管理的,当keep pool 不够的时候,最先缓存到 keep pool 的对象会被挤出,不过与default pool 中的 LRU 的管理方式不同,在keep pool 中表永远是从MRU 移动到LRU,不会由于你做了FTS而将表缓存到LRU端,在keep pool中对象永远是先进先出。

Recycle Buffer Pool正好相反。Recycle Buffer Pool用于存储临时使用的、不被经常使用的较大的对象,这些对象放置在Default Buffer Pool显然是不合适的,这些块会导致过量的缓冲区刷新输出,而且不会带来任何好处,因为等你想要再用这个块时,它可已经老化退出了缓存。要把这些段与默认池和保持池中的段分开,这样就不会导致默认池和保持池中的块老化而退出缓存。

7. 以下哪个参数可以控制笛卡尔积访问方式?(多选)

A._optimizer_index_cost_adj

B._optimizer_mjc_enabled

C._optimizer_cartesian_enabled

D._b_tree_bitmap_plans

答案:BC

解析: _optimizer_cartesian_enabled:控制是否允许笛卡尔积访问;

_optimizer_mjc_enabled:控制是否允许merge join 笛卡尔积访问;

_b_tree_bitmap_plans:–控制位图索引转化;

optimizer_index_cost_adj:调整索引扫描的转换成本百分比。

8. PG数据库中包含以下哪几种表连接方式?(多选)

A.MERGE JOIN CARTESIAN

B.NESTLOOP JOIN

C.HASH JOIN

D.MERGE JOIN

答案:BCD

解析:◆Nestloop Join

嵌套循环连接(Nestloop Join)是在两个表做连接时最朴素的一种连接方式。在嵌套循环中,内表被外表驱动,外表返回的每一行都要在内表中检索找到与它匹配的行,因此整个查询返回的结果集不能太大(>10000不适合),要把返回子集较小的表作为外表,而且在内表的连接字段上要有索引,否则会很慢。

执行的过程:确定一个驱动表(outer table),另一个表为inner table,驱动表中的每一行与inner表中的相应记录JOIN,类似一个嵌套的循环。适用于驱动表的记录集比较小(<10000)而且inner表有有效的访问方法(index)。需要注意的是,JOIN的顺序很重要,驱动表(outer table)的记录集一定要小,返回的结果集的相应时间是最快的

◆Hash Join

优化器使用两个表中较小的表,并利用连接键在内存中建立散列表,然后扫描较大的表并探测散列表,找出与散列表匹配的行。

这种方式适用于较小的表可以完全放入内容的情况,这样总成本就是访问两个表的成本之和。但是如果表很大,不能完全放入内存,优化器会将它分割成若干不同的分区,吧不能放入内存的部分写入磁盘的临时段,此时要有较大的临时段以便尽量提高I/O的性能。

◆Merge Join

通常情况下散列表连接的效果比合并连接好,然而如果源数据上有索引,或者结果已经被排过序,在执行排序合并连接时就不需要排序了,这时合并连接的性能会优于是散列连接。

9. 以下哪种方法可以回收表段中的可用空间?(多选)

A.alter table … move;

B.alter table … shrink space compact;

C.通过create table as select (CTAS)重建表

D.通过export/import重建表

答案:ACD

解析:alter table shrink space compact会移动表中的行并整理表上的碎片,但并不会调整高水位,也不会释放已占用的空间。只有不带compact选项时,才会调整高水位并释放空间。

10. 以下关于外连接的写法,哪些是正确的?

A. select * from emp,dept2 where emp.deptno=dept2.deptno(+) and dept2.deptno=20 ;

B.select * from emp left join dept2 using(deptno) ;

C. select * from emp left join dept2 on emp.deptno=dept2.deptno where dept2.deptno=20 ;

D.select * from emp,dept2 where emp.deptno=dept2.deptno and dept2.deptno=20 ;

答案:AB

解析:select * from emp left join dept2 on emp.deptno=dept2.deptno where dept2.deptno=20、

select * from emp,dept2 where emp.deptno=dept2.deptno(+) and dept2.deptno=20:

会在最后进行过滤,失去了外连接的效果。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值