OCP考试042、043中文问题解答.doc_第1页
OCP考试042、043中文问题解答.doc_第2页
OCP考试042、043中文问题解答.doc_第3页
OCP考试042、043中文问题解答.doc_第4页
OCP考试042、043中文问题解答.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SCHEDULEROracle 10G的新特性 scheduler ,在10G中,oracle建议使用Scheduler替换普通的job,来管理任务的执行。2、由于硬件损坏,数据库意外掉电,这就意味着shutdown abort,当重新启动后SMON进程会自动回复实例,uncommited的数据会自动rollback同时, commited的数据而又未写到datafile中的会被写进datafile中。3、在课堂练习11的449页有介绍 。在em中使用backup?scheduler采用的是RMAN脚本。4、数据泵导出命令, create directory my_dir as d:5、什么是iSQL*Plus(一种登陆工具)不懂6、logging clause这个子句声明这个表空间上所有的用户对象的日志属性(缺省是logging),包括表,索引,分区,物化视图,物化视图上的索引,分区。 FORCE LOGGING使用这个子句指出表空间进入强制日志模式。此时,系统将记录表空间上对象的所有改变,除了临时段的改变。这个参数高于对象的nologging选项。注意:设置这个参数数据库不行open并且出于读写模式。而且,在临时表空间和回滚表空间中不能使用这个选项。With the given CREATE TABLESPACE statement, the tablespace created can be changed to theLOGGING mode, and using the NOLOGGING clause in the statement will save space in the redo log files.The tablespace created using the NOLOGGING clause can be changed to the NOLOGGING mode by using theALTER TABLESPACE statement with the NOLOGGING clause. When a tablespace is created by using the NOLOGGING clause,the operations in the tablespace will not generate any redo data. As a result, space will be saved in the redo log files.The objects created using the NOLOGGING clause cannot be recovered because no redo is generated for these objects.Therefore, the NOLOGGING clause should be used with objects that can be easily re-created without the redo data.The NOLOGGING clause is not valid for a temporary or undo tablespace.D选项是说在表空间级别的logging选项没有再表、视图等等高7、当定义主键约束时,默认情况下oracle会自动基于唯一约束建立唯一索引,并且索引名与约束名完全一致,一张表只能有一个主键约束。 一个主键约束可以由多个列组成。8、在这里的OS认证和口令文件认证都是针对特权用户来说的 a、其中文件SQLNET.ORA是来选定是否支持OS认证和口令文件认证的,修改为all就是都支持修改为none只支持口令文件认证。 b、文件remote_login_passwordfile是用来管特权用户是否可以远程登录。 c、orapwora10g该文件应该是远程特权用户登陆时需要使用的密码文件。9、oracle的逻辑结构tablespace-segment-extent-oracle block10、PGA-独立服务进程启动时,里面包括这个进程的数据和控制信息在ORACLE9I中,只需要调整 PGA_AGGREGATE_TARGET。11、使用RMAN备份数据库时,由于在共享服务器模式下,共享池已经不够用了,所以使用大池以供RAMN和共享服务使用。12、AUDIT?DROP?ANY?TABLE?BY?scott?BY?SESSION?WHENEVER?SUCCESSFUL?如果用户scott成功的drop掉一个或多个表在他的会话中,一条审计信息将被在所有会话中创建。13、FGA精细审计,精确到行列的审计就要使用精细审计。14、FGA的审计信息,存放在FGA_LOG$中 FGA?enables?a?SQL?predicate?to?define?when?to?audit?an?event. ?FGA?includes?the?SQL?statement?used?by?the?user?as?part?of?the?audit?event?entry.?15、什么是注册? 注册就是将数据库作为一个服务注册到监听程序。 客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请连接到数据库。这个服务名可能与实例名一样,也有可能不一样。 静态注册: 静态注册就是实例启动时读取listener.ora文件的配置,将实例和服务注册到监听程序。无论何时启动一个数据库,默认地都有两条信息注册到监听器中:数据库服务器对应的实例和服务。 静态注册时,listener.ora中的GLOBAL_DBNAME向外提供服务名,listener.ora中的SID_NAME提供注册的实例名。 动态注册 动态注册是在instance启动的时候PMON进程根据init.ora中的instance_name,service_names两个参数将实例和服务动态注册到listener中。16、当创建一个监听时需要提供协议、端口、服务名17、初始化参数REMOTE_OS_AUTHENT用来控制是否允许远端操作系统验证,默认情况下,数据库只运行本地服务器上的操作系统验证。18、tnsnames.ora在Oracle中,OracleNetworkADMINtnsnames.ora 文件很重要,它作用是: 本地命名的配置。 本地名可以用简单的名称就可以访问到所需的数据库或服务器所需的信息。19、当SERVICE_NAME填写不正确时,你可以tnsping通数据库实例,但是却无法连接到数据库实例,因为你填写错的SERVICE_NAME并没有注册到LISTENER当中20、已连接的会话,当停止监听时不会中断21、首先需要把参数LOCAL_LISTENER改为dynamically,因为动态注册PMON进程从参数文件自动注册到listener.ora中。这是我们修要在tnsname.ora中添加相关的动态注册信息。22、查不到相关资料23、OLTP行数据库,有大量的用户会话需要连接,这个时候使用共享服务。OLAP 数据仓库24、statistics_level 参数是oracle9.2开始引入的一个控制系统统计参数收集的一个开关.一共有三个值:basic,typical,all.支持alter session,alter system 动态修改.如果要用statspack或者AWR收集系统性能统计数据.那么这个参数的值必须为typical或all.通常all是一个全面收集,包括 OS以及sql执行路径方面的一些统计信息,除非遇见非常严重的性能问题或在一些特殊的性能挣断方面才会用到statistics_level=all, 平常statistics_level=typeical已经足够诊断99%的性能问题了.example: seting statistics_levelalter system set statistics_level=basic;alter system set statistics_level=typical;alter system set statistics_level=all;oralter session set statistics_level=basic;alter session set statistics_level=typical;alter session set statistics_level=all;statistics_level=basic的情况下,oracle关闭了所有性能数据的收集,也就是如果要关闭AWR或statspack收集,只要设置alter system set statistics_level=basic;就行了;statistics_level=typical的时候,除了plan_executetion_statistics和OS Statistics不能收集外,其他的都可以收集,如要要收集这个两项,必须设置statistics_level=all;如果当statistics_level=ALL,系统收集所有的统计信息.25、AWR 快照集快照集是一种机制,使用这种机制可标记重要时段的快照数据集。快照集是根据一对快照定义的,这对快照用快照序列号 (snap_id) 来标识。每个快照集对应于一对且唯一一对快照。快照集可用用户提供的名称标识,也可用系统生成的标识符标识。通过执行DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE 过程并指定一个名称和一对快照标识符,便可创建一个快照集。会为新建的快照集指定一个快照集标识符。在数据库生命周期内,快照集标识符是唯一的。快照集用于保留快照数据。因此,属于某个快照集的快照会一直保留,直到删除该快照集。通常,会为过去某些有代表性的时段创建快照集,用于与当前系统行为进行比较。另外,可在 Database Control 中通过使用快照集来设置基于阈值的预警。可直接从 DBA_HIST_SNAPSHOT 或 Enterprise Manager Database Control 获取 snap_id。26、统计信息是一些数据的集合,用于提供关于数据库及数据库对象的详细信息。查询优化程序使用优化程序统计信息为每个 SQL 语句选择最佳执行计划。27、当改变STATISTICS_LEVEL参数时,任务将从下一个生效28、Automatic Database Diagnostic Monitor (ADDM) ADDM 在创建每个AWR 快照之后自动运行。每次创建快照后,ADDM 都会分析与最后两个快照对应的时段。多数情况下,ADDM 会为检测到的问题提供建议解决方案,甚至可以量化这些建议案的优势。ADDM分析的结果存放在AWR中。29、Editors notes:Current Logons Count is system metric values of oracle. You can see this value by querying v$sysmetric.SELECT * from v$sysmetric t WHERE t.METRIC_NAME=Current Logons Count;当你想你的数据库自动告警在数据库会话超过100个会话的时候。30、 DBA_OUTSTANDING_ALERTS :描述了oracle数据库认为是突出的警告。当向 Flash Recovery中添加或删除文件等变化都将记录在数据库的 alert 日志中,Oracle 10g 也针对该新特性提供了一个新的视图 ,通过该视图可以得到相关的信息。 dba_alert_history:代表了不在突出的有时间限制的历史告警 threshold_alert :是超过备份阈值时引发的警报 ORACLE的一些内部组件可以周期性进行监控的动作,对发现的问题产生相应的alert信息。alert信息的产生是基于一些threshold值或者特定事件。基于threshold的alert信息会自DBA_OUTSTANDING_ALERTS视图中找到,当被clear的时候,这些状态的警告会进入DBA_ALERT_HISTORY32、在EM上的表空间空间不够用的告警信息会在你扩大表空间后,自动被清除,同时移动到alter log file33、确定重复的 SQL -通过单击“Performance(性能)”标签页上的“Duplicate SQL(重复的 SQL)”可确定重复的 SQL。已确定为重复的 SQL(不考虑格式或文字的差异)会列在一起。这有助于确定可合并应用程序中的哪一个 SQL,如此可降低对库高速缓存的要求,提高执行语句的速度。34、当你发现sql执行慢等sql问题时,你使用top sql发现耗费时间的sql语句。这是你需要使用SQL Tuning Advisor推荐数据收集和重建sql语句。可以使用 SQL 优化指导分析 SQL 语句,并获得性能建议案。通常,会将此指导作为ADDM 性能判断工具来运行。35、索引问题导致表的查询变慢36、如果选中“Limited(有限制)”选项,SQL 优化指导会根据统计信息检查、访问路径分析和 SQL 结构分析来生成建议案。使用“Limited(限制)”选项不会生成SQL 概要文件建议(SQL Profile recommendations)。SQL 概要文件:ATO 会验证它自身的估计值并收集辅助信息以消除估计错误。它使用辅助信息构建 SQL 概要文件并提出创建SQL 概要文件的建议。创建 SQL 概要文件后,查询优化程序可使用这个文件生成合理优化的计划。37、SQL 优化指导(SQL Tuning Advisor)-可以使用 SQL 优化指导分析 SQL 语句,并获得性能建议案。通常,会将此指导作为ADDM 性能判断工具来运行。 SQL 访问指导(SQL Access Advisor)-可以使用 SQL 访问指导来优化方案并提高查询性能。这个指导要求用户确定SQL 工作量, 即访问方案的一组 SQL 语句。可以选择不同来源的工作量,包括当前最近的 SQL 活动、SQL 资料档案库或用户定义的工作量,如开发环境的工作量。38、SGA_TARGET=256MB代表sga里边初始化大小,当确定了SHARED_POOL_SIZE=32MB后,共享池的大小不能小于32M。39、SGA_TARGET最大能增加到SGA_MAX_SIZE规定的大小,当增大SGA_TARGET的大小,同时会自动增加其他组件的大小。40、当在一个transaction中时,会话不正常结束,这时PMON会自动将没有提交的数据rollback,commited的脏数据放到datafile中41、如果将 FAST_START_MTTR_TARGET 参数显式设置为 0,则会禁用自动检查点优化。另外,如果将 FAST_START_MTTR_TARGET 参数显式设置为大于 0 的值,则会启用重做日志指导。42、fast_start_mttr_target此参数是在9i中引入用来代替前面的三个参数的,它定义了数据块崩溃后所需要的实例恢复的时间,Oracle在实际上内在的解释成两个参数:fast_start_io_target和log_checkpoint_interval.如果这两个参数没有显式的指定,计算值将生效.。fast_start_mttr_target可以设定的最大值是3600,即一个小时。它的最小值没有设限,但是并不是说可以设置一个任意小的值,这个值会受最小dirty buffer(最小为1000)的限制,同时还会受初始化时间以及文件打开时间的限制。在设置此参数的时候要综合考虑系统的IO,容量以及CPU等信息,要在系统性能和故障恢复时间之间做好平衡。将此参数设置成0时将禁用 fast-start checkpointing,这样能见效系统负载但同时会增加系统的恢复时间。如果fast_start_io_target or log_checkpoint_interval被指定,他们会自动覆盖由fast_start_mttr_target参数计算出来的值。如果将 FAST_START_MTTR_TARGET 参数显式设置为 0,则会禁用自动检查点优化。另外,如果将 FAST_START_MTTR_TARGET 参数显式设置为大于 0 的值,则会启用重做日志指导。43、如果数据库失败,数据库从哪个位置开始恢复 checkpoint position to end of redo log44、如果将 FAST_START_MTTR_TARGET 参数显式设置为 0,则会禁用自动检查点优化。另外,如果将 FAST_START_MTTR_TARGET 参数显式设置为大于 0 的值,则会启用重做日志指导(MTTR Advisor)。自动检查点优化(Automatic tuning of checkpoint would be disabled)45、多元化control_file的步骤 a、修改spfile中control_file的值 b、shutdown数据库 c、cp control_file命令至相应文件夹下 d、重启实例46、control_file失败,将导致数据库关闭47、当数据库设置为ARCHIVELOG模式后,可以在不必关闭数据库的情况下备份(热备份)48、归档信息可以再alter文件中查到,同时归档日志最多可以存放10个位置49、非归档模式下,只能在关闭数据库后归档。50、归档日志可以使用rman备份、只有使用过的数据块可以被 备份成备份集51、RMAN-备份不是连续的-可以在数据库打开的情况下备份-恢复时需要使用restore命令,如果meida failure那么首先要restore转储备份 然后再recover命令将数据文件恢复到失败点状态52、增量备份工作机制 当你设置星期天执行一次0及备份,工作日执行1级备份 A、差异备份Differential The backup performed on each working day contains all the blocks that have changed since the last level 0 or level 1 backup. B、累积增量备份Cumulative The backup performed on each working day contains all the blocks that have changed since the last level 0 backup.53、0级备份是全量备份54、rman可以在datafile 、tablespaces和整个数据库做增量备份55、在EM中使用Schedule Backup使用的是RAMN脚本56、The trace file has a SQL script. to re-create the control file.57、数据库工作在非归档模式下,当修改了数据文件或者增加或者删除了表空间后,需要重新备份数据库58、当使用该命令ALTER DATABASE BACKUP CONTROLFILE TO TRACE,后可以再USER_DUMP_DEST中找到该trace文件59、DB_RECOVERY_FILE_DEST_SIZE指定DB_RECOVERY_FILE_DEST可以使用的大小,必须要首先清空DB_RECOVERY_FILE_DEST才能清除DB_RECOVERY_FILE_DEST_SIZE Flash Recovery Area60、数据库使用spfile同时媒体失败导致控制文件丢失a、关闭数据库b、把控制文件拷贝到可以用的位置c、重启实例至nomount状态d、修改spifle值中的控制文件参数e、恢复数据库至失败时那个点61、运行于非归档模式。所有控制文件丢失。数据库关闭。只有最近的一次数据库全库备份。那么数据库只能恢复到最后一次备份,尽管数据文件并未丢失62、日志组中的成员损坏并不会影响数据库的正常使用,同时该成员将被标记为stale状态,错误信息会被写到alert日志里63、如果在归档模式下,日志组成员损坏导致无法正常归档,数据库会处于halted状态,这时可以清楚没有归档的损坏日志文件,使用命令ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 264、在归档模式下,只要归档文件存在,数据库可以恢复到任意时刻65、临时、索引、SYSAUX表空间可以在恢复时执行open recovery66、普通的表空间损坏不会导致数据库关闭(除了system表空间之外)67、在非归档模式下,是不是没有recovery这么一说呢 ?只有restore?(和书上不同,书上全是recover)68、dorp user和dorp table是可以使用flashback闪回的69、使用flashbak table可以基于时间闪回70、打开回收站功能,当你drop一个表后,该表会被改名同时还放在原来的表空间里71、Flashback Query可以帮助用户解决行级别的错误。是根据undo data来闪回的,undo retention=900s这要看有没有retention guarantee,如果有,15分钟内不会被覆盖。如果没有打开,那得看UNTO有没有可用空间,如果没有就会被覆盖72、在用impdp导入数据时,可以使用remap_schema参数将数据导入到不同于原来schema的schema中,其作用类似于老的imp工具中的fromuser和touser参数,impdp中将fromuser和touser参数合并成了remap_schema参数,通过如下的格式指定: impdp remap_schema=old_schema_name:new_schema_name 要注意: 1.该参数的使用方法REMAP_SCHEMA=source_schema:target_schema 2.即使你指定的对应SCHEMA不存在,只要导入时连接的用户有足够的权限,就会使用DUMP文件中的CREATE USER的metadata来创建一个对应的用户的。 一个模式由某个用户拥有得对象组成,最初为空。73、74、难道是dataguard?75、SQL*LOADER是ORACLE的数据加载工具,通常用来将操作系统文件迁移到ORACLE数据库中。SQL*LOADER是大型数据 仓库选择使用的加载方法,因为它提供了最快速的途径(DIRECT,PARALLEL)。76、把一个普通的文本格式的OS文件看作是Oracle数据库的外部表, Oracle可以象普通表一样进行select 操作,可以建视图,可以与其他进行连接等,但不能对其进行DML操作,即该表是只读的! (10g里可借此导出数据至平面dmp文件)。 External table和正规的表很相似,以下的几点需要注意: l 数据在数据库的外部组织,是操作系统文件。 l 操作系统文件在数据库中的标志是通过一个逻辑目录来映射的。 l 数据是只读的。(外部表相当于一个只读的虚表) l 不可以在上面运行任何DML操作,不可以创建索引。 l 可以查询操作和连接,可以并行操作。77、可以使用EM和ORACLE NET MANAGER是用户从远程连接到数据库实例78、终端用户应用需要转移数据到数据库的表中,可以使用SQL*LOADER和External table79、OFA是oracle数据库中的一个概念 Installation and configuration on all supported platforms complies with Optimal Flexible Architecture (OFA). OFA organizes database files by type and usage. Binary files, control files, xj files, and administrative files can be spread across multiple disks. 优化结构OFA。使用这种结构进行设计会大大简化物理设计中的数据管理。 优化自由结构OFA,简单地讲就是在数据库中可以高效自由地分布逻辑数据对象, 因此首先要对数据库中的逻辑对象根据他们的使用方式和物理结构对数据库的影响来进行分类,这种分类包括将系统数据和用户数据分开、一般数据和索引数据分开、低活动表和高活动表分开等等。80、orainstRoot.sh script-It creates the Inventory pointer?file.81、ORACLE_HOME$ORACLE_BASE/product/version ORACLE_BASE是oracle的根目录,ORACLE_HOME是oracle产品的目录。82、影响oracle数据库字符集最重要的参数是NLS_LANG参数: NLS_LANG = language_territory.charset AMERICAN_AMERICA. ZHS16GBK 它有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性,真正影响数据库字符集的其实是第三部分。83、你安装数据库时OUI不给响应,这时应该比较installActions.log和response file查看原因84、创建数据库的时候根据需要选择相应的模板85、在创建数据库的时候有个选项是来创建数据库备份的86、使用模板来创建复制数据库87、88、LOG_BUFFER是个静态参数,只能scope=spfile,修改完后重启数据库才能生效89、V$PARAMETER只是显示现在起作用的参数(currently in effect parameter values)90、数据库启动顺序,首先是nomount-读取参数文件,mount-根据参数文件打开控制文件,open=根据控制文件打开数据文件,打开数据库所以说在mount阶段是可以改变datafile和redo log file的名称的。91、在mount阶段,你可以修改数据文件的名字,同时也可以把数据改为归档或者非归档模式92、上同93、shutdown abort是和数据库直接断电一个性质,即不做强制检查点关闭文件,当你重新打开数据库的时候,SM后台进程会自动对数据库进行恢复。94、shutdown abort后-没有commited的数据不会rollback,Database buffers and redo buffers are not written to the disk.95、不小心删除alert文件没有关系,数据库会自己重建96、在alter中看到了死锁,没关系,oracle会自动处理97、当控制文件丢失时,你可以通过动态性能视图V$controlfile来查看丢失的控制文件98、当指定了该参数DB_CREATE_FILE_DEST=D:oracleproduct10.2.0oradataoracle后,当你再创建表空间时,数据文件会自动被创建到该文件下,同时数据文件的名字会由实例自动生成。 这就是Oracle Managed Files (OMF) DB_CREATE_FILE_DEST 定义数据文件和临时文件的默认文件系统目录的位置 DB_CREATE_ONLINE_LOG_DEST_n 定义重做日志文件和控制文件的创建位置 DB_RECOVERY_FILE_DEST 定义 RMAN 备份位置99、BIGFILE-BIGFILE有且只有一个数据问价 -BIGFILE的段空间是自动管理的100、数据库建立表空间时默认是locally managed101、extent是本地管理,位图将用来记录空闲和占用区域102、段空间是自动管理,就意味着段空间是有位图管理的 本地管理的表空间:在表空间中通过位图管理区。位图中的每一位对应一个块或 一组块。分配区或为重新利用空间而释放区后,Oracle 服务器通过更改位图值来 显示块的新状态。103、段空间管理:手动 Manual(手动):此方式指定使用空闲列表来管理段中的空闲空间。空闲列表是由 一些数据块组成的列表,插入行可使用这些数据块中的空间。由于这种管理段空间 的方式需要为在表空间中创建的方案对象指定并优化 PCTUSED、FREELISTS 和 FREELIST GROUPS 存储参数,因此这种方式称为“手动段空间管理”。支持此方 式是为了实现向后兼容;建议使用 ASSM。104、只要加了 PCTUSED就表明使用了段空间管理:手动105、系统、sysaux、undo、temp表空间是不能被设置为只读的106、不太懂神么意思107、SYSAUX表空间是可以被OFFLINE,但是system、undo和temp不行108、ASM可以基于文件做镜像,还可以在ASM盘之间提供自动负载均衡109、数据库用户正连接数据时,这时是不能删除该用户的110、什么权限都给了,唯独没有给用户在相应的表空间上给空间,当然建不成表111、role可以赋予给其它的role,同时role的权限可以包括系统权限和对象权限112、不明白啊113、ADMIN OPTION当有这个字段时,表明可以把该权限赋予另外一个人114、A、B、C三个用户,A用户把自己表的权限赋给了B、B又赋给了C,这时侯A用户是不能直接revoke C用户关于该表的权限。115、一个用户执行sql语句报错ORA-02393:exceeded call limit on CPU usage这时候可以在该用户的profile 里修给recourse limits116、同上117、关于临时表-可以在临时表上创建视图和索引,临时表经常建立在临时表空间上,在临时表上永远不容许有DML 锁118、你想把你EMPLOYEE上个人信息这个字段存贮在操作系统上,这时你需要把这个列指定为BFILE类型119、用普通用户建表时,如果不指定表空间会建立到默认表空间上。120、约束状态-约束一共有四种状态 a、enable validate-要求新旧数据必须同时满足约束规则-在规则正在进行中时是不容许在表上进行任何DML操作的 b、enable novalidate-已存在数据可以不满足,但是新数据必须满足 c、disable validate-不容许在表上进行任何DML操作,对主键和唯一约束来说,会删除相应的唯一索引,但约束规则仍然有效 d、disable novalidate-数据不满足约束规则,对主键和唯一约束来说,会删除相应的唯一索引121、主键和外键,当在外键上加了delete cascade这个字段,删除主键的同时,外键也会删除,但是为什么A是错的122、truncate-相应的index也会被truncate,执行truncate会产生非常少量的undo信息或者不产生,HWM(高水位标记)会恢复到第一个使用段,使用区、使用块,HWM这时应该是第二个块123、B+树建立在重复值很少的列上,使用位图索引建立在重复值很多,不同值相对固定的列上。124、位图索引-在关键列上,每一个不同值都有位图段, 更新关键列,会锁住位图段,包含主要要被更新的段125、每年用户一个表上的一个列,那么在这个列上的索引,行数据在索引leaf block的值会删除再被插入126、同上127、视图可以被创建为只读,视图本身是没有数据的,视图可以基于多表建立,在视图上可以执行DML语句128、HR用户根据scott用户的emp表建立了一个视图,他想把该视图的select权限赋予JIM用户,他需要有emp表的with GRANT OPTION才能这么做129、外键,因为添加了delete cascade索引删除主键的同时会自动删除对应外键130、MERGE-使用 MERGE命令可在一个命令中执行 UPDATE和 INSERT。可将一个源中的数据合并到 另一个源,因而可选择插入新行和更新特定列(如果行已经存在)。 A表往B表里插入数据,如果存在该数据那么就update,如果不存在那么就insert131、约束 关于主键和外键,有两种方法应对删除外键时遇到的错误。一是在外键出加delete cascade 二是先删外键表中数据,再删主键表中数据132、a、程序包:程序包是由逻辑上相关的一些过程和函数组成的集合。程序包的这一部分 又称为说明,用于描述应用程序的接口;它声明了可供使用的类型、变量、常量、 异常错误、游标和子程序 b、程序包体:程序包体完整地定义了游标和子程序,因此实施了说明。程序包体包含 实施明细和专用声明,这些内容不显示给调用方。 c、类型主体:类型主体是由与用户定义的数据类型相关联的一些方法(过程和函数) 组成的集合。 d、过程:过程是用于执行特定操作的PL/SQL 块。 e、函数:函数是使用RETURN PL/SQL 命令返回单个值的 PL/SQL 块。它是具有返回值 的过程。 f、触发器:触发器是当数据库中发生特定事件时执行的 PL/SQL 块。这些事件可以基于 表,如在表中插入行时。也可以是数据库事件,如在用户登录数据库时。 程序包是函数与过程的组合。将一些函数和过程组成一个程序包,性能和可维护性会有所提高。133、程序包是由函数和过程组成的集合。每个程序包应由两个 对象组成:程序包说明:这个对象(有时称为程序包头)的对象类型为 PACKAGE,其中只包含程序包中的过程、函数和变量的定义。程序包体:这个对象的对象类型为PACKAGE BODY,包含程序包说明中定义的子程序的实际代码。 只有在编译了程序包说明之后才能编译程序包体。可以在没有程序包体的情况下创 建程序包说明,但不能在没有程序包说明的情况下创建程序包体。 与程序包说明是分开的。因此,可以更改并重新编译程序包体代码,此时不会将与 程序包说明相关的其它对象标记为无效。134、触发器触发器是存储在数据库中的 PL/SQL 代码对象,它们会在某些事件发生时自动运行或“触发”。触发器可以调用其它过程或函数。触发器的代码最好简短一些,需要较长代码的内容尽量放置到单独的程序包中。135、Oracle从9i开始引入这个功能,当出现空间不足等相关的错误时,Oracle可以不是马上返回错误信息,并回滚当前的操作, 而是将操作挂起,直到挂起时间超过RESUMABLE TIMEOUT,或者空间不足的错误被解决。 这个triger都是在after suspend后执行 首先设置RESUMABLE TIMEOUT,当你建立一个非常大的索引,三天三夜后数据库空间使用了99%,因为设置了RESUMABLE TIMEOUT,所以 oracle会挂起操作(suspend),直到挂起时间超过RESUMABLE TIMEOUT,或者空间不足的错误被解决。136、oracle使用行锁和表锁。 一般情况下你更新一条数据,oracle针对正在更新的一行或多行的 EXCLUSIVE 行锁定,针对要更新的表的 ROW EXCLUSIVE 表级锁定。 这可避免在进行更改时另一会话锁定整个表(可能会删除或截断表)。137、SHARE:允许并发查询,但禁止更新锁定的表。需要有(并且会自动请求)SHARE锁定才能创建表的索引。 EXCLUSIVE:允许查询锁定表,但禁止对锁定表执行任何其它活动。需要有EXCLUSIVE 锁定才能删除表。138、你在更新一个表时,会产生哪两种锁 a、针对正在更新的一行或多行的 EXCLUSIVE 行锁定 b、针对要更新的表的 ROW EXCLUSIVE 表级锁定139、死锁 死锁是锁定冲突的特殊示例。两个或多个会话等待由对方锁定的数据时,就会发生死锁。 因为每个会话都在等待另一个会话释放锁定,所以任何一个会话都不能完成事务处理,也不能解决冲突。 Oracle 数据库会自动检测死锁并终止语句,同时显示错误消息。更正这种错误的适当做法 是执行提交或回退,这样做会在一个会话中释放任何其它锁定,以便其它会话可继续完成其事务处理。140、因为针对要更新的表的 ROW EXCLUSIVE 表级锁定,所以你可以更新该表的其它数据,但是不能删除或者截断表或者改变表的结构。141、你建立了一个undo表空间,你希望你的oracle能自动管理,这时你需要设置UNDO_TABLESPACE的参数是你刚才建立表空间的名字,然后设置UNDO_MANAGEMENT为ANTO142、ORA-01555: snapshot too old 解决这个问题,一、增加undo表空间大小,二、打开retention guarantee143、UNDO_RETENTION=900s 在undo表空间里的extent不包括没有committed的数据,将会被保留15分钟(为什么不说只有committed的数据,因为除此以外应该还有其它数据,我也不知道)144、UNDO_RETENTION=1000s undo retention is not guaranteed Committed的undo数据会在undo表空间中保留1000s,只要undo 表空间有空闲undo表空间够用145、回滚一个transaction和从一个失败的transaction恢复 是需要undo数据的,应该闪回操作也是需要undo数据的146、在一个update执行后,如果没有Committed,那么会在undo 缓存中建立一个原数据的前镜像,如果这时候查询还会是原来的数据147、在DML操作中,delete语句的undo数据是最多的,因为你在删除的时候,undo会记下所有删除的信息,而插入的话只会记住哪一条148、再决定undo表空间的时候,需要考虑undo block的大小,每秒产生的undo数据多少,UNDO_RETENTION的参数是多少1、DBVERIFY:是一种外部命令行实用程序,可以对脱机或联机的数据库执行物理数据结构 完整性检查。可以对备份文件与联机文件(或文件片段)运行此实用程序。只能检查数据文件;不能检查重做日志文件 ANALYZE:使用 ANALYZE命令可以验证表或表分区的结构,以及索引或索引分区的结构。要分析的 对象必须位于本地计算机,并且必须是在您自己的方案中,或者必须拥有ANALYZE ANY 系统权限。CASCADE 选项可以验证对象,包括该对象的所有相关对象。不将块标记为软损坏;只报告软损坏情况 RMAN CROSSCHECK:当手工删除了归档日志以后,Rman备份会检测到日志缺失,从而无法进一步继续执行。 所以此时需要手工执行crosscheck过程,之后Rman备份可以恢复正常。 根据题意验证分区表的block,验证行是否属于正确的分区,所以要选ANALYZE2、当出现空间不足等相关的错误时,Oracle可以不是马上返回错误信息,并回滚当前的操作, 而是将操作挂起,直到挂起时间超过RESUMABLE TIMEOUT,或者空间不足的错误被解决。 C、如果在60s内没有解决问题,挂起状态将报错。按理说A选项也应该是对的,就是说挂起状态会保留至少60s,不知道是不是至少出的错3、在ASM实例添加和删除磁盘,在没有完之前数据库会很慢,用什么方法可以在不影响数据库速度的情况下添加或删除磁盘 Striping:条带化 条带化是把连续的数据分割成相同大小的数据块,把每段数据分别写入到阵列中不同磁盘上的方法。 此技术非常有用,它比单个磁盘所能提供的读写速度要快的多,当数据从第一个磁盘上传输完后,第二个磁盘就能确定下一段数据。 数据条带化正在一些现代数据库和某些RAID硬件设备中得到广泛应用。 ASM_POWER_LIMIT:该参数控制重新平衡操作的速度。值的范围在1 到 11 之间, 11 表示速度最快。如果省略,该值将默认为 1。从属进程的数量可以从手动重新平 衡命令 (POWER) 中指定的并行级别派生,或者通过 ASM_POWER_LIMIT 参数派生。 重新平衡不会妨碍任何数据库操作。重新平衡

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论