Oracle_DBA面试题
oracle dba面试题
![oracle dba面试题](https://img.taocdn.com/s3/m/17746908e418964bcf84b9d528ea81c758f52e8a.png)
oracle dba面试题一、数据库基础知识1. 请解释什么是数据库?数据库是指按照数据模型组织、描述和存储数据的集合,在计算机科学领域中,广泛应用于数据管理和数据处理。
2. 请简要介绍关系数据库和非关系数据库的区别。
关系数据库是基于关系模型进行数据组织和管理的数据库系统,数据以表格的形式存储,并通过关系运算进行查询和操作。
而非关系数据库则不遵循关系模型,使用其他数据模型进行存储和操作,例如文档模型、键值对模型等。
3. 数据库的ACID是指什么?ACID是数据库事务的四个特性的首字母缩写,包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),确保事务的正确执行和可靠性。
二、Oracle数据库管理1. 在Oracle中,如何创建表?可以使用CREATE TABLE语句来创建表,语法如下:CREATE TABLE table_name (column1 datatype constraint,column2 datatype constraint,...);2. 请简述Oracle数据库中的慢查询优化方法。
慢查询可以通过以下方法进行优化:- 使用合适的索引,提高查询性能;- 对频繁查询的表进行分区,减少搜索范围;- 优化SQL语句,避免全表扫描或使用不当的查询条件;- 在关联查询中使用合适的连接方式(如INNER JOIN、LEFT JOIN 等);- 在需要的字段上创建合适的索引,避免全表扫描;- 使用合适的数据库缓存大小,提高I/O性能。
3. 如何备份和恢复Oracle数据库?可以使用Oracle提供的RMAN(Recovery Manager)工具进行数据库备份和恢复。
备份可以使用完全备份或增量备份,恢复时可以根据备份文件进行还原和恢复数据库。
三、Oracle数据库安全1. 如何对Oracle数据库进行用户认证和授权?Oracle数据库可以使用用户名和密码进行用户认证,管理员可以通过CREATE USER语句创建新用户,并使用GRANT语句进行权限授权。
ORA dba面试常见的二十个问题及回答
![ORA dba面试常见的二十个问题及回答](https://img.taocdn.com/s3/m/173aa20a52ea551810a6872c.png)
2:简单描述table / segment / extent / block之间的关系
答:一个table至少是一个segment,如果分区表,则每个分区是一个segment,table可以看成是一个逻辑上的概念,segment可以看成是这个逻辑概念的物理实现;
segment由一个或多个extents组成,segment不可以跨表空间但可以跨数据文件;
5.给出两个检查表结构的方法
解答:1.DESCRIBE命令
2.DBMS_METADATA.GET_DDL 包
6.怎样查看数据库引擎的报错
解答:alert log.
7.比较truncate和delete 命令
解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要rollback segment .而Delete是DML操作, 需要rollback segment 且花费较长时间.
6:日志的作用是什么
答:纪录对数据库的操作,便与恢复。
7:SGA主要有那些部分,主要作用是什么
答:db_cache(缓存数据块),shared_pool(缓存sql,执行计划,数据字典信息等),large_pool(MTS模式、parallel 、rman等要用到),java pool(java程序如SQLJ存储过程运行时要用到)
解答:归档模式是指你可以备份所有的数据库 transactions并恢复到任意一个时间点。非归档模式则相反,不能恢复到任意一个时间点。但是非归档模式可以带来数据库性能上的少许提高.
14. 如何建立一个备份控制文件?
解答:Alter database backup control file to trace.
oracle dba 面试题
![oracle dba 面试题](https://img.taocdn.com/s3/m/bc6baa4bf02d2af90242a8956bec0975f465a48a.png)
oracle dba 面试题在申请 Oracle 数据库管理员(DBA)职位时,面试是不可或缺的环节。
为了帮助您更好地准备面试,以下是一些常见的 Oracle DBA 面试题。
一、数据库管理基础1. 什么是数据库管理系统(DBMS)?Oracle 是一种 DBMS 吗?2. 请解释一下数据库实例和数据库的关系。
3. 请介绍一下 Oracle 数据库的架构。
二、SQL 查询1. 在 Oracle 中,如何创建一张新表?2. 请解释一下 SELECT 语句的基本结构,并给出一个例子。
3. 如何在 Oracle 中使用子查询?4. 请解释一下连接(JOIN)的不同类型,并举例说明每种类型的使用场景。
三、数据库维护与性能优化1. 如何备份和还原 Oracle 数据库?请解释一下备份和还原的不同方法。
2. 如何进行表空间管理和数据文件扩容?3. 请介绍一下索引在数据库中的作用,并解释一下不同类型的索引。
4. 如何定位和解决数据库性能问题?四、故障诊断与恢复1. 当数据库实例无法启动时,你会采取哪些步骤进行故障诊断和修复?2. 数据库发生崩溃时,如何进行恢复操作?3. 请解释一下日志文件的作用,并介绍一下 Oracle 中的日志文件类型。
五、安全管理1. 请介绍一下 Oracle 数据库的权限管理机制。
2. 如何创建和管理用户账号?3. 如何实施数据库备份的安全措施?六、高可用和灾备设计1. 请解释一下 Oracle 数据库的高可用性解决方案,并介绍一下Dataguard 的作用。
2. 如何配置 Oracle RAC(Real Application Cluster)?七、常见错误和故障排除1. 当出现 ORA-00942 错误时,你会怎么做?2. 如何排查表空间占用过多的问题?3. 当数据库出现死锁时,如何解决?八、版本迁移和升级1. 当需要将 Oracle 数据库迁移到新环境时,你会采取哪些步骤?2. 如何进行 Oracle 数据库的版本升级?以上是一些常见的 Oracle DBA 面试题,希望能对您的面试准备有所帮助。
dba面试题及答案
![dba面试题及答案](https://img.taocdn.com/s3/m/63dff9246f1aff00bfd51ec9.png)
6:SQL 调整最关注的是什么
5:回滚段的作用是什么
7:说说你对索引的认识(索引的结构、对 dml 影响、对查询影响、
6:日志的作用是什么Fra bibliotek为什么提高查询性能)
7:SGA 主要有那些部分,主要作用是什么
8:使用索引查询肯定能提高查询的性能吗?为什么
8racle 系统进程主要有哪些,作用是什么
9:绑定变量是什么?绑定变量有什么优缺点?
本文格式为 Word 版,下载可任意编辑
dba 面试题及答案
用是什么 12:存在表 T(a,b,c,d),要依据字段 c 排序后取第 21—30 条记录
显示,请给出 sql
1:列举几种表连接方式
二:数据库基本概念类
2:不借助第三方工具,怎样查看 sql 的执行打算
1:pctused and pctfree 表示什么含义有什么作用
五:综合随便类 1:你最擅长的是 oracle 哪部分? 2:喜爱 oracle 吗?喜爱上论坛吗?或者偏好 oracle 的哪一部分? 3:随便说说你觉得 oracle 最有意思的部分或者最困难的部分 4:为何要选择做 DBA 呢?
魏
第2页共2页
3:如何使用 CBO,CBO 与 RULE 的区分
2:简洁描述 table / segment / extent / block 之间的关系
4:如何定位重要(消耗资源多)的 SQL
3:描述 tablespace 和 datafile 之间的关系
5:如何跟踪某个 session 的 SQL
4:本地管理表空间和字典管理表空间的特点,ASSM 有什么特点
三:备份恢复类
10:如何稳定(固定)执行打算
1:备份如何分类
oracle 运维dba面试题
![oracle 运维dba面试题](https://img.taocdn.com/s3/m/2836eab64793daef5ef7ba0d4a7302768e996fb0.png)
oracle 运维dba面试题Oracle运维DBA面试题在Oracle数据库管理领域,DBA(Database Administrator)是一个非常重要的角色,负责数据库的运维和管理工作。
Oracle运维DBA面试题旨在考察候选人对Oracle数据库的理解和实际操作经验。
以下是一些常见的Oracle运维DBA面试题。
1. 请解释Oracle数据库的体系结构。
Oracle数据库的体系结构由三个主要组件组成:实例(Instance)、数据库(Database)和Oracle进程(Process)。
实例负责管理数据库的内存和进程,数据库是数据的物理存储,而Oracle进程则是实例与数据库之间的桥梁。
2. 请解释Oracle重做日志(Redo Log)的作用。
Oracle重做日志是用于数据库恢复和故障恢复的关键组件。
它记录了发生在数据库中的所有修改操作,包括插入、更新和删除。
在系统故障时,通过重做日志可以恢复数据库到最后一次提交之前的状态。
3. 请解释Oracle数据文件(Data File)的作用。
Oracle数据文件是用于存储的最基本的文件单元。
它们包含了表、索引、表空间和其他数据库对象的实际数据。
每个表空间可以包含一个或多个数据文件。
4. 请解释Oracle表空间(Tablespace)的作用。
Oracle表空间是逻辑存储结构,用于管理和组织数据库对象,如表、索引和存储过程等。
一个表空间可以包含多个数据文件,每个数据文件可以属于一个表空间。
5. 请解释Oracle的归档模式(Archivelog Mode)和非归档模式(Noarchivelog Mode)的区别。
归档模式下,Oracle会将重做日志分为在线重做日志和归档重做日志。
在线重做日志用于实时记录数据库的修改操作,而归档重做日志用于数据库备份和恢复。
非归档模式下,Oracle只使用在线重做日志,无法进行数据库的归档备份和恢复。
6. 请解释Oracle的数据块(Data Block)是什么。
2_ORACLE DBA面试题集
![2_ORACLE DBA面试题集](https://img.taocdn.com/s3/m/3739060e6c85ec3a87c2c509.png)
Oracle笔试题 oracle DBA 面试题及答案(国外公司)oracle数据库笔试题 DBA国际大公司Oracle 面试笔试题oracle Database DBA Interview Questions1. How many memory layers are in the shared pool?2. How do you find out from the RMAN catalog if a particular archive log has been backed-up?3. How can you tell how much space is left on a given file system and how much space each of the file system"s subdirectories take-up?4. Define the SGA and:? How you would configure SGA for a mid-sized OLTP environment?? What is involved in tuning the SGA?5. What is the cache hit ratio, what impact does it have on performance of an oracle database and what is involved in tuning it?6. Other than making use of the statspack utility, what would you check when you are monitoring or running a health check on an oracle 8i or 9i database? oracle Database7. How do you tell what your machine name is and what is its IP address?8. How would you go about verifying the network name that the local_listener is currently using?9. You have 4 instances running on the same UNIX box. How can you determine which shared memory and semaphores are associated with which instance?10. What view(s) do you use to associate a user"s SQLPLUS session with his o/s process?Oracle DBA面试题更新 oracle DBA 面试题更新数据库切换日志的时候,为什么一定要发生检查点?这个检查点有什么意义?表空间管理方式有哪几种,各有什么优劣。
Oracle_面试题库—DBA
![Oracle_面试题库—DBA](https://img.taocdn.com/s3/m/c7c2a3220722192e4536f6de.png)
题目内容:1 以下权限哪个是系统权限?A.ALTERB.EXECUTEC.PREFERENCESD.BACKUP ANY TABLE答案 D2 以下哪个权限是对象权限?A.INDEXB.DROP USERC.CREATE SESSIOND.BACKUP ANY TABLE答案 A3 以下哪个视图可以查到用户具有使用权限的表的信息ER_VIEWSER_TABLESC.ALL_OBJECTSER_OBJECTS答案 C4 .简述带前缀的视图的区别:V$,DBA_,ALL_,USER_ 答案:V$开头的是描述实例运行的动态性能视图,DBA_,数据库中数据字典的信息ALL_,用户具有操作权限的对象信息USER_,用户所拥有的对象的信息5 数据定义语言是一种方法,用于:A 确保数据的精确性B 定义和储存数据对象C 帮助查看数据D 储存数据6 关系定于为A 网络之间的关系B 实体之间的关系C 属性之间的关系D 对象之间的关系7 下列哪个表可以用来查询所有的索引A ALL_INDEXES_TABLESB ALL_INDEXESC INDEX_TABLESD 以上都不是8 _____数据字典表可以用来查看抽象数据类型的实际结构.A USER_TYPE_ATTRSB USER_TABLESC USER_TYPE_TABSD USER_OBJECT9 哪个初始化参数在数据库创建后无法改变A DB_NAMEB DB_BLOCK_SIZEC DB_CACHE_SIZED SHARED_POOL_SIZE10 现在要启动数据库,那么下面哪一个启动语句是错误的A STRATUP NORMALB STRATUP FORCEC STRATUP NOMOUNTD STARTUP MOUNT11 使用哪一条SHUTDOWN语句关闭数据库时,下次打开数据库是需要做恢复操作?A SHUTDOWN TRANSACTIONALB SHUTDOWN IMMEDIATEC SHUTDOWN ABORTD SHUTDOWN NORMAL12 关于数据库存储结构说法正确的是A oracle始终都只能以块作为存储单位B oracle是以块为基本存储单位,然后将块组合成区,再将区合为段,最后再由表空间对这些段进行管理。
OracleDBA面试题及参考答案
![OracleDBA面试题及参考答案](https://img.taocdn.com/s3/m/ba46de990722192e4436f615.png)
OracleDBA面试题及参考答案OracleDBA面试题及参考答案 it工作市场是如此的紧张,每个可获得的职位都有一堆人在申请。
naveen nahata为oracle e-business suite的数据库管理员申请者提供了以下一些面试时的技术问题,它可以帮助申请者们快速脱颖而出。
问题1如果信息采集管理系统(icm)崩溃了怎么办?2你如何加速打补丁的过程?3打补丁的过程中出错了,你怎么办?4请提供克隆过程和克隆之后采取的手工操作的大概步骤。
5介绍一下autoconfig。
autoconfig是如何知道xml文件中的哪个树脂需要被放入哪一个文件的?6你能告诉我,你对一个发生故障的自服务登录问题做哪些测试吗?你要检查哪个配置文件操作选项和文件?7如果你不能看到并发管理日志和输出文件,是哪里出错了?8你是如何更改并发管理日志和输出文件的位置的?9如果用户正遇到性能方面的问题,你如何找到问题的原因?10你如何更改应用程序的密码?11请写出dbc文件的位置,并且解释它的重要性和应用程序如何知道dbc文件名?答案1所有其他的管理器都会继续工作。
icm只会处理队列控制请求,意思是开启和关闭其他并发的管理器。
22.1你可以合并多个补丁。
2.2你可以为一个非交互的补丁创建一个响应文件。
2.3你可以通过选项(nopiledb, nomaintainmrc, nopilejsp)来应用补丁,并且在应用了所有的补丁之后,一次运行它们。
3 查看失败工作的日志,找到并且纠正错误,用adctrl 工具重新开启工作。
问题1如果信息采集管理系统(icm)崩溃了怎么办?2你如何加速打补丁的过程?3打补丁的过程中出错了,你怎么办?4请提供克隆过程和克隆之后采取的手工操作的大概步骤。
5介绍一下autoconfig。
autoconfig是如何知道xml文件中的哪个树脂需要被放入哪一个文件的?6你能告诉我,你对一个发生故障的自服务登录问题做哪些测试吗?你要检查哪个配置文件操作选项和文件?7如果你不能看到并发管理日志和输出文件,是哪里出错了?8你是如何更改并发管理日志和输出文件的位置的?9如果用户正遇到性能方面的问题,你如何找到问题的原因?10你如何更改应用程序的密码?11请写出dbc文件的位置,并且解释它的重要性和应用程序如何知道dbc文件名?答案1所有其他的管理器都会继续工作。
国外公司的oracle dba 面试题
![国外公司的oracle dba 面试题](https://img.taocdn.com/s3/m/a74abb114431b90d6c85c755.png)
Oracle DBA Interview Questions By B G我先表达一下我做这套题的感受.这套题我花了很多时间,期间我参考了资料和其他人的答案。
题目看似很简单,我是指看上去都不应该不会。
但做起来却不那么容易(指我自己)。
我对我的回答并不满意,我希望大家能够不断更正和完善这套答案,这也是我做这套题的初衷。
Joe06/06/071. How many memory layers are in the shared pool?The shared pool consists of the library cache and the dictionary cache.2. How do you find out from the RMAN catalog if a particular archive log has been backed-up?RC_BACKUP_REDOLOG or1) backup setRMAN> list archivelog all | from ... until.....e.gRMAN> list archivelog from time 'sysdate-1'2)backupRMAN> LIST BACKUP OF ARCHIVELOG FROM SEQUENCE 1437 UNTIL SEQUENCE 1437;3. How can you tell how much space is left on a given file system and how much space each of the file system's subdirectories take-up?df – report file system disk space usage.du – summarize disk usage of each file, recursively for directories.4. Define the SGA and:System Global Area.It consists of Shared pool, Large pool, Java pool, Buffer cache, Log buffer, Nonstandard block size buffer caches, Keep and recycle buffer caches, and Streams pool.? How you would configure SGA for a mid-sized OLTP environment?Suppose only Oracle is running on the server and MTS is chosen for OLTP.Reserve 10% of RAM for UNIX/Linux or 20% of RAM for Windows. The rest of RAM is allocated to SGA.Log_buffer=3MLarge_pool_size: For dedicated Oracle server, 20-30M is enough. For MTS, the UGA will be here. Estimate parallel connection and MTS server processes.Java_pool_size=10MShared_pool_size: If all the SQL statements that sent to ORACLE are using bind variable adequately, then 300M is enough in most cases and it should greater than 100M depending on total RAM.Data buffer: All the rest RAM should be allocated to Data buffer.Below is some referenced materials related to this issue:If you only have Oracle on the server, start by reserving 10% of RAM forUNIX/Linux or 20% of RAM for Windows. With whatever RAM is left-over:SGA Sizing and PGA SizingFor dedicated Oracle servers, the maximum total RAM SGA size can be computed as follows:OS Reserved RAM -- This is RAM required to run the OS kernek and systemfunctions, 10% of total RAM for UNIX/Linux, and 20% of total RAM for Windows.Oracle Database Connections RAM -- Each Oracle connection requires OS RAM regions for sorting and hash joins. (This does not apply when using the Oraclemultithreaded server or pga_aggregate_target.) The maximum amount of RAMrequired for a session is as follows:2 megabytes RAM session overhead + sor_area_size + hash_area_size? What is involved in tuning the SGA?Check the statspack report.Check hit ratio of Data buffer. If it is less than 90%, then we need to increase the Data buffer.Check hit ratio of Shared pool. If it is less than 95%, then we need to increase the Shared pool.Check log buffer. If redo buffer allocation retries/redo entries is greater than 1%,then we need to increase log_buffer.Determine how to use keep pool and recycle pool efficiently.5. What is the cache hit ratio, what impact does it have on performance of an Oracle database and what is involved in tuning it?For the buffer cache hit ratio, it calculates how often a requested block has beenfound in the buffer cache without requiring disk access. This ratio is computed using data selected from the dynamic performance view V$SYSSTAT. The buffer cache hit ratio can be used to verify the physical I/O as predicted byV$DB_CACHE_ADVICE.Select name, value From v$sysstatWhere name in ('db block gets', 'consistent gets', 'physical reads');The cache-hit ratio can be calculated as follows:Hit ratio = 1 - (physical reads / (db block gets + consistent gets))If the cache-hit ratio goes below 90% then:For Oracle 8 and earlier: increase the initialisation parameterDB_BLOCK_BUFFERS.For Oracle 9 onwards: increate the initialisation parameter DB_CACHE_SIZE.For the library cache hit ratio, it calculates how often the parsed representation of the statement can be reused. It also known as soft parse.Select namespace, pins, pinhits, reloads, invalidations from v$librarycache order by namespace;Library Cache Hit Ratio = sum(pinhits) / sum(pins)For the Dictionary cache hit ratio, typically, if the shared pool is adequately sized for the library cache, it will also be adequate for the dictionary cache data.6. Other than making use of the statspack utility, what would you check when you are monitoring or running a health check on an Oracle 8i or 9i database?Daily Procedures:A.Verify all instances are upB.Look for any new alert log entriesC.Verify DBSNMP is runningD.Verify success of database backupE.Verify success of database archiving to tapeF.Verify enough resources for acceptable performanceG.Copy Archived logs to standby Database and Roll forwardH.Read DBA manuals for one hourNightly Procedures:A.Collect volumetric data – Gather statistics data7. How do you tell what your machine name is and what is its IP address?Uname –nHostname8. How would you go about verifying the network name that the local_listener is currently using?Lsnrctl statuscheck listener.ora file.Show parameter LISTENER in SQLPLUS9. You have 4 instances running on the same UNIX box. How can you determine which shared memory and semaphores are associated with which instance?IpcsSQL> oradebug setmypidSQL> oradebug ipcSQL>oradebug tracfile_name10. What view(s) do you use to associate a user's SQLPLUS session with his o/s process?v$process and v$sessionSelect a.spid from v$process a, v$session b where a.addr = b.addr andb.audsid=userenv(‘sessionid’);11. What is the recommended interval at which to run statspack snapshots, and why?The most common misuse of STATSPACK is the more is better approach. Often STATSPACK reports spans hours or even days. The times between the snapshots (the colletion points) should, in general, be measured in minutes, not hours and never days.The STATSPACK reports we like are from 15-minute interval during a busy or peak time, when the performance is at its worst. That provides a very focusedlook at what was going wrong at that exact moment in time. The problem with a very large STATSPACK snapshot window, where the time between the twosnapshorts is measured in hours, is that the events that caused seriousperformance issues for 20 minutes during peak processing don’t look so badwhen they’re spread out over an 8-hour window. It’s also true with STATSPACK that measuring things over too long of a period tends to level them off over time.Nothing will stand out and strike you as being wrong. So, when taking snapshorts, schedule them about 15 to 30 minutes(maximum) apart. You might wait 3 to 4 hours between these two observations, but you should always do them in pairsand within minutes of each other.Install statspack:Connect / as sysdbaSQL>?/rdbms/admin/spcreateTaking a Statspack snapshotSQL>Connect perfstat/passwordSQL>execute statspack.snap;orSQL>variable snap number;SQL>begin :snap:=statspack.snap; end;2 /SQL>print snapRuning the Statspack reportSQL>connect perfstat/passwordSQL>?/rdbms/admin/spreport12. What spfile/init.ora file parameter exists to force the CBO to make the execution path of a given statement use an index, even if the index scan may appear to be calculated as more costly?Two parameters will make CBO to "re-calculate" the cost of indexing, so that Index looks like a "cheaper" path.1)optimizer_index_cost_adjThe default value of 100 means that an index access to a table is just as expensive as a full table scan.On most systems, the default value of 100 should be lowered.e.g A value of 10 means that the cost of an index access path is one-tenth the normal cost of an index access path.2)optimizer_index_cachingThis value is a percentage that indicates how many blocks are found in the buffer cache when an index is read.This value is only for index blocks, not for blocks in the table that the index points to.On most systems, the default value of 0 is too low and should be altered.The same applies to this parameter.13. Assuming today is Monday, how would you use the DBMS_JOB package to schedule the execution of a given procedure owned by SCOTT to start Wednesday at 9AM and to run subsequently every other day at 2AM.SQL>Variable jobno number;SQL>Execdbms_job.submit(:jobno,’your_work’,’trunc(sysdate+2)+9/24’,’trunc(sysdate+1)+de code(to_char(sysdate+1,’DAY’),’WED’,9/24,2/24)’);14. How would you edit your CRONTAB to schedule the running of /test/test.sh to run every other day at 2PM?crontab –e* 14 */1 * * /test/test.sh15. What do the 9i dbms_standard.sql_txt() and dbms_standard.sql_text() procedures do?An appropriate answer is welcome!!!16. In which dictionary table or view would you look to determine at which time a snapshot or MVIEW last successfully refreshed?DBA_MVIEWSDBA_MVIEW_REFRESH_TIMES17. How would you best determine why your MVIEW couldn't FAST REFRESH? Use the explain_mview procedure of DBMS_MVIEW package to populatemv_capabilities_table and check capability_name and msgtxt columns.18. How does propagation differ between Advanced Replication and Snapshot Replication (readonly)?In advanced replication, multiple sites might be modifying data, it would not work to simply copy the database on a regular basis. Instead, changes are saved and queued to be run on other replication sites.19. Which dictionary view(s) would you first look at to understand or get a high-level idea of a given Advanced Replication environment?An appropriate answer is welcome!!!20. How would you begin to troubleshoot an ORA-3113 error?The ORA-3113 error is a general error reported by Oracle client tools, which signifies that they cannot communicate with the oracle shadow process. As it is sucha general error more information must be collected to help determine what has happened.Connecting to Oracle:For local connections check the following:1. Have you installed the Parallel Server Option?ORA-3113 will occur if you have installed the Parallel Server Option but do NOT have a Distributed Lock Manager installed or running.To deinstall the Parallel Server Option:Shut down any Oracle instances%script /tmp/relink.out%cd $ORACLE_HOME/rdbms/lib%rm –f oracle%make –f oracle.mk no_parropt ioracle%exit2. Try using the SQL*Net V1 driver for local connections:Setenv TWO_TASK P:Then try the client tool. If this now works you may have a problem with the default SQL*Net driver.3. Your ‘oracle executable may be corrupt. Relink it as follows:Log in as the ‘oracle’ user.%script /tmp/relink.out%cd $ORACLE_HOME/redbms/lib%rm –f oracle.mk ioracle%exit4. Some Unix platforms need LD_LIBRARY_PATH to be set correctly to resolve any dynamically linked libraries.%script /tmp/ldd.out%id%cd $ORACLE_HOME/bin%ldd oracle%exitIf the ‘ldd’ command does not exist go to the next stop below.Check that all lines listed show a full library file.For remote connections:1. Check if you can make LOCAL connections. If not then follow the steps above for LOCAL connection problems.2. Whick SQL*Net protocol are you using?For the protocol you are using check that the oracleexecutable has this linked in as follows:Log in as oracle on the server% script /tmp/drivers.out% cd $ORACLE_HOME/bin% drivers oracle% exitEg: If you are using TCP/IP it should list TCP/IP.If the drivers command does not exist on your machine, checkthe oracle executable as below substituting the relevantsymbol from Table C.1 for the word SYMBOL. If you do not receive any output then:% script /tmp/symbols.out% cd $ORACLE_HOME/bin% nm oracle | grep -i SYMBOL # Use relevant SYMBOL% exitEg: For SQL*Net TCP/IP you would use the command:% nm oracle | grep -i osntttIf the required driver is not installed you should:a) Relink Oracle (See step (B3) above).b) Re-check the oracle executable for therelevant driver. If it is still missing thenthe relevant SQL*Net driver has probably notbeen installed. Reinstall the required SQL*Netdriver.3. Check your /etc/oratab or /var/opt/oracle/oratab file is of the form: SID:/path/to/oracle/home:NAnd confirm:[ ] There are no blank lines.[ ] The PATH to ORACLE_HOME is correct and containsno environment variables.[ ] There are no ':'s in the ORACLE_HOME path.[ ] There is NOTHING at the end of the line.The last character on a line should be Y or N.There should NOT be a fourth field.An Established Connection:1) Check in your 'USER_DUMP_DEST' for any Oracle trace file. It is important to find the correct trace file. Use thecommand 'ls -ltr' to list files in time order with thelatest trace files appearing LAST. If you are not surewhich trace file may be relevant, move all the current tracefiles to a different directory and reproduce the problem.The trace file will typically be of the form 'ora_<PID>.trc'.2) If there is no trace file check for a core dump in theCORE_DUMP_DEST. Check as follows:% cd $ORACLE_HOME/dbs # Or your CORE_DUMP_DEST% ls -l core*If there is a file called core, check that its time matchesthe time of the problem. If there are directories called'core_<PID>' check for core files in each of these. It isIMPORTANT to get the correct core file. Now obtain a stacktrace from this core file. Check each of the sequences belowfor the procedure. One of the following should work for yourplatform:If you have dbx:% script /tmp/core.stack% dbx $ORACLE_HOME/bin/oracle core(dbx) where...(dbx) quit% exit3) Try to obtain any SQL*Net trace to show what the latestoperation sent to the oracle process was.For SQL*Net V1 check which SQL*Net protocol you are usingand note the Debug environment variable from table C1 above.Then catch SQL*Net trace from the client. Eg: For SQL*NetTCP/IP and sqlplus:% setenv OSNTDBUG -1 # Use correct OSN*DBUGvariable% sh% sqlplus scott/tiger@t:hostname:sid 2>/tmp/net1.out21. Which dictionary tables and/or views would you look at to diagnose a locking issue? v$lock, v$session, DBA_DDL_LOCKS, v$enqueue_lock, dba_locks22. An automatic job running via DBMS_JOB has failed. Knowing only that "it's failed", how do you approach troubleshooting this issue?check the error no with alert_log or jobq trace file.A better answer is expected!!!23. How would you extract DDL of a table without using a GUI tool?Exp rows=n tables=()Imp indexfile=test.sqlSelect dbms_metadata.get_ddl(‘table_name’,’owner’,’TABLE’) from dual;24. You're getting high "busy buffer waits" - how can you find what's causing it?1) Find the hot block and the segment these hot blocks belong to. X$BH andDBA_OBJECTS2) Find related SQL statementSelect sql_address from v$session where sid=;Select * from v$sqltest where address=;3) Tune itYou can get ‘busy buffer waits’ from event column of v$session_waitSome important event:buffer busy waits,free buffer waits,db file sequential read,db file scattered read, latch free25. What query tells you how much space a tablespace named "test" is taking up, and how much space is remaining?Select sum(bytes) from dba_extents where tablespace_name=’TEST’ group by tablespace_name;Select sum(bytes) from dba_free_space where tablespace_name=’TEST’ group by tablespace_name;26. Database is hung. Old and new user connections alike hang on impact. What do you do? Your SYS SQLPLUS session IS able to connect.1) First view active sessions and v$session_wait2) See the uptime and top processes of the system27. Database crashes. Corruption is found scattered among the file system neither of your doing nor of Oracle's. What database recovery options are available? Database is in archive log mode.Instance recovery28. Illustrate how to determine the amount of physical CPUs a Unix Box possesses (LINUX and/or Solaris)。
Oracle数据库DBA面试题
![Oracle数据库DBA面试题](https://img.taocdn.com/s3/m/c5358bff4028915f804dc249.png)
1. 解释冷备份和热备份的不同点以及各自的优点解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。
而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。
热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。
冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。
(因为不必将archive log写入硬盘)2. 你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢?解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。
3. 如何转换init.ora到spfile?解答:使用create spfile from pfile 命令.4. 解释data block , extent 和segment的区别(这里建议用英文术语)解答:data block是数据库中最小的逻辑存储单元。
当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一个数据库对象拥有的所有extents被称为该对象的segment.5. 给出两个检查表结构的方法解答:1、DESCRIBE命令2、DBMS_METADATA.GET_DDL 包6. 怎样查看数据库引擎的报错解答:alert log.7. 比较truncate和delete 命令解答:两者都可以用来删除表中所有的记录。
区别在于:truncate是DDL操作,它移动HWK,不需要rollback segment .而Delete是DML操作, 需要rollback segment 且花费较长时间.8. 使用索引的理由解答:快速访问表中的data block9. 给出在STAR SCHEMA中的两种表及它们分别含有的数据解答:Fact tables 和dimension tables. fact table 包含大量的主要的信息而dimension tables 存放对fact table 某些属性描述的信息10. FACT Table上需要建立何种索引?解答:位图索引(bitmap index)11. 给出两种相关约束?解答:主键和外键12. 如何在不影响子表的前提下,重建一个母表解答:子表的外键强制实效,重建母表,激活外键13. 解释归档和非归档模式之间的不同和它们各自的优缺点解答:归档模式是指你可以备份所有的数据库transactions并恢复到任意一个时间点。
Oracle DBA面试题及参考答案
![Oracle DBA面试题及参考答案](https://img.taocdn.com/s3/m/ac97dd4fe518964bcf847c7d.png)
8日志问卷爱女的位置是由$APPLCSF/$APPLLOG 参数来决定的,输出文件的位置是由$APPLCSF/ห้องสมุดไป่ตู้APPLOUT 决定的。
9
9.1追踪这个会话(用等待)并且使用tkprof 来分析追踪文件。
9.2生成statspack 报告并进行分析。
9.3使用top/iostat/sar/vmstat 监控O/s 。
11请写出DBC文件的位置,并且解释它的重要性和应用程序如何知道DBC文件名?
答案
1所有其他的管理器都会继续工作。ICM只会处理队列控制请求,意思是开启和关闭其他并发的管理器。
2
2.1你可以合并多个补丁。
2.2你可以为一个非交互的补丁创建一个响应文件。
当你运行AutoConfig 的时候,它读取XML文件,并且创建所有的AutoConfig 管理配置文件。
对于AutoConfig维护的每个配置文件,都存在一个临时文件来判断哪个数值是从哪个XML文件中得来的。
6
6.1检查DBC文件中的guest的用户名和密码,配置选项guest的用户名和密码、数据库。
问题
1如果信息采集管理系统(ICM)崩溃了怎么办?
2你如何加速打补丁的过程?
3打补丁的过程中出错了,你怎么办?
4请提供克隆过程和克隆之后采取的手工操作的大概步骤。
5介绍一下AutoConfig。AutoConfig是如何知道XML文件中的哪个树脂需要被放入哪一个文件的?
6.2查看apache/jserv是否启动了。
6.3运行IsItWorking, FND_WEB.PING, aoljtest等。
7很有可能是FNDFS监听器停止了。看看FND_CONCURRENT_REQUESTS 表中的OUTFILE_NODE_NAME 和 LOGFILE_NODE_NAME 的数值。看看FND_NODES 表。看看tnsnames.ora 中的FNDFS_ entry 。
oracle部分面试题-DBA数据库管理员JAVA程序员架构师必看
![oracle部分面试题-DBA数据库管理员JAVA程序员架构师必看](https://img.taocdn.com/s3/m/7c2afdd176eeaeaad1f330dc.png)
-DBA数据库管理员JA V A程序员架构师必看面试题一(厦门)Table: (员工emp1)id name1 a2 b3 c4 dTable:( 性别sext)id sex1 男4 女5 男找出忘记填写性别的员工(用Oracle 的两种方式)select id ,name from emp1 e where e.id not in(select id from sext);select id from emp1 minus select id from sext;select * from emp1 e where e.id <> all(select id from sext);select e.* from emp1 e,(select id from emp1 minus select id from sext) s where e.id = s.id;select e.id, from emp1 e,sext s where e.id=s.id(+) and s.sex is null;select * from emp1 left outer join sext on emp1.id = sext.id where sext.sex is null;select * from emp1 e where not exists(select * from sext s where e.id= s.id);select * from emp1 where id not in (select emp1.id from emp1, sext where emp1.id = sext.id); select name from emp1 where id not in (select id from emp1 intersect select id from sext); SELECT*FROM emp1 e WHERE (SELECT COUNT(*)FROM(SELECT id FROM emp1 UNION ALL SELECT id FROM sext) tWHERE t.id = e.id) <2;面试题二(上海)表一(AAA)商品名称mc 商品总量slA 100B 120表二(BBB)商品名称mc 出库数量slA 10A 20B 10B 20B 30用一条Transact-SQL 语句算出商品A,B 目前还剩多少?selectAAA.mc,sl-e.sum_sl as leave fromAAA,(select sum(sl) sum_sl,mc from BBB group by mc) e whereAAA.mc = e.mcOracle 教程select AAA.mc,AAA.sl-(select sum(BBB.sl) from BBB where BBB.mc=AAA.mc)from AAA;面试题三(上海)人员情况表(employee)中字段包括,员工号(ID),姓名(name),年龄(age),文化程度(wh):包括四种情况(本科以上,大专,高中,初中以下),现在我要根据年龄字段查询统计出:表中文化程度为本科以上,大专,高中,初中以下,各有多少人,占总人数多少。
Oracle_DBA面试题
![Oracle_DBA面试题](https://img.taocdn.com/s3/m/37557cfb32d4b14e852458fb770bf78a64293a56.png)
Oracle_DBA面试题一. SQL tuning 类1:列举几种表连接方式hash join/merge join/nest loop(cluster join)/index join2:不借助第三方工具,怎样查看sql的执行计划set autot onexplain plan set statement_id = &item_id for &sql;select * from table(dbms_xplan.display);或者:SQL>EXPLAIN PLAN FOR SELECT * FROM EMP;SQL>SELECT plan_table_output FROM TABLE(DBMS_XPLAN.DISPLAY('PLAN_TABLE'));3:如何使用CBO,CBO与RULE的区别Rule Based Optimizer(RBO):基于规则Cost Based Optimizer (CBO):基于成本,或者讲统计信息。
在optimizer_mode=choose时,如果表有统计信息(分区表外),优化器将选择CBO,否则选RBO。
RBO遵循简单的分级方法学,使用15种级别要点,当接收到查询,优化器将评估使用到的要点数目, 然后选择最佳级别(最少的数量)的执行路径来运行查询。
CBO尝试找到最低成本的访问数据的方法,为了最大的吞吐量或最快的初始响应时间,计算使用不同的执行计划的成本,并选择成本最低的一个,关于表的数据内容的统计被用于确定执行计划。
4:如何定位重要(消耗资源多)的SQLselect sql_text from v$sql where disk_reads > 1000 or (executions > 0 and buffer_gets/executions > 30000);5:如何跟踪某个session的SQLexecdbms_system.set_sql_trace_in_session(sid,serial#,&sql_trace);select sid,serial# from v$session where sid = (select sid fromv$mystat where rownum = 1);execdbms_system.set_ev(&sid,&serial#,&event_10046,&level_12,'');6:SQL调整最关注的是什么查看该SQL的response time(db block gets/consistent gets/physical reads/sorts (disk)) 7:说说你对索引的认识(索引的结构、对dml影响、为什么提高查询性能) b-tree index/bitmap index/function index/patitional index(local/global) 索引通常能提高select/update/delete的性能,会降低insert的速度8:使用索引查询一定能提高查询的性能吗?为什么索引就是为了提高查询性能而存在的, 如果在查询中索引没有提高性能, 只能说是用错了索引,或者讲是场合不同9:绑定变量是什么?绑定变量有什么优缺点?绑定变量是相对文本变量来讲的,所谓文本变量是指在SQL直接书写查询条件,这样的SQL在不同条件下需要反复解析,绑定变量是指使用变量来代替直接书写条件,查询bind value在运行时传递,然后绑定执行。
orace dba 面试题(经典)
![orace dba 面试题(经典)](https://img.taocdn.com/s3/m/d9d6de68a98271fe910ef9d8.png)
一些基础的Oracle DBA笔试题和面试题目使用篇1:使用索引查询一定能提高查询的性能吗?举出实例根据查询数据的分布情况,有时可以提高查询速度。
例如,人事系统中用户输入身份证号码查询,人员讯息。
可以建立身份证的索引。
提高查询性能。
不能提供性能的情况也很多:1.1 用户输入的关键字没有规律,例如公众搜索的内容,关注点不一样,无法通过建立索引提供性能。
1.2 大比例数据的处理。
2:数据库设计的一、二、三范式、BCNF是什么?第一范式,属性原子化,一个栏位不要包含多个属性。
第二范式,主键依赖,要可以根据主键唯一确定其他属性。
3:StoreProcedure和Function有何区别?1 函数不可以进行事务操作DML, 。
2 函数一定要有返回值,且只有一个。
3 调用方式不同。
4:如何跟踪某个session的SQL?设置SQL_TRACE 。
2 可以确定SID,使用SYSTEM用户设置跟踪状态。
分析跟踪的文件。
TKPROF.5:如何使用CBO,CBO与RULE的区别?2种方式,系统参数设置,在SQL中单独加提示的方式设置。
区别在于RULE是依据sql编写的规则来确定执行的路径;COST是参考访问成本来产生最佳路径。
RULE的结果取决于开发者的编写能力,COST取决于系统的智能化程度,数据库的管理优化度。
需要定期进行统计数据的整理,分析,取得最新的数据。
6:描述tablespace和datafile之间的关系数据空间是由数据文件组成的,一个数据空间至少包含一个数据文件,可以多个一个数据文件一定属于一个数据空间。
7:truncate和delete有何区别?哪一种操作性能更快?TRUNCATE 是一次性全部删除,DELETE可以依据需要删除部分范围的数据。
TRUNCATGE 速度快。
8:什么是Snapshot?与View有何区别?SNAPSHOT是快照,保持了一个时间点的数据,VIEW视图没有保存数据,直接访问原始数据。
Oracle DBA面试问题
![Oracle DBA面试问题](https://img.taocdn.com/s3/m/f099e3b0bceb19e8b8f6ba83.png)
Oracle DBA面试问题问题:Oracle DBA面试问题回答:1.如何检索oracle数据库中的Locked objects,能否查看到是什么sql语句lock住了对象2.表t 表t1(id1,id2 多于表t表的id关联)id name id1 id21 a 1 22 b 2 33 c 2 44 d 3 55 e表t1,id1,id2 是一个部门上下级关系,查询所有部门的列表,按照级别关系写成完整字符串.1:a2:a b3:a b c4:a b d5:a b c e用函数,过程多可以3.如何将一个结果集/cursor一次选择到一个table类型4.何谓两阶段递交5.oracle性能调优的常见手段和过程6.oracle的复制方式有几种,如何解决更新冲突,何时适用snapshot replication ,过程如何7. 选择正确的答案,并说明选择的原因select column1,column2 from table1where column1 in (select table2.column1 from table2)select column1,column2 from table1where exists(select x from table2where table1.column1=table2.column1)问:1)table1.column1 上有索引,table2上没有索引,且table2的数据量>table1则( )2)table1.column1 上有索引,table2上没有索引,且table2的数据量3)table1.column1 上没有索引,table2上没有索引,且table2的数据量>table1则( )4)table1.column1 上没有索引,table2上没有索引,且table2的数据量A 使用in语句performance优于使用exists语句B 使用exists语句performance优于使用in语句。
oracle DBA 面试题整理
![oracle DBA 面试题整理](https://img.taocdn.com/s3/m/cdbe9b7327284b73f24250a3.png)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一. SQL tuning 类1:列举几种表连接方式hash join/merge join/nest loop(cluster join)/index join2:不借助第三方工具,怎样查看sql的执行计划set autot onexplain plan set statement_id = &item_id for &sql;select * from table(dbms_xplan.display);或者:SQL>EXPLAIN PLAN FOR SELECT * FROM EMP;SQL>SELECT plan_table_output FROM TABLE(DBMS_XPLAN.DISPLAY('PLAN_TABLE'));3:如何使用CBO,CBO与RULE的区别Rule Based Optimizer(RBO):基于规则Cost Based Optimizer (CBO):基于成本,或者讲统计信息。
在optimizer_mode=choose时,如果表有统计信息(分区表外),优化器将选择CBO,否则选RBO。
RBO遵循简单的分级方法学,使用15种级别要点,当接收到查询,优化器将评估使用到的要点数目, 然后选择最佳级别(最少的数量)的执行路径来运行查询。
CBO尝试找到最低成本的访问数据的方法,为了最大的吞吐量或最快的初始响应时间,计算使用不同的执行计划的成本,并选择成本最低的一个,关于表的数据内容的统计被用于确定执行计划。
4:如何定位重要(消耗资源多)的SQLselect sql_text from v$sql where disk_reads > 1000 or (executions > 0 and buffer_gets/executions > 30000);5:如何跟踪某个session的SQLexec dbms_system.set_sql_trace_in_session(sid,serial#,&sql_trace);select sid,serial# from v$session where sid = (select sid from v$mystat where rownum = 1);exec dbms_system.set_ev(&sid,&serial#,&event_10046,&level_12,'');6:SQL调整最关注的是什么查看该SQL的response time(db block gets/consistent gets/physical reads/sorts (disk)) 7:说说你对索引的认识(索引的结构、对dml影响、为什么提高查询性能) b-tree index/bitmap index/function index/patitional index(local/global) 索引通常能提高select/update/delete的性能,会降低insert的速度8:使用索引查询一定能提高查询的性能吗?为什么索引就是为了提高查询性能而存在的, 如果在查询中索引没有提高性能, 只能说是用错了索引,或者讲是场合不同9:绑定变量是什么?绑定变量有什么优缺点?绑定变量是相对文本变量来讲的,所谓文本变量是指在SQL直接书写查询条件,这样的SQL在不同条件下需要反复解析,绑定变量是指使用变量来代替直接书写条件,查询bind value在运行时传递,然后绑定执行。
优点是减少硬解析,降低CPU的争用,节省shared_pool ;缺点是不能使用histogram,sql优化比较困难10:如何稳定(固定)执行计划query_rewrite_enabled = truestar_transformation_enabled = trueoptimizer_features_enable = 9.2.0创建并使用stored outline11:和排序相关的内存在8i和9i分别怎样调整,临时表空间的作用是什么8i中sort_area_size/sort_area_retained_size决定了排序所需要的内存.如果排序操作不能在sort_area_size中完成,就会用到temp表空间9i中如果workarea_size_policy=auto时,排序在pga内进行,通常pga_aggregate_target 的1/20可以用来进行disk sort;如果workarea_size_policy=manual时,排序需要的内存由sort_area_size决定.在执行order by/group by/distinct/union/create index/index rebuild/minus 等操作时,如果在pga或sort_area_size中不能完成,排序将在临时表空间进行(disk sort), 临时表空间主要作用就是完成系统中的disk sort.12:存在表T(a,b,c,d),要根据字段c排序后取第21—30条记录显示,请给出sqlcreate table t(a number(),b number(),c number(),d number());/beginfor i in 1 .. 300 loopinsert into t values(mod(i,2),i/2,dbms_random.value(1,300),i/4);end loop;end;/select * from (select c.*,rownum as rn from (select * from t order by c desc) c) where rn between 21 and 30;/select * from (select * from test order by c desc) x where rownum < 30minusselect * from (select * from test order by c desc) y where rownum < 20 order by 3 desc相比之minus性能较差二. 数据库基本概念类1:pctused and pctfree 表示什么含义有什么作用pctused与pctfree控制数据块是否出现在freelist中,pctfree控制数据块中保留用于update的空间,当数据块中的free space小于pctfree设置的空间时,该数据块从freelist中去掉,当块由于dml操作free space大于pct_used设置的空间时,该数据库块将添加在freelist链表中。
2:简单描述table / segment / extent / block之间的关系table创建时,默认创建了一个data segment,每个data segment含有min extents指定的extents数,每个extent据据表空间的存储参数分配一定数量的blocks3:描述tablespace和datafile之间的关系一个tablespace可以有一个或多个datafile,每个datafile只能在一个tablespace内,table 中的数据,通过hash算法分布在tablespace中的各个datafile中,tablespace是逻辑上的概念,datafile则在物理上储存了数据库的种种对象。
4:本地管理表空间和字典管理表空间的特点,ASSM有什么特点本地管理表空间(Locally Managed Tablespace简称LMT):8i以后出现的一种新的表空间的管理模式,通过位图来管理表空间的空间使用。
字典管理表空间(Dictionary-Managed Tablespace简称DMT):8i以前包括以后都还可以使用的一种表空间管理模式,通过数据字典管理表空间的空间使用。
动段空间管理(ASSM):它首次出现在Oracle920里有了ASSM,链接列表freelist被位图所取代,它是一个二进制的数组,能够迅速有效地管理存储扩展和剩余区块(free block),因此能够改善分段存储本质,ASSM表空间上创建的段还有另外一个称呼叫Bitmap Managed Segments(BMB 段)。
5:回滚段的作用是什么事务回滚:当事务修改表中数据的时候,该数据修改前的值(即前影像)会存放在回滚段中,当用户回滚事务(ROLLBACK)时,ORACLE将会利用回滚段中的数据前影像来将修改的数据恢复到原来的值。
事务恢复:当事务正在处理的时候,例程失败,回滚段的信息保存在undo表空间中,ORACLE将在下次打开数据库时利用回滚来恢复未提交的数据。
读一致性:当一个会话正在修改数据时,其他的会话将看不到该会话未提交的修改。
当一个语句正在执行时,该语句将看不到从该语句开始执行后的未提交的修改(语句级读一致性).当ORACLE执行SELECT语句时,ORACLE依照当前的系统改变号(SYSTEM CHANGE NUMBER-SCN)来保证任何前于当前SCN的未提交的改变不被该语句处理。
可以想象:当一个长时间的查询正在执行时,若其他会话改变了该查询要查询的某个数据块,ORACLE将利用回滚段的数据前影像来构造一个读一致性视图。
6:日志的作用是什么记录数据库事务:最大限度地保证数据的一致性与安全性重做日志文件:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复,一个数据库至少需要两个重做日志文件归档日志文件:是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。
7:SGA主要有那些部分,主要作用是什么SGA:db_cache/shared_pool/large_pool/java_pooldb_cache: 数据库缓存(Block Buffer)对于Oracle数据库的运转和性能起着非常关键的作用,它占据Oracle数据库SGA(系统共享内存区)的主要部分。
Oracle数据库通过使用LRU算法,将最近访问的数据块存放到缓存中,从而优化对磁盘数据的访问.shared_pool:共享池的大小对于Oracle 性能来说都是很重要的。
共享池中保存数据字典高速缓冲和完全解析或编译的的PL/SQL 块和SQL 语句及控制结构large_pool:使用MTS配置时,因为要在SGA中分配UGA来保持用户的会话,就是用Large_pool来保持这个会话内存使用RMAN做备份的时候,要使用Large_pool这个内存结构来做磁盘I/O缓存器java_pool: 为java procedure预备的内存区域,如果没有使用java proc,java_pool不是必须的8. Oracle系统进程主要有哪些,作用是什么数据写进程(dbwr):负责将更改的数据从数据库缓冲区高速缓存写入数据文件日志写进程(lgwr):将重做日志缓冲区中的更改写入在线重做日志文件系统监控(smon) :检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复进程监控(pmon) :负责在一个Oracle 进程失败时清理资源检查点进程(chpt):负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。