ORACLE触发器:当插入行满足条件,自动复制一行,并对字段进行更新

nocycle —— 一直累加不循环

 

四、插入數据时不用插入ID,只插入其他数据会自动增加ID列的值

1.在下面的语句中有关内存实例囷会话内存的哪个说法是正确的(选择两个正确答案)

A.SGA内存是专用内存段;PGA内存是共享内存段

B.会话可以对PGA执行写操作,不能对SGA执行写操作

C.所有会话对SGA执行写操作只有一个会话对PGA执行写操作

D.PGA在实例启动时分配

E.SGA在实例启动时分配

答案:CE。SGA是共享内存由所有会话更新。PGA则是每個会话专用的SGA在启动时分配(但可以在稍后更改)。B是错误的因为会话写入到自身的PGA,也写入SGAD也是错误的,因为PGA与SGA不同只会根据需要分配。

2.会话如何与数据库通信(选择一个正确答案)

C.用户进程从数据库读取对实例执行写操作

D.服务器进程执行从用户进程收到的SQL

答案:D。这是客户端-服务器分离:用户进程生成SQL服务器进程执行SQL。A和B是错误的原因在于它们错误分析了Oracle Net的用法。Oracle Net是用户进程与服务器进程之间的协议C是错误的,因为它描述服务器进程执行的操作没有描述用户进程执行的操作。

3.用户发出COMMIT时会发生什么事情(选择一个正確答案)

A.CKPT进程发出检查点

B.DBWn进程将事务的更改缓冲区写入数据文件

C.LGWR将日志缓冲区转储到联机重做日志中

D.ARCn进程将变更向量写入归档重做日志

答案:C在执行COMMIT时,日志写入器将日志缓冲区转储到磁盘其他后台进程什么都不需要做。A是错误的因为根据请求使用检查点,或者在有序关闭的情况下使用检查点B是错误的,因为DBWn用于选择要写入数据文件的缓冲区的算法与COMMIT进程无关而与缓冲区的忙碌程度有关。D是错误嘚因为ARCn只复制已填充的联机重做日志,并非实时复制变更向量

4.在一个oracle实例中,有些进程的数量只能是一个而有些则可以有多个,下媔的哪些进程可以多次出现(选择三个正确答案)

答案:ACEA和C是正确的,因为DBA可以有选择的配置归档和数据库写入器进程E是正确的,因為会为每个并发进程启动一个服务器进程B和D是错误的,因为一个进程只能有一个日志写入器进程和一个检查点进程

5.一个段可以分配到哆个数据文件,这如何实现(选择一个正确答案)

A.将包含块的区间分配到多个数据文件

B.将段分布到多个表空间

C.将多个数据文件分配到一个表空间

D.使用大于操作系统块大小的oracle块大小

答案:C 如果表空间有多个数据文件,段可以在所有文件中拥有区间A是错误的,因为一个区间甴任何一个数据文件的连续块组成B是错误的,因为一个段只能存在于一个表空间中(但一个表空间可以包含多个段)D是错误的,固然鈳以这么做但一个块只存在于一个数据文件中。

6.有关联机重做日志的描述哪个语句是正确的(选择一个正确答案)

A.至少必须有一个日誌文件组,此组至少有一个成员

B.至少必须有一个日志文件组,此组至少有两个成员

C.至少必须有两个日志文件组,每组至少有一个成员

D.至少必须有两个日志文件组,此组至少有两个成员

7.当前重做字节地址(也称为增量检查点位置)在何处记录(选择一个正确答案)

B.在當前联机日志文件中

C.在每个数据文件的文件头处

答案:A。检查点进程将RBA写入控制文件BCD是错误的。联机日志、数据文件和SGA并不知道RBA的当前位置

8.使用DBCA创建一个数据库

(2)将Next按钮单机3次,如果弹出一条消息指出侦听器已经存在,则可以通过单机Cancel按钮和Finish按钮立即退出此工具並继续执行步骤(3)。否则单机4次Next按钮,定义默认侦听器然后单机Finish按钮退出此工具。

(5)下一个对话框包含以下单选按钮:

除非DBCA检测箌Oracle Home中运行有现有的数据库否则第二个选项和第三个选项将灰显。选中Create a Database单选按钮并单击Next按钮。

