Oracle — 性能优化与管理
📋 本文节选自《Oracle 面试题》,返回 查看全部章节
85.解释 Oracle 表单服务组件包括什么?
Oracle表单包含:
客户端:客户端发送HTTP请求
窗口监听器Servlet:它启动,停止并与窗体运行进程通信
表单运行过程:它执行特定表单应用程序中包含的代码
数据库:从数据库中获取的数据
86.提及 11g 版本 2 中 Oracle Forms Services 中引入的新功能是什么?
在Oracle Form's Services中,包括的功能包括:与 Oracle Access Manager 集成 计划表格运行预备 增强的网络统计报告 支持Unicode列 guiMode配置参数 表单指标代理 支持图像项目和图标按钮中的URL Oracle 真正的用户体验洞察
87.解释CALL_FORM,NEW_FORM和OPEN_FORM之间有什么区别?
CALL FORM:它启动一个新窗体并传递控件 New FORM:它终止当前窗体并用指定的新窗体替换它
OPEN FORM:打开指定的新表单,而不更换或暂停父表单。
88.列出0 racle Forms配置文件?
Oracle Forms配置文件包括: 基本HTML文件(base.htm,basejini..htm,basejpi.htm baseie.htm) ENV CFG DEVLOBER
89.在Oracle Forms Report中,Record组列的最大长度是多少?什么是不同类型的记录组?
记录组列名的最大长度不能超过30个字符。
不同类型的记录组包括:
查询记录组
状态记录组
非查询记录组
90.提示窗体中触发的顺序是什么?
表单打开时,触发序列 预成型 预块 预录 前文项 实例 当新形式的实例 当新块实例 当新记录实例 当新项目实例
91.提到一个项目的“验证LOV”属性?提到lov和list项目有什么区别?
当验证的LOV设置为True时,Oracle Forms将文本项的当前值与LOV中显示的第一列中的值进行比较。LOV是列表项的属性。列表项只能有一列,而lov可以有一个或多个列
92.说明如何使用相同的LOV2列?
我们可以通过在全局值中传递返回值并使用代码中的全局值,将相同的LOV用于2列。\
93.什么是绑定变量?
报表 6i 中使用了绑定变量来替换 select 语句中的单个参数。
94.说明如何在指定的块中迭代项目和记录?
要遍历指定块中的项目和记录可以使用NEXT_FIELD来迭代特定块中的项,并且NEXT RECORD遍历块中的记录。
95.说明你可以将FMX转换或反向回到FMB文件吗?
不,不可能将FMX转换或反向回到FMB文件,以确保它们不会丢失。
96.可以从表单执行动态SQL吗?
是的,可以通过使用内置的FORMS_DDL或通过从表单调用DBNS_SQL数据库包从表单执行动态SQL。
97.pctused and pctfree表示什么含义有什么作用?
pctused与pctfree控制数据块是否出现在freelist中,pctfree控制数据块中保留用于update的空间,当数据块中的free space小于pctfree设置的空间时,该数据块从freelist中去掉当块由于dml操作free space大于pct used设置的空间时,该数据库块将被添加在freelist链表中。
98.简单描述table/sment/extent/blok之间的关系?
table创建时,默认创建了一个data segment,每个datasegment含有minextents指定的extents数,每个extent据据表空间的存储参数分配一定数量的blocks
99.描述tablespace和datafile之间的关系
一个tablespace可以有个或多个datafile,每个datafile只能在一个tablespace内,table中的数据,通过hash算法分布在tablespace中的各个datafile中,tablespace是逻辑上的概念,datafile则在物理上储存了数据库的种种对象。
100.本地管理表空间和字典管理表空间的特点,ASSM有什么特点?
本地管理表空间(LocallyManaged Tablespace简称LMT),8i以后出现的一种新的表空间的管理模式,通过位图来管理表空间的空间使用。字典管理表空间(Dictionary-ManagedTablespace简称DMT)8i以前包括以后都还可以使用的一种表空间管理模式,通过数据字典管理表空间的空间使用。动段空间管理(ASSM),它首次出现在Oracle920里有了ASSM,链接列表freelist被位图所取代,它是一个二进制的数组,能够迅速有效地管理存储扩展和剩余区块(free block),因此能够改善分段存储本质,ASSM表空间上创建的段还有另外一个称呼叫Bitmap ManagedSegments(BMB 段)
101.回滚段的作用是什么
事务回滚: 当事务修改表中数据的时候,该数据修改前的值(即前影像)会存放在回滚段中,当用户回滚事务(ROLLBACK)时,ORACLE将会利用回滚段中的数据前影像来将修改的数据恢复到原来的值。
事务恢复: 当事务正在处理的时候,例程失败,回滚段的信息保存在undo表空间中,ORACLE将在下次打开数据库时利用回滚来恢复未提交的数据。
- 读一致性: 当一个会话正在修改数据时,其他的会话将看不到该会话未提交的修改。
- 一当一个语句正在执行时◇该语句将看不到从该语句开始执行后的未提交的修改(语句级读一致性)。
- 当ORACLE执行Select语句时,ORACLE依照当前的系统改变号(SYSTECHANGE NUMBER-SCN)。
- 来保证任何前于当前SCN的未提交的改变不被该语句处理。可以想象:当一个长时间的查询正在执行时。
- 若其他会话改变了该查询要查询的某个数据块,ORACLE将利用回滚段的数据前影像来构造一个读一致性视图。
102.日志的作用是什么
记录数据库事务,最大限度地保证数据的一致性与安全性
重做日志文件:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复,一个数据库至少需要两个重做日志文件
归档日志文件:是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。
103.SGA主要有那些部分,主要作用是什么?
SGA:db_cache/shared_pool/large_pool/java_pooldb_cache: 数据库缓存(BlockBuffer)对于Oracle数据库的运转和性能起着非常关键的作用,它占据Oracle数据库SGA(系统共享内存区)的主要部分。Oracle数据库通过使用LRU算法,将最近访问的数据块存放到缓存中,从而优化对磁盘数据的访问。
shared pool:
共享池的大小对于Oracle性能来说都是很重要的。 共享池中保存数据字典高速缓冲和完全解析或编译的的PL/SQL块和SQL语句及控制结构。
large_pool:
使用MTS配置时,因为要在SGA中分配UGA来保持用户的会话,就是用Large_poor来保持这个会话内存使用RMAN做备份的时候,要使用Large_pool这个内存结构来做磁盘/O缓存器。
java pool:
为javaprocedure预备的内存区域,如果没有使用java_proc,,java_pool不是必须的。
104. oracle系统进程主要有哪些,作用是什么
数据写进程(dbwr):负责将更改的数据从数据库缓冲区高速缓存写入数据文件。
日志写进程(lgwr):将重做日志缓冲区中的更改写入在线重做日志文件。
- 系统监控(smon):检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复。
- 进程监控(pmon):负责在一个 Oracle 进程失败时清理资源。
- 检查点进程(chpt):负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。
- 归档进程(arcn):在每次日志切换时把已满的日志组进行备份或归档。
- 作业调度器(cjq):负责将调度与执行系统中已定义好的job,完成一些预定义的工作。
- 恢复进程(reco):保证分布式事务的一致性,在分布式事务中,要么同时commit,要么同时rollback。
为了帮助更多的粉丝朋友,找到个好工作,多拿几个offer。苏三最近建一些工作内推群,群里目前已经收集了很多内推岗位,大厂、中厂、小厂、外包都有。欢迎HR、开发、测试、运维和产品加入。

扫描下方微信,备注:网站+所在城市,即可拉你进工作内推群。
