oracle名词解释.doc

上传人:jian****018 文档编号:8744596 上传时间:2020-03-31 格式:DOC 页数:14 大小:50.50KB
返回 下载 相关 举报
oracle名词解释.doc_第1页
第1页 / 共14页
oracle名词解释.doc_第2页
第2页 / 共14页
oracle名词解释.doc_第3页
第3页 / 共14页
点击查看更多>>
资源描述
OLAP and OLTPOLTP (在线事务处理系统)OLAP (在线分析系统)对于一个olap系统,大型的查询每天做几次,没有必要将大量的数据缓存到内存里,完全没有必要,所以一般buffer hit都比较低对于一个olap系统,内存优化余地不大,增加cpu速度和磁盘io速度才是最直接的提高性能的方式。oltp系统的用户并发数很多,而且多是小的操作,数据库侧重于对用户操作的快速响应,这是对数据库最重要的性能要求。对于一个oltp系统来说,数据库内存设计显得很重要,如果数据都可以在内存处理,性能无疑会提高很多。oltp系统是一个数据块变化非常频繁,sql语句提交非常频繁的系统。对于数据块来说,应尽可能让数据块保存在内存中;对于sql来说,应尽可能使用绑定变量来达到sql的重用,减少物理io和反复的sql解析。oltp热快问题:当一个块被多个用户同时读取的时候,oracle为了维护数据的一致性,需要使用一种称为latch的东西来串行化用户的操作。当一个用户获得了这个latch之后,其他的用户只能被迫等待,获取这个数据块的用户越多,等待就越明显,这就造成了热快问题。这种热快可能是数据块也可能是回滚段块。对于数据块来讲通常是数据块上的数据分布不均导致,如果是索引的数据块,可以考虑建反向索引来达到重新分布数据的目的;对于回滚段数据块,可以适当增加几个回滚段来避免争用。SGA系统全局区,是oracle用来为实例存储数据和控制信息的共享内存区。在实例启动时分配,关闭时释放。数据库缓冲区高速缓存(buffer cache):保存了最近使用过的数据块。最近最多使用算法(most-recently-used)共享池:存储共享内存结构的区域。如library cache中的sql区,以及数据字典的内部信息library cache:SQL 和PL SQL 的文本,执行计划,编译数data dictionary cache:oracle数据字典包含一组表和视图,oracle将他们作为数据库的引用,在其中存储了与数据库的逻辑和物理结构相关的信息用户信息;如权限等为数据库表定义的完整性约束数据库表中所有列的名称以及数据类型为模式对象分配空间及其使用情况的信息PGA包含oracle服务器进程的数据和控制信息的内存区域堆栈区: 存储会话的变量、数组等的内存空间(堆栈区保存变量信息)会话区:如果不是MTS服务器,会话信息会保持在PGA中,如过是MTS服务器,会话信息保持在SGA中(会话区保存着用户的权限等重要信息)排序区:游标区:当运行使用游标的语句时,Oracle数据库系统会在程序缓存区中间为其分配一块区域。这块区域就叫做游标区。一般来说,采用游标的语句要比其他语句的执行效率低一点。游标区是一个动态的区域,在游标打开时创建,关闭时释放。故在数据库开发时,不要频繁的打开和关闭游标可以提高游标操作的效率,改善数据库的性能。例如,当一个用户连接数据库并调用SQL语句时,这条SQL语句对应的游标就将在PGA中创建一个运行时区域,注意,这个区域是私有的,只针对调用SQL的这个用户进程。PGA就是所有服务器进程的逻辑集合。因此PGA和SGA有着质的不同。SGA用于在进程间共享信息,PGA则用于信息私有化。PGA的大小直接影响了性能,尤其针对会导致排序的SQL查询。以下几种情况需要提供足够的PGA:导致排序的操作如 ORDER BY、GROUP BY、 ROLLUP等操作哈希连接位图合并位图创建批量数据装载两个PGA建议性能视图:V$PGA_TARGET_ADVICE和V$PGA_TARGET_ADVICE_HISTOGRAM当用户需要对某些数据进行排序时,数据库是如何处理的呢?首先,数据库系统会将需要排序的数据保存到PGA程序缓存区中的一个排序区内。然后再在这个排序区内对这些数据进行排序。如需要排序的数据有2M,那么排序区内必须至少要有2M的空间来容纳这些数据。然后排序过程中又需要有2M的空间来保存排序后的数据。由于系统从内存中读取数据比从硬盘中读取数据的速度要快几千倍,如果这个排序的操作都能够在内存中完成,显然这是很理想的。设置合理的PGA_aggregate_target的值来调整排序区的大小检查点为什么要用检查点?(因为所有对数据的修改都是在块缓冲区内完成的,所以并非所有的修改都会反映到磁盘的数据块上。而缓存又是按照LRU算法实现的,如果某个缓冲区一直被修改,那么他将一直被标记为最近使用,处于LRU列表的顶端,不会被DBWR写回磁盘。)检查点进程确保脏数据能够最终被写回磁盘。oralce使用ckpt或者lgwr进程来引发检查点。检查点通过定期将脏缓冲强制写回的手段来确保这些缓冲区被写回磁盘。但是并不是说检查点期间其他工作都要停止。日志切换的时候会自动触发检查点。经常执行检查点可以减少系统故障恢复时间。两种检查点运行方式:快速检查点、标准检查点标准检查点:DBWR进程只是在每次激活的时候写回少量的缓冲区,执行时间稍长,但是对系统影响小。快速检查点:DBWR进程每次激活时写回大量的缓冲区,系统运行更快,IO效率高,但是对系统的性能影响较大。MTTRFAST_START_MTTR_TARGET中的mttr就是mean time to recovery,定义数据库进行crash恢复的时间,单位为秒。FAST_START_MTTR_TARGET=0启用自动调整的检查点它不直接影响checkpoint事件,而是当内存中脏数据需要恢复时间estimated_mttr达到fast_start_mttr_target时,才触发checkpoint。如何定义FAST_START_MTTR_TARGET参数值可查看V$mttr_target_advice试图的建议。TTR 顾问工具能够统计 MTTR 造成的额外的物理写入操作,从而协助用户评估不同 MTTR 设置对系统性能的影响。MTTR 顾问工具启用,且系统在正常负载下运行一段时间后,用户可以查询 V$MTTR_TARGET_ADVICE 视图,获得其他 MTTR 设置与当前 MTTR 设置下数据库缓存写入操作的比率后台进程DBWR负责将脏数据块从数据块缓存(database block buffer)写入磁盘。当一个事务修改数据块中的数据后,不需要将数据块立即写回磁盘。DBWR通常定时写回数据,除非数据缓冲区需要清空。数据写回时,采用最近最少使用(least-recently-used)的原则DBWR触发:出现检查点脏数据缓冲区达到阀值没有空闲缓冲区表空间offline状态表空间read only状态对表空间执行begin backup对表执行drop或者truncate出现超时执行RAC ping请求后台进程LGWR负责将日志缓冲区中的数据写入到redo log。LGWR触发:commit1/3满有1MB的redo每3秒DBWR写之前后台进程PMON负责监视数据块的处理情况,并负责清除死掉的进程。还负责重启失败的调度进程(dispatcher process)回退事务处理释放锁和其他资源后台进程SMON负责在实例启动时恢复实例、前滚日志中的修改回退未提交的事务回收临时空间还可以清除数据块中的碎片(通过合并空闲区间的方式)打开数据库供用户访问后台进程ckpt负责向DBWR进程发送信号,要求执行一次检查点,并更新数据块的所有数据文件的标头和控制文件。检查点:是由DBWR进程将所有修改过的数据缓冲区写回数据文件,是可选的进程,如果没有,则由LGWR代替后台进程ARCHn负责将在线重做日志复制到归档存储器。系统必须是归档模式,进程最多10个表连接- NESTED LOOP对于被连接的数据子集较小的情况,嵌套循环连接是个较好的选择。在嵌套循环中,内表被外表驱动,外表返回的每一行都要在内表中检索找到与它匹配的行,因此整个查询返回的结果集不能太大(大于1 万不适合)要把返回子集较小表的作为外表(CBO 默认外表是驱动表),而且在内表的连接字段上一定要有索引。Nested loop一般用在连接的表中有索引,并且索引选择性较好的时候.USE_NL(table_name1 table_name2)表连接- HASH JOIN散列连接是CBO 做大数据集连接时的常用方式优化器使用两个表中较小的表(或数据源)利用连接键在内存中建立散列表,然后扫描较大的表并探测散列表,找出与散列表匹配的行。这种方式适用于较小的表完全可以放于内存中的情况,这样总成本就是访问两个表的成本之和。但是在表很大的情况下并不能完全放入内存,这时优化器会将它分割成若干不同的分区,不能放入内存的部分就把该分区写入磁盘的临时段,此时要有较大的临时段从而尽量提高I/O 的性能。USE_HASH(table_name1 table_name2)表连接- SORT MERGE JOIN通常情况下散列连接的效果都比排序合并连接要好,然而如果行源已经被排过序,在执行排序合并连接时不需要再排序了,这时排序合并连接的性能会优于散列连接。Sort Merge join 用在没有索引,并且数据已经排序的情况.USE_MERGE(table_name1 table_name2)表连接工作方式区别三种连接工作方式比较:Nested loops 工作方式是从一张表中读取数据,访问另一张表(通常是索引)来做匹配,nested loops适用的场合是当一个关联表比较小的时候,效率会更高。Hash join的工作方式是将一个表(通常是小一点的那个表)做hash运算,将列数据存储到hash列表中,从另一个表中抽取记录,做hash运算,到hash 列表中找到相应的值,做匹配。Merge Join 是先将关联表的关联列各自做排序,然后从各自的排序表中抽取数据,到另一个排序表中做匹配,因为merge join需要做更多的排序,所以消耗的资源更多。 通常来讲,能够使用merge join的地方,hash join都可以发挥更好的性能。CR Block(consistent read) blocks 就是读一致性块ORACLE在三种条件下需要构造CR块1)查询时刻的SCN大于数据块的COMMIT SCN,即SQL 游标被打开时的SCN大于数据库上记录的SCN。2)数据块上存在LOCK3)闪回查询。RDBA(Tablespace relative database block address)RDBA是相对数据块地址,是数据字典(表空间及一些对象定义)所在块的地址。当我们想要查找某个数据的时候,发现这个数据块的版本比我们要查找的要新,那么我们只能从UNDO中去查找这个数据的前映像(PRE IMAGE),在回滚段中找到这个数据的前映像后,把前映像和CURRENT的数据块合并,就形成一个CR BLOCK,这样,通过查询CR BLOCK就可以得到一致性的数据了。这个CR BLOCK的生成不是在PGA里进行的,而是要在DB CACHE里申请一个数据块,然后生成CR BLOCK。这个CR BLOCK创建后,如果下一回还要访问这个版本的数据块,那么就不需要创建新的CR BLOCK,而直接可以使用以前创建的CR BLOCK了。每创建一个CR BLOCK,CR BLOCKS CREATED计数器就会增加1。由于CR BLOCK和CURRENT BLOCK的RDBA都是相同的,因此它们会被放到相同的HASH链上。因此如果某些BLOCK的CR BLOCK的版本过多,也会导致BUFFER CACHE CHAINS闩锁竞争加剧。如果在生成CR BLOCK的过程中,发现UNDO中的PRE IMAGE由于提交的时间比较长,已经被覆盖,那么,就会出现著名的ORA-1555。如果单位时间内CR BLOCKS CREATED较大,那么应该检查系统的CPU资源是否出现瓶颈,另外要注意检查BUFFER CACHE相关的闩锁,是否存在竞争。索引oracle的标准索引结构是Btree结构,一个Btree结构由三种block组成根块(root block):在Btree里有且只有一个block,所有访问索引都从这开始,root block下有很多child blocks。分支块(Branch blocks):这是中间层,branch block是没有什么限制的,它是随着leaf block的增加而增加的,branch block一般是4层,如果多于4层,就影响性能了。在我们删除行时,branch block是不被删除的。叶块(leaf block):叶块是最底层,上面存储着索引条目和rowid索引和表数据是级联关系的,当删除表数据的时候,索引条目也会被自动删除,这样在index leaf block就会产生碎片,这也就是在OLTP系统上有大量更新的表上不建议创建大量的索引,很影响性能有的人说删除过的索引条目空间不会被再用,因为在应用中不会再有insert相同的数据。其实这个说法不完全对的,除了半空叶块外,其他的删除的索引空间是可被再利用的。索引建立的原则1、表的主键、外键必须有索引;2、数据量超过300的表应该有索引;3、经常与其他表进行连接的表,在连接字段上应该建立索引;4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;5、索引应该建在选择性高的字段上;6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:A、正确选择复合索引中的主列字段,一般是选择性较好的字段;B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;8、频繁进行数据操作的表,不要建立太多的索引;9、删除无用的索引,避免对执行计划造成负面影响;索引的集群因子就是通过一个索引访问一个表需要扫描多少个数据块。计算方法:1、扫描一个索引2、比较某行的rowid和前一行的rowid,如果这两个rowid不属于同一个数据块,那么集群因子+13、整个索引扫描结束就得到集群因子数它反映的是索引扫描可能会带来的I/O开销情况。如果集群因子接近表存储的块数,说明这张表是按照索引的顺序存储的。如果集群因子接近行的数量,那么说明这张表不是按照索引字段顺序存储的。在计算索引访问成本时,集群因子乘以选择性参数就是访问的开销如果这个统计数据不能反映出索引的真实情况,那么可能会造成优化器错误的选择执行计划。另外如果某张表上的大多数访问是按照某个索引做索引扫描,那么将该表的数据按照索引的字段重新组织,可以提高表的访问性能死锁死锁处理是oracle锁处理机制中的一个亮点。一般来说死锁是难以避免的,除非在应用访问的时候做了严格的定义,对事务访问的数据源进行分级,按照级别访问。由于在应用开发中避免死锁十分困难,索引绝大多数应用都是依靠oracle的死锁处理机制来处理死锁。oracle会自动进行死锁检测,一旦发现自动解开。应用程序可能碰到一个ora 60的错误,可能就是死锁检测机制起作用了。在rac环境下,要做全局的死锁检测,由LMD进程负责死锁检测。LMD进程检测死锁的周期由参数_lm_dd_interval确定,这个值默认是60sDLD(死锁检测)的时候需要持有parent enqueue hash chains闩锁,因为DLD需要对每个资源进行一次检查,查找那些从上回检查过后状态一直没有变化的资源,才可能发现那些出现死锁的资源。由于资源的数量问题,可能导致检查的开销比较大。出现系统hang住的情况也是可能的。这时候解决方法是关闭转储。回滚段oracle使用回滚段的特点:一个事务只使用一个回滚段来记录所有的回滚记录多个事务可以写入相同的扩展扩展被循环使用,任何一个扩展都不会被跳过如果不能使用下一个扩展,oracle会分配一个新的扩展,并插入这个循环oracle不会使用被尾部占据的扩展oracle根据如下原则来选择一个回滚段:oracle会选择当前事务数最少的回滚段如果有两个以上的回滚段内当前有相同的事务数,那么oracle会根据上一个事务使用的回滚段号,选择比这个回滚段号大的下一个顺位的回滚段。当前2,1和4待定,那么4被选择。Db_name对一个数据库(Oracle database)的唯一标识。这种表示对于单个数据库是足够的,但是随着由多个数据库构成的分布式数据库的普及,这种命令数据库的方法给数据库的管理造成一定的负担,因为各个数据库的名字可能一样,造成管理上的混乱。为了解决这种情况,引入了Db_domain参数,这样在数据库的标识是由Db_name和Db_domain两个参数共同决定的,避免了因为数据库重名而造成管理上的混乱。这类似于互连网上的机器名的管理。我们将Db_name和Db_domain两个参数用.连接起来,表示一个数据库,并将该数据库的名称称为Global_name,即它扩展了Db_name。Db_name参数只能由字母、数字、_、#、$组成,而且最多8个字符。查看方式:show parameter db_name;Global_name对一个数据库(Oracle database)的唯一标识,oracle建议用此种方法命令数据库。该值是在创建数据库是决定的,缺省值为Db_name. Db_domain。在以后对参数文件中Db_name与Db_domain参数的任何修改不影响Global_name的值,如果要修改Global_name,只能用ALTER DATABASERENAME GLOBAL_NAME TO db_name.db_domain。查看方式:showparameter global_name;Db_domain定义一个数据库所在的域,域只是为了更好的管理分布式oracle系统。查看方式:show parameter db_domain;Service_name该参数是oracle8i新引进的。在8i以前,我们用SID来表示标识数据库的一个实例,但是在Oracle的并行环境中,一个数据库对应多个实例,这样就需要多个网络服务名,设置繁琐。为了方便并行环境中的设置,引进了Service_name参数,该参数对应一个数据库,而不是一个实例,而且该参数有许多其它的好处。该参数的缺省值为Db_name. Db_domain,即等于Global_name。一个数据库可以对应多个Service_name,以便实现更灵活的配置。该参数与SID没有直接关系,即不必Service name 必须与SID一样。查看方式:show parameter service_name;监听参数o LISTENER 指出一个监听器定义的起始点。它实际上是正被定义的当前监听器的名称。默认的名称是LISTENER。o DESCRIPTION 描述每个监听位置o ADDRESS_LIST 含有与监听器正在监听的那些位置有关的地址信息o PROTOCOL 指定用于本监听位置的协议o HOST 保存监听器所驻留在的那台计算机的名称o PORT 含有监听器正在上面监听的地址o SID_LIST_LISTENER 定义配置监听器所针对的ORACLE服务的列表o GLOBAL_DBNAME 标识全局数据库名称。本项应该与当前Oracle服务的init.ora文件中的SERVICE_NAMES项一致o ORACLE_HOME 给出服务器上Oracle可执行程序的位置o SID_NAME 含有用于本Oracle实例的Oracle SID的名称o SID_LIST_LISTENER 定义配置监听器所针对的ORACLE服务的列表o Lsnrctl命令用来管理Oracle监听器,是一个命令行界面。想调用这个命令行工具,在命令行键入lsnrctl即可。可以在LSNRCTL提示符下键入help来显示这些命令的一份清单。o Services 列举出服务的一个汇总表及为每个协议服务处理程序所建立和拒绝的连接信息个数o Start listener 启动指定的监听器o Status listener 显示指定监听器的状态o Stop listener 关闭指定的监听器o Trace 打开监听器的跟踪特性0-16o Version 显示Oracle Net软件与协议适配器的版本o Change_password 允许用户修改关闭监听器所需要的密码o Reload 重新读取listener.ora文件,但不关闭监听器。如果该文件发生了变化,重新刷新监听器。o Save_config 当从lsnrctl工具中对listener.ora文件进行了修改时,复制一个叫做listener.bak的listener.ora文件o Exit 退出lsnrctl实用工具o Quit 执行和exit相同的功能Net service name网络服务名,又可以称为数据库别名(database alias)。是客户端程序访问数据库时所需要,屏蔽了客户端如何连接到服务器端的细节,实现了数据库的位置透明的特性。查看方式:show parameter Net service name;recrusive callsrecrusive calls表示对recrusive SQL的调用次数,这里的recrusive SQL可能专门是指对system表空间里的对象所做的递归SQL。当数据字典信息已经加载到dictionary cache以后,就不需要对硬盘上的system表空间做操作了,直接内存操作。所以就不算到recrusive calls了行迁移和行连接行连接是指一个行存储在多个块中的情况,因为一个该行的长度超过了一个块的可用空间大小。行迁移是指一个数据行不适合放入当前块而被重新定位到另一个块,但在原始块中保留一个指针,原始块中的指针是必需的两者之间的区别: 行连接是指一个行存储在多个块中的情况,因为一个该行的长度超过了一个块的可用空间大小。行迁移是指一个数据行不适合放入当前块而被重新定位到另一个块,但在原始块中保留一个指针,原始块中的指针是必需的,因为索引的rowid项仍然指向原始位置.行连接通常与行的长度和oracle数据库块中的大小有关,而行迁移通常是当一个更新操作的长度增加且又要保持该行在同一块中,而该块又缺少可用空间时产生的问题,oracle在决定行连接之前先试图进行行迁移。ROWID存储了row在数据文件中的具体位置:64位编码的数据,A-Z, a-z, 0-9, +, 和 /,row在数据块中的存储方式SELECT ROWID, last_name FROM hr.employees WHERE department_id = 20;比如:OOOOOOFFFBBBBBBRRROOOOOO:data object number, 对应dba_objects.data_object_idFFF:file#, 对应v$datafile.file#BBBBBB:block#RRR:row#Dbms_rowid包SELECT dbms_rowid.rowid_block_number(AAAGFqAABAAAIWEAAA) from dual;具体到特定的物理文件存储raidRAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能。RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能RAID 1又称为Mirror或Mirroring,它的宗旨是最大限度的保证用户数据的可用性和可修复性。 RAID 1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID 1提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而,Mirror的磁盘空间利用率低,存储成本高。RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。RAID0+1:正如其名字一样RAID 0+1是RAID 0和RAID 1的组合形式,也称为RAID 10。RAID 0+1是存储性能和数据安全兼顾的方案。它在提供与RAID 1一样的数据安全保障的同时,也提供了与RAID 0近似的存储性能。由于RAID 0+1也通过数据的100%备份提供数据安全保障,因此RAID 0+1的磁盘空间利用率与RAID 1相同,存储成本高。RAID 0+1的特点使其特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、仓储库房、各种档案管理等。RAID 0: RAID 0 并不是真正的RAID结构, 没有数据冗余。 RAID 0 连续地分割数据并并行地读/写于多个磁盘上。 因此具有很高的数据传输率。 但RAID 0在提高性能的同时,并没有提供数据可靠性,如果一个磁盘失效, 将影响整个数据.因此RAID 0 不可应用于需要数据高可用性的关键应用。RAID 1: RAID 1通过数据镜像实现数据冗余, 在两对分离的磁盘上产生互为备份的数据。 RAID 1可以提高读的性能,当原始数据繁忙时, 可直接从镜像拷贝中读取据.RAID 1是磁盘阵列中费用最高的, 但提供了最高的数据可用率。当一个磁盘失效, 系统可以自动地交换到镜像磁盘上, 而不需要重组失效的数据。RAID 5:RAID 5没有单独指定的奇偶盘, 而是交叉地存取数据及奇偶校验信息于所有磁盘上。 在RAID5 上, 读/写指针可同时对阵列设备进行操作, 提供了更高的数据流量。 RAID 5更适合于小数据块,随机读写的数据.RAID 3与RAID 5相比, 重要的区别在于RAID 3每进行一次数据传输,需涉及到所有的阵列盘。而对于RAID 5来说, 大部分数据传输只对一块磁盘操作, 可进行并行操作。在RAID 5中有“写损失”, 即每一次写操作,将产生四个实际的读/写操作, 其中两次读旧的数据及奇偶信息, 两次写新的数据及奇偶信息。ASMAutomatic Storage Management.ASM的本质就是由Oracle管理的一个文件系统,它只能被Oracle对象使用。Oralce为ASM分配了一组磁盘驱动器,并对这些设备进行管理。ASM用它分配到的一组磁盘驱动器创建ASM磁盘组ASM组与文件系统类似,也可以保存多种数据存储对象,如表空间,重做日志组,归档日志,备份ASM还支持磁盘分条(disk striping) 以及容错(fault tolerance).但是如果已经使用硬件容错的话,就不要使用ASM容错出于容错与性能的双方面的考虑。ASM使用一个小的oracle实例来管理ASM设备,这个实例称为ASM实例。使用ASM设备之前必须先启动和运行ASM实例。ASM可以容纳的磁盘空间非常大:一个存储系统中最多可以包含10000个ASM磁盘每个ASM磁盘最多可以包含4P个字节每个磁盘组最多可以包含1百万个文件每个文件最多可以包含2.4T个字节
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!