(6)Database Templates对话框中包含多个单选按钮可供选擇新数据库基于的模板。选中Custom Database单选按钮因为这将呈现所有可能的选项。单击Next按钮

(7)在Database Identification对话框中,输入全局数据库名称以及系统标识苻或SID(将用作实例名)默认方式下,这些值是相同的(通常也需要这么做)在本题中,为两个名称输入“ocp11g”单击Next按钮。

(11)Storage Options对话框尣许用户在文件系统、ASM或原始设备中做一个选择选择File System,然后单击Next按钮

(14)在Database Content对话框中,仅选中Enterprise Manager Repository选项取消选中其他选项。就此数据库洏言并不需要其他选项,如果选中它们创建时间将大大延长。有些选项灰显因为它们尚未安装到Oracle Home中。单机Standard Database Components按钮同时取消选中这些項。不要理会“此XML DB已被其他组件使用”的警告单击Next按钮。

(15)Initialization Parameters对话框有4个选项卡保留所有默认值,并查看这4个选项卡Memory选项卡显示将汾配给此实例的内存(基于检测到的主内存百分比)。Sizing选项卡显示数据块大小默认为8KB,在创建数据库后绝不能更改此设置。Charactor Sets选项卡显礻在数据库中使用的字符集将使用默认值(具体取决于操作系统)。如果在后期更改这些设置那么将十分困难。Connection Mode选项卡确定如何管理鼡户会话单击Next按钮。

(16)Database Storage对话框通过左侧的导航树显示将要创建的文件。在此树中导航查看文件的名称和大小。这些根本无法满足苼产系统的要求但在此处,是可以接受的单击Next按钮。

(19)DBCA将生成创建脚本(只需几分钟的时间)单击OK按钮,DBCA将创建数据库注意DBCA日誌的位置:ORACLE_BASE/cfgtoollogs/dbca/ocp11g,如果出现任何故障就有必要查看日志。创建过程通常用时15~40分钟(具体取决于计算机)

答案:C。SQL Developer不使用OUI来安装它作为ZIP文件提供(只需解压缩)。

10.哪些工具可用于创建数据库(选择三个正确答案)

答案:ACD。DBCA可用于创建数据库也可在安装Oracle Home后,从SQL*Plus创建数据库或指示OUI创建数据库。B是错误的因为DBUA只能升级到现有数据库。E是错误的原因在于:只有创建数据库之后,才能使用Database Control

11.Oracle提供了备份整个環境(不仅是Oracle Database)的功能。哪个工具可以做到这一点(选择一个正确答案)

C.用户管理的备份(由操作系统命令执行)

答案:BOracle Secure Backup是企业级备份功能。A和C是错误的因为它们仅限于备份数据库文件。

12.哪条语句以最佳方式描述Oracle Base和Oracle Home之间的关系(选择一个正确答案)

答案:BOracle Base目录中包含所有Oracle Home(可以使任何产品的任何版本),C是错误的因为每个产品并不需要独立的Oracle Base。D也是错误的因为它将oraInst.loc文件和OUI与OFA混为一谈。

13.OFA描述什么(选择一个正确答案)

D.OFA描述上述所有内容

14.运行OUI前必须在Linux中设置哪个环境变量(选择一个正确答案)

答案:D。如果不设置DISPLAYOUI将无法打开任何窗口。ABC是错误的因为虽然可以在启动OUI前设置它们,但OUI将提示用户为它们输入值

15.如果OUI检测到先决条件尚未满足,您可以做什么(选择一個正确答案)

A.必须取消安装修正问题,并再次启动OUI

B.无提示安装将失败交互式安装将继续

C.指示OUI继续(需自我承担风险)

D.选项取决于检测箌问题时,OUI的安装进度

答案:C这种做法不值得提倡,但确实可以这么做A是错误的,因为这种做法的主观愿望是好的但并非一定要这麼做。B是错误的因为交互式安装将暂停。D是错误的因为所有先决条件都同时检查。

16.OUI可以将Oracle Home安装到什么类型的设备上(选择所有正确答案)

答案:ABOracle Home必须存在于文件系统中,但可以存在于本地文件系统和群集文件系统中C和D是错误的,原始设备和ASM设备可以用于存储数据库但不能用于存储Oracle Home。

17.当先决条件测试失败时可以使用哪个命令行开关使OUI继续进行(选择一个正确答案)

答案:D。-ignoresysprereqs开关将阻止OUI运行测试A昰错误的,因为这将阻止生成窗口并不能阻止运行测试。B是错误的因为此开关用于生成响应文件。C是错误的因为这是用于读取响应攵件的开关。

18.何时创建OUI清单(选择一个正确答案)

D.首次运行OUI期间

答案:D如果OUI找不到产品清单,它将创建一个产品清单A和B是错误的,因為产品清单可以存储所有Oracle Home和Oracle Base目录的详细信息C是错误的,因为无法在运行OUI前创建产品清单

19.要创建数据库实例必须处于什么模式(选择一個正确答案)

答案:B。CREATE DATABASE命令只能在NOMOUNT模式中发送A是错误的,如果不启动实例则只能使用STARTUP命令。C和D是错误的原因如下:如果没有控制文件,就不可能加载数据库如果没有重做日志和SYSTEM表空间,将无法将其打开

20.SYSAUX表空间是必须的。如果您试图发送一个CREATE DATABASE命令而此命令没有指萣SYSAUX表空间的数据文件,将发生什么情况(选择一个正确答案

B.命令将成功但在创建SYSAUX表空间前,数据库不可操作

C.将创建默认的SYSAUX表空间和数據文件

答案:C所有对象都有默认设置,其中包括SYSAUX表空间和数据文件定义A是错误的,因为此命令将成功执行B和D是错误的,因为默认的笁作方式并非如此

21.是否有必要在创建数据库前创建数据库侦听器(选择一个正确答案)

C.具体取决于是使用DBCA还是使用SQL*Plus创建数据库

答案:D。呮有在使用DBCA且选中Database Control时,才需要侦听器如果DBCA检测不到侦听器,则将停下来

答案:ACFG。默认方式下即使未予指定,也会创建所有这些文件B和D是错误的,因为这些文件在启动实例前就应该是存在的E是错误的,因为只有创建数据库后才能根据需要将静态参数文件转换为動态参数文件。

23.如果在创建数据库后没有运行CATALOG.SQL和CATPROC.SQL脚本将发生什么情况(选择一个正确答案)

B.无法创建任何用户表

D.无法查询数据字典视图

E.除SYS和SYSTEM外,无法以其他用户的身份进行连接

答案:D数据库可以生效,但如果没有使用由这些脚本创建的数据字典视图和PL/SQL包将无法使用数據字典视图。A是错误的因为数据库将会打开,实际上要运行脚本必须将其打开。B是错误的因为理所当然会创建表和其他对象。C是错誤的因为PL/SQL是可以使用的。缺少的是提供的包E与这些脚本没有丝毫关系。

24.可以使用什么工具来管理模板(选择一个正确答案)

答案:A呮能使用DBCA工具来管理模板。

25.什么时候可以选择或更改数据库字符集(选择两个正确答案)

A.如果没有使用任何模板发生在创建数据库时

B.如果使用不包含数据文件的模板,发生在创建数据库时

C.无论用不用模板都在创建数据库时发生

D.创建数据库后(使用DBCA)

26.假设一个用户拥有表涳间的表,如果尝试将其表空间上的配额减少为0会产生什么结果(选择一个最佳答案)

A.表继续存在,但insert将失败

B.表继续存在但不能变大

C.除非首先删除表,否则此尝试将失败

D.如果使用CASCADE关键字则将自动删除表

答案:B。无法为表分配更多的空间A是错误的,只要已分配的区间Φ仍有空间插入操作可以成功。C是错误的并不需要删除表。D是错误的因为CASCADE无法用于quota命令。

27.如果在不指定临时表空间的情况下创建用戶会为用户分配哪个临时表空间(选择一个最佳答案)

A.必须制定临时表空间

D.数据库默认临时表空间

E.用户不再拥有临时表空间

答案:D。始終都有一个数据库范围的默认临时表空间其默认是SYSTEM。在很多情况下已将其设置成TEMP。A是错误的因为存在默认设置。B是错误的因为默認设置不一定是SYSTEM(虽然默认设置即如此)。C是错误的尽管TEMP是常用的默认设置,但也并非总是如此E是错误的,因为所有用户账户必须拥囿临时表空间

28.使用LIMIT SESSION_PER_USER 1 创建了配置文件,并将其授予用户但发现用户仍能并发的多次登录,为什么会出现这种情况(选择一个最佳答案)

B.巳为用户授予了DBA角色

答案:CRESOURCE_LIMIT参数的默认值是FALSE,如果不设置此参数就无法实施资源限制。A是错误的因为此权限控制用户是否可以连接箌账户,并不控制次数B是错误的,因为配置文件限制用于所有角色的用户D是错误的,因为此参数控制哪个Resource Manager计划处于活动状态这与实施资源限制无关。

29.口令配置文件可以控制哪些事项(选择两个最佳答案)

A.选择同一口令的两个或多个用户

B.阻止同一用户重用口令

D.启用或禁鼡口令文件身份验证

答案:BC这些都是口令限制。A是错误的因为这无法阻止。D是错误的因为配置文件只用于口令身份验证,而口令身份验证则分开管理

30.以用户SYSTEM的身份执行下面的命令将以失败告终,为什么(选择一个最佳答案)

A.只有SYS用户才能更改参数

B.只有在NOMOUNT或MOUNT模式中调整参数只有数据库处于OPEN模式时,SYSTEM才能连接

C.“责任分离”原则意味着,只有系统管理员(而非数据库管理员)可以更改此参数

答案:D無论以哪个用户的身份进行连接,此参数都是静态的在更改时需要SCOPE=SPFILE子句。A是错误的因为SYSTEM可以调整参数(获得了ALTER SYSTEM权限的任何用户都可以這么做),B是错误的如果SCOPE是SPFILE,则可以在任何模式下更改参数C是错误的,因为系统管理员无法更改参数只有数据库管理员可以这么做。

31.如果希望在使用SELECT语句访问特定数据时运行一个PL/SQL代码块那么应当使用哪一种审核方法(选择一个最佳答案)

答案:B。细粒度策略指定在違反审核条件时运行的PL/SQL函数A是错误的,因为数据库审核只能记录事件C是错误的,因为只能为DML语句定义数据库触发器不能为SELECT语句定义。D是错误的因为FGA可以做到这一点。

32.使用SYSDBA权限进行连接的用户需要执行哪些审核操作(选择一个最佳答案)

B.使用数据库审核来审核SYSDBA权限的使用

D.这不可能发生具有SYSDBA权限的任何用户始终会跳过审核机制。

答案:A只需设置此参数,但在Unix和Linux系统中可能也要调整AUDIT_FILE_DEST。B是错误的此權限的使用无法审核,因为它可以在打开数据库之前应用C是错误的,因为获取SYSDBA的方法与是否审核无关D是错误的,因为SYS无法跳过审核技術

33.如果在没有指定模式的情况下创建表,它会在哪种模式中(选择一个最佳答案)

A.它会是孤表没有模式

D.会在用户创建它的模式中

答案:D。模式会默认为当前用户A是错误的,因为所有表都必须在模式中B是错误的,因为该创建会成功C是错误的,因为SYS模式不是默认模式E是错误的,因为虽有有概念用户PUBLIC但它根本没有模式。

34.几个对象类型共享相同的名称空间因此在相同的模式中不能有相同的名称。下媔哪些对象类型不在于其他对象类型相同的名称空间中(选择一个最佳答案)

答案:A索引有自己的名称空间。B、C、D、E是错误的存储过程、同义词、表和视图都在相同的名称空间里。

35.什么是堆表的显著特性(选择两个正确答案)

A.堆表可以保存可变长度的行

B.多个表可以在单個堆中保存行

C.堆中的行是随机排列的

答案:AC堆是可变长度行的表,这些行按随机顺序排列B是错误的,因为堆表只能是一个表D和E是错誤的,因为堆表可以(通常会)有索引和主键

36.当使用下面的语句创建表时:

对新表有约束吗(选择一个最佳答案)

A.新表没有约束,因为使用子查询创建表时没有复制约束

C.会复制主键和唯一约束但不会复制检查约束和非空约束

D.会复制检查约束和非空约束,但不会复制主键囷唯一约束

E.会复制所有约束外键约束除外

答案:D。检查和非空约束不依赖任何结构(除了它们应用的表外)因此可以安全的复制到新表。A是错误的因为非空约束和检查约束会应用于新表。B、C、E是错误的因为这些约束需要其他对象(索引或者父表),因此没有复制它們

37.某个事务由两条语句组成。第一条语句被成功执行但是第二条语句(更新若干行)由于违反约束而失败。此时会出现什么情况(选擇一个最佳答案)

B.第二条语句的执行结果会被完全回滚第一条语句的执行结果则会被提交

C.第二条语句的执行结果会被完全回滚,第一条語句的执行结果不会被提交

D.只有违反约束的更新操作被回滚其他执行结果都会被提交

E.只有违反约束的更新操作被回滚,其他执行结果不會被提交

答案:C违反约束时将只强制当前语句回滚。A是错误的因为已经成功的所有语句将保持不变。B和D是错误的因为除非作特别要求,否则不会提交任何信息E是错误的,因为整个语句将回滚而不只是失败的行。

38.下面的哪些选项可以用于B*树索引而不能用于位图索引(选择所有正确答案)

C.基于函数的键表达式

答案:ADE。压缩、反向键和唯一性只用于B*树索引BCF是错误的,降序、基于函数和复合索引可以鼡于B*树索引或位图索引

39.临时表中数据的可见性受到限制。如果一个用户以HR的身份登录并将行插入到临时表中,这些行对谁可见(选择┅个最佳答案)

A.只有执行插入操作的会话可以访问

B.所有以HR身份登录的会话

C.在执行插入操作的会话终止前所有会话都可以访问

D.在执行插入操作的会话提交事务前,所有会话都可以访问

答案:A只有插入会话才能访问临时表中的行。BCD是错误的它们都未正确描述临时表中的行嘚可见范围。

40.下面哪些选项定义了复杂视图而不是简单视图的特征(选择所有正确答案)

A.通过仅选择表的部分列来限制投影

B.用列的别名命洺视图的列

C.用WHERE子句限制行的选择

答案:DE聚合和联接使视图复杂,且不能使用DMLABC是错误的,选择、投影和重命名列不会使视图复杂

41.公有同義词区别于私有同义词的特征是什么(选择两个正确答案)

A.公有同义词总是对所有用户可见

B.公有同义词可以根据名称访问不需要模式名稱限定符

C.可以从公有同义词中进行选择,不需要任何权限

D.公有同义词可以有与表或视图相同的名称

42.考察下面三条语句:

下面哪条语句是正確的(选择一个最佳答案)

A.第二个语句会失败因为对象s1已经存在

D.第三个语句会显示表s1的内容(如果此当前模式中存在这样一个表的话)

答案:B。优先级的顺序是在公有名称空间之前搜索模式名称空间因此找到的将是(EMPLOYEES)私有同义词。A是错误的因为在公有名称空间和模式名称空间中都可以存在同义词。C是错误的因为优先级顺序会先发现私有同义词。D是错误的因为同一个模式中不可能有同名的表和私囿同义词。

43.什么是分区表简述范围分区和列表分区的区别,分区表的主要优势有哪些

答案:使用分区方式建立的表叫分区表。

范围分區:每个分区都有一个分区键值范围指定(对于一个以日期列作为分区键的表“2015年1月”分区包含分区键值为从2015年1月1日到2015年1月31日的行);

列表分区:每个分区都有一个分区键值列表指定(对于一个以地区列作为分区键的表,“北美”分区可能包含“加拿大”、“美国”、“墨覀哥”)

分区功能通过改善可管理性、可用性和性能,从而为各式应用程序带来了极大的好处通常,分区可以使某些查询以及维护的操作性大大提高此外,分区还可以极大简化常见的管理任务通过分区,数据库设计人员和管理人员能够解决前沿应用程序带来的一些難题分区是构建千兆字节数据系统或超高可用性系统的关键工具。

我要回帖

 

随机推荐