首页 Oracle数据库规划设计和运行维护方案

Oracle数据库规划设计和运行维护方案

举报
开通vip

Oracle数据库规划设计和运行维护方案Preparedon24November2020Oracle数据库规划设计和运行维护方案Oracle数据库规划设计和运行维护方案()目录前言编写目的随着以使用Oracle数据库的应用系统不断增加,为了加强应用系统在规划、开发、实施、维护等环节工作的规范化,特编写本文档,力求对实际的设计、实施工作起到规范和指导作用。本方案以设计者的角度进行组织编写,其主要思路是:作为设计人员首先要了解数据库系统的运行模式,如何选择运行模式,其次要考虑系统的规划设计因素,有针对性的做好数据库的设计,提高数据库的性能,并对系统开发也提出...

Oracle数据库规划设计和运行维护方案
Preparedon24November2020Oracle数据库规划 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 和运行维护 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 Oracle数据库规划设计和运行维护方案()目录前言编写目的随着以使用Oracle数据库的应用系统不断增加,为了加强应用系统在规划、开发、实施、维护等环节工作的 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 化,特编写本文档,力求对实际的设计、实施工作起到规范和指导作用。本方案以设计者的角度进行组织编写,其主要思路是:作为设计人员首先要了解数据库系统的运行模式,如何选择运行模式,其次要考虑系统的规划设计因素,有针对性的做好数据库的设计,提高数据库的性能,并对系统开发也提出相关要求。方案说明本方案分为两大部分,其中第一部分是第二到七章,主要介绍Oracle数据库的运行方式和规划设计以及与开发相关内容;第二部分是第八到十二章,主要介绍数据库的日常运行维护相关的内容。第一部分偏重于规划和开发,第二部分偏重于实际管理及命令。其中:第二章介绍了Oracle数据库的部署运行方式;第三章介绍了业务系统特点和数据库的类型规模以及部署前的建议;第四章介绍了数据库运行的物理环境的配置规划;第五章介绍了Oracle数据库的安装部署规划以及命名原则;第六章介绍了数据库的应用规划;第七章介绍了系统开发的建议;第八章介绍数据库的体系架构;第九章介绍数据库的基本管理方法;第十章介绍了数据库集群的管理;第十一章介绍了数据库的备份和恢复;第十二章介绍了数据库的日常运行维护管理。本方案编写过程中注重实际的可操作性,所提出的建议尽量覆盖系统生命周期中的各个关键点。其中所涉及的参数和指标对系统的建设和运营起指导作用,但是在实际工作中,每个系统都有各自的特点,所以建议在初期对系统进行初始配置后,应根据系统的实际运行状态进行相应调整。预期读者项目基础设施可行性研究、设计和实施人员,项目组系统设计开发人员,相关运行维护技术人员。数据库部署模式单机模式数据库服务器采用单服务器模式,满足对可用性和性能要求不高的应用,具备以下特点:1、硬件成本低。单节点,硬件投入较低,满足非重要系统的需求。2、安装配置简单。由于是单节点、单实例,所以安装配置比较简单。3、管理维护成本低。单实例,维护成本低。4、对应用设计的要求较低。由于是单实例,不存在RAC系统应用设计时需要注意的事项,所以应用设计的要求较低。5、可用性不高。由于是单服务器、单实例,所以服务器和实例的故障都会导致数据库不可用。6、扩展性差。无法进行横向扩展,只能进行纵向扩展。当应用对性能有更高的要求时,该模式的数据库服务器无法进行增加节点、实例等横向扩展,只能进行增加硬件配置等纵向扩展,且扩展性有局限。7、根据该模式的特点有如下要求:1)硬件配置方面预留扩展量。由于该模式无法进行横向扩展,所以在选择硬件配置时要为以后的纵向扩展预留扩展量,避免硬件无法满足性能需求的情况。2)充分考虑该模式是否满足应用未来一段时间的需求。需要考虑应用在未来一段时间是否会发生变化,该模式是否满足应用变化的需求。双机热备模式(HA模式)数据库服务器采用双机热备模式,可以满足对可用性有一定要求的应用,具备以下特点:1、需要冗余的服务器设备。该模式需要有冗余的服务器硬件,以满足一备一或者一备多的需求。硬件成本较高。2、需要HA软件的支持。该模式需要配合HA软件才可以实现。3、安装配置相对简单。该模式比单节点、单实例的模式配置复杂一些,需要更多的配置步骤,但相比较RAC、DATAGUARD等模式要简单。4、管理维护成本低。单实例,对维护人员的要求较低,维护成本低。5、对应用设计的要求较低。由于是单实例,不存在RAC系统应用设计时需要注意的事项,所以应用设计的要求较低。6、具备一定的高可用性。由于是多服务器、单实例,所以服务器和实例有故障时会发生实例在不同服务器上的切换,导致数据库的暂时不可用。无法满足对可用性有严格要求的应用类型。7、扩展性差。无法进行横向扩展,只能进行纵向扩展。当应用对性能有更高的要求时,该模式的数据库服务器无法进行增加节点、实例等横向扩展,只能进行增加硬件配置等纵向扩展,且扩展性有局限。根据该模式的特点有如下要求:1)硬件配置方面预留扩展量。由于该模式无法进行横向扩展,所以在选择硬件配置时要为以后的纵向扩展预留扩展量,避免硬件无法满足性能需求的情况。2)充分考虑该模式是否满足应用未来一段时间的需求。需要考虑应用在未来一段时间是否会发生变化,该模式是否满足应用变化的需求。集群模式(RAC)数据库服务器采用RAC模式,满足对高可用性要求高的应用类型,具备以下特点:1、需要多个硬件服务器。根据节点的个数,相应的需要多个硬件服务器。硬件成本较高。2、某些数据库版本需要HA软件的支持。该模式下,某些数据库版本需要配合HA软件才可以实现。3、安装配置复杂。该模式比起单实例模式,安装配置相对复杂,安装配置周期长。4、管理维护成本高。该模式的管理维护,对管理维护人员的要求较高,管理维护成本较高。5、对应用设计的要求较高。需要充分考虑业务的逻辑性,以避免在多节点之间的信息交换和全局锁的产生。6、具备较高的高可用性。由于是多服务器、多实例,单服务器和实例有故障不会影响数据库的可用性。可以满足对可用性有严格要求的应用类型。7、扩展性好。既可以进行横向扩展,也可以进行纵向扩展。当应用对性能有更高的要求时,该模式的数据库可以通过增加节点的方式进行横向扩展,也可以通过增加硬件配置等纵向扩展,具备良好的扩展性。根据该模式的特点有如下要求:1)硬件配置方面预留扩展量。预留一定的硬件扩展量,可以更灵活的进行扩展。2)在应用设计时,充分考虑业务逻辑,减少多节点间的信息交换量,更好的发挥RAC的优点。主从模式(DataGuard)数据库服务器采用DataGuard主从模式,可以满足对可用性有特殊需求的应用,具备以下特点:1、需要冗余的服务器设备。该模式需要有冗余的服务器硬件。硬件成本较高。2、需要冗余的存储设备。主机和备机都需要同样的存储空间,成本较高。3、安装配置比较复杂。该模式比单节点、单实例的模式配置复杂一些,需要更多的配置步骤。4、管理维护成本高。该模式对维护人员的要求较高,维护成本高。5、具备一定的容灾特性。当主机整个数据库系统不可用并短期内无法恢复时,可以把数据库系统切换到备机上,具备容灾的功能。6、备机可以用作只读查询。备机可以切换到只读状态供报表之类的查询操作,减轻主机的压力。根据该模式的特点有如下要求:1)主机与备机在物理上要分开。为了实现容灾的特性,需要在物理上分割主机和备机。2)进行合理的设计,充分实现DATAGUARD的功能。混合模式(DataGrard+RAC)数据库服务器采用DataGuard+RAC模式,可以满足对可用性和容灾都有特定需求的应用,具备以下特点:1、需要冗余的服务器设备。该模式需要有冗余的服务器硬件。硬件成本较高。2、需要冗余的存储设备。主机和备机都需要同样的存储空间,成本较高。3、安装配置比较复杂。该模式既需要配置RAC又需要配置DATAGUARD,配置过程比较复杂,配置周期长。4、管理维护成本高。该模式对维护人员的要求较高,维护成本高。5、具备很高的可用性和容灾性。该模式既满足高可用性也满足容灾的需求。6、备机可以用作只读查询。备机可以切换到只读状态供报表之类的查询操作,减轻主机的压力。根据该模式的特点有如下要求:1)主机与备机在物理上要分开。为了实现容灾的特性,需要在物理上分割主机和备机。2)进行合理的设计,充分实现DataGuard的功能。数据库运行模式选择在设计数据库时必须考虑系统的可用性、业务连续性,针对系统所能容忍的最大业务中断时间(RTO)和最大数据丢失数量(RPO)需求,采用不同的数据库部署模式:1、系统不能中断且不允许数据丢失的业务,建议数据库采用集群或混合模式,数据库单台设备故障时对业务没有影响,并考虑灾备系统的设计。2、对于允许以分钟级别中断,数据不能丢失的系统,建议数据库采用双机热备或主从的模式,设备故障时通过HA技术切换到备用设备,保证系统的可用性,对重要的系统要考虑灾备的设计。3、对于允许以天为级别中断的业务系统,建议可采用双机热备模式,或单机。4、对非关键系统、开发环境、测试环境,建议采用PC服务器、冷备或单机的模式。系统特点和数据库类型业务系统的特点业务系统处理数据的特点决定了设计人员规划和创建什么样的数据库,通常来说,业务分为两类:在线事务处理系统(OLTP)和在线分析系统(OLAP)或者DSS(决策支持系统)。这两类系统在数据库的设计上是不同的,比如OLTP系统强调数据库的内存效率,强调各种内存指标的命中率,强调绑定变量,强调并发操作:而OLAP系统则强调数据分析,强调SQL执行时长,强调磁盘I/O,强调分区等。OLTP特点通常OLTP(在线事务处理系统)的用户并发数很多,但只对数据库做很小的操作,数据库侧重于对用户操作的快速响应,这是对数据库最重要的性能要求。对于一个OLTP系统来说,数据库内存设计非常重要,如果数据都可以在内存中处理,那么数据库的性能会提高很多。内存的设计通常是通过调整Oracle和内存相关的初始化参数来实现的,比较重要的几个是内存相关的参数,包括SGA的大小(DataBuffer,SharedPool),PGA大小(排序区,Hash区等)等,这些参数对一个OLTP系统是非常重要的。OLTP系统是一个数据块变化非常频繁,SQL语句提交非常频繁的一个系统。对于数据块来说,应尽可能让数据块保存在内存当中,对于SQL来说,尽可能使用变量绑定技术来达到SQL的重用,减少物理I/O和重复的SQL解析,能极大的改善系统的性能。此外,没有绑定变量的SQL会对OLTP数据库造成极大的性能影响,还有一些因素也会导致数据库的性能下降,比如热块(hotblock)的问题,当一个块被多个用户同时读取的时候,Oracle为了维护数据的一致性,需要使用Latch来串行化用户的操作,当一个用户获得了这个Latch,其他的用户就只能被迫的等待,获取这个数据块的用户越多,等待就越明显,就造成了这种热块问题。这种热块可能是数据块,也可能是回滚段块。对于数据块来讲,通常是数据块上的数据分布不均匀导致,如果是索引的数据块,可以考虑创建反向索引来达到重新分布数据的目的,对于回滚段数据块,可以适当多增加几个回滚段来避免这种争用。OLAP特点OLAP数据库在内存上可优化的余地很小,但提升CPU处理速度和磁盘I/O速度是最直接的提高数据库性能的方式。实际上,用户对OLAP系统性能的期望远远没有对OLTP性能的期望那么高。对于OLAP系统,SQL的优化显得非常重要,如果一张表中只有几千数据,无论执行全表扫描或是使用索引,对用户来说差异都很小,几乎感觉不出来,但是当数据量提升到几亿或者几十亿或者更多的时候,全表扫描,索引可能导致极大的性能差异,因此SQL语句的优化显得重要起来。分区技术在OLAP数据库中很重要,这种重要主要是体现在数据管理上,比如数据加载,可以通过分区交换的方式实现,备份可以通过备份分区表空间,删除数据可以通过分区进行删除。数据库的规模对于数据库的规模,仅从数据量来衡量其规模的大小。因为数据量的规模是反映数据库规模的主要指标。具体如下:1)数据库业务数据量小于100GB属小规模数据库2)数据库业务数据量1TB以内属中大规模数据库3)数据库业务数据量大于1TB属大规模数据库数据库版本建议Oracle数据库产品推出新的主要版本后,要经历一个版本不稳定期。在此期间新版的数据库产品存在较多的bug。在安装和运行过程中,会存在数据库安装困难和运行不稳定现象。因此在选择版本时,要选择成熟稳定的版本。数据库运行环境规划根据用户需求在业务系统前期的实施规划上,需要做好详细的规划设计,包括主机、网络和存储环境规划等,要将整个软硬件融为一体,充分考虑系统的安全性,可靠性,高可用性等因素,只有一个规划好的系统才能充分发挥其优于单节点的优势,同时也为后期的运维管理提供方便。在评估数据库服务器性能时,最困难的事情是如何把握准确度问题,到底考虑哪些因素等。理想情况下,应考虑下列要素:交易的复杂性、交易率、数据读/写比例、并发连接数目、并发交易数目、数据库最大表的大小、性能度量的目标。主机规划主机规划主要需考虑服务器在不同的用户数量下,系统的响应时间和吞吐量,并得出当前服务器的各种资源的利用情况。在规划系统配置时要预留做系统管理时所消耗的资源,如在做备份、恢复、问题诊断、性能分析、系统维护时都会对系统资源带来额外的消耗,对重要资源要考虑为将来留下升级和可扩展的余地。在进行服务器配置规划时,要注意以下几点:1)CPU:要考虑业务高峰时处理器的能力,并适当保留一些缓冲,确保在业务增长时,系统有扩展的余地。2)内存:要为运行在此服务器的所有应用软件考虑内存,所需要的内存主要依赖于用户数、应用程序类型、进程的方式、和应用程序处理的数据量决定。3)磁盘:评估业务的实际用户的数据量,以此推算出磁盘的最小个数,不要忘记选择备份设备(如磁带机)。4)IO槽:尽量保留更多的IO槽,防止将来插更多的PCI卡。5)网络:选择合适的网卡,保证网络不是系统的瓶颈。数据库服务器优先考虑使用小型机和UNIX操作系统,但是当前用户大都选择PC服务器和Linux操作系统,推荐的数据库服务器配置如下:处理器:核心不低于24,主频不低于,三级缓存不低于30MB。内存:容量不低于256G,DDR4频率不低于2133MHz,支持ECC纠错、内存镜像、内存热备等功能。存储:双盘,单盘容量不低于300GB,支持RAID。网卡和HBA卡:2个千兆网口,2个万兆网口,2个FC接口。网卡进行绑定。操作系统:Linux。网络规划网络规划的基本原则就是将业务生产网络、存储网络和管理网络分开,推荐在生产网络使用万兆网,存储使用SAN存储网络,管理网可使用千兆网。对于数据库单机模式、HA双机模式以及主备模式的生产环境,主要基本符合网络规划的基本原则即可。对于集群模式,因Oracle有其特殊要求,所以在结合网络规划基本原则的基础上,可进行细化实施。在Oracle11gR2中,安装RAC发生了显着变化。在10g以及11gR1的时代,安装RAC的步骤是先安装CRS,再安装DB,而到了11gR2的时代,crs与asm被集成在一起,合称为GRID,必须先安装GRID后,才能继续安装DB。本方案以主流的ORACLE11gR2RAC的网络规划为例进行详细说明。假设服务器上有4块网卡:eth0,eth1,eth2,eth3.可以将eth0和eth2绑定成bond0。作为RAC的public-ip,提供外部通信。然后将eth1和eth3绑定成bond1,作为RAC的private-ip,提供内部心跳通信。服务器上的HBA卡通过光纤交换机与后端存储通信。公有IP和虚拟IPOracleRAC中每个节点都有一个虚拟IP,简称VIP,与公网PUBLICIP在同一个网段。VIP附属在public网口接口。VIP和PUBLICIP最主要的不同之处在于:VIP是浮动的,而PUBLICIP是固定的。在所有节点都正常运行时,每个节点的VIP会被分配到publicNIC上;在linux下ifconfig查看,public网卡上是2个IP地址;如果一个节点宕机,这个节点的VIP会被转移到还在运行的节点上。也就是幸存的节点的publicNIC这个网卡上,会有3个IP地址。PUBLICIP地址是一个双网卡绑定的公有地址,用户通过交换机来进行访问。RAC中的私有IPRAC中的Private私有IP用于心跳同步,这个对于用户层面,可以直接忽略。简单理解,这个IP用来保证数据库节点同步数据用的,属于RAC内部之间通信。priv与public不应同属一个接口。Metalink上的RAC文档是推荐使用交换机作为内部网卡的连接,而不使用交叉线,原因是避免因为对连节点关闭或重启而导致网卡检查到链接故障状态而删除绑定的协议。导致高速缓存合并网络将会变为不可用。SCANIP在11gR2中,SCANIP是作为一个新增IP出现的,SCANIP其实是Oracle在客户端与数据库之间,新加的一个连接层,当有客户端访问时,连接到SCANIPLISTENER,而SCANIPLISTENER接收到连接请求时,会根据LBA算法将该客户端的连接请求,转发给对应的instance上的VIPLISTENER,从而完成了整个客户端与服务器的连接过程。简化如下:client->scanlistener->locallistener->localinstance也可以把scan理解为一个虚拟主机名,它对应的是整个RAC集群。客户端主机只需通过这个scanname即可访问数据库集群的任意节点。当然访问的节点是随机的,Oracle强烈建议通过DNSServer的roundrobin模式配置解析SCAN,实现负载均衡(即轮换连接SCAN对应的IP地址)。存储规划数据库一般使用磁盘阵列(RAID)保存数据,使用磁盘阵列有两个优点:首先,盘阵可以提供一个具有容错能力的I/O系统,当系统中某个磁盘驱动器出现故障时,可避免丢失数据,因此具有容错能力;其次,允许多个但磁盘驱动器配置成为一个大的虚拟磁盘驱动器,从而方便管理,提高性能。盘阵RAID方式分为RAID0,RAID1,RAID10,RAID2,RAID3,RAID4,RAID5等,其逻辑和物理组合方式各有差异。基于Oracle数据库配置RAID系统,有以下几种解决方案:1、最佳解决方案对容错能力最好的解决方案就是最大限度地使用RAID1和RAID10,规划部署时遵循以下原则:1)对操作系统和Oracle程序使用RAID1;2)对数据库重做日志文件使用RAID1,可以优化性能;3)对归档日志文件使用RAID01,既能保护数据,又不会影响性能;4)对数据文件使用RAID10,并使用多个磁盘驱动器以保证不超过单块盘的负载。2、较好的解决方案对于容错能力,较好的解决方案是混合使用RAID10和RAID5,遵循以下原则:1)对操作系统和Oracle程序使用RAID1;2)对数据库重做日志文件共享一个RAID1或RAID10;3)对归档日志文件可使用RAID10或RAID5,这两种方式均可保护数据且不影响性能;4)对数据文件使用RAID10,并使用过个磁盘驱动器以保证不超过单个磁盘负载。混合使用RAID10和RAID5可实现很好的性能,容错能力也很高。3、经济型解决方案对容错能力,此方案使用RAID1和RAID5,遵循以下原则:1)对操作系统和Oracle程序使用RAID1;2)对重做日志文件使用RAID1;3)对归档日志文件使用RAID10或RAID5;4)对数据文件使用RAID5或RAID0,其中RAID0用来提供必要的性能,并使用过个磁盘驱动器以保证不超过单盘的负载。此方案提供的系统性能比前两个方案要低,其价格是优势。在进行存储规划时,需要特别注意:1)若系统没有使用容错功能,那么只要有一块磁盘驱动器发生故障,就必须恢复整个数据库;2)容错磁盘不能替代数据库备份策略;3)系统可能会发生变化,要紧跟用户的需求;4)以上的解决方案都要考虑磁盘驱动器的数量,应具备足够数量的磁盘驱动器以防系统瓶颈的产生;5)对于硬件的保护不仅仅是磁盘驱动器,还包括冗余电源,磁盘控制卡和风扇等等,如果存储系统没有冗余机制,则这其中任何一项故障都会导致业务系统停机和丢失数据等损失。数据库安装部署规划软件安装路径建立单独的文件系统来安装数据库软件,且文件系统的mount点不要直接建立在根目录下。安装路径:/home/db/oracle各种环境变量设置:ORACLE_BASE=/home/db/oracleCRS_HOME=/home/db/oracle/crs/{数据库release版本}ORACLE_HOME=/home/db/oracle/product/{数据库release版本}普通使用模式的Oracle数据库的服务名和实例名(SID)是相同的;RAC模式下的Oracle数据库的服务名与实例名不同。数据库服务名的命名格式为:XXXYYdb{m}数据库的SID的命名格式为:XXXYYdb{m}{n}说明:1、其中XXX表示长度为3个字符的应用项目缩写,具体的见相关设计文档。2、YY:代表数据库用途,pd代表生产库,hi代表历史库,rp代表报表库,cf代表配置库;3、m表示数据库序号,从0-9,根据项目的数据库数量进行编号。4、n表示RAC节点实例序号1,2,3……。用以区分多节点的RAC数据库的不同实例。对于普通模式的数据库,该位不指定。表空间设计业务数据量估算估算所有业务对象下的所有表的尺寸。数据量估算的前提:1)数据库的物理表结构已经确定,并且设计已凝固。2)用户方提供较为准确的估算依据,例如业务变动的频率、数据需要保存的周期等。该表是一个示例,可根据业务的不同有所变化。序号表名增长量(/小时/天/周)增长量(/月/半年)年数据量数据库生命周期内的总计合计新上线或扩容时,对所申请的存储不得全部一次性挂上,应该预留出30%左右的空间用于追加,以防止出现业务发展和预期不一致时剩余空间多寡不均,调整困难。操作系统上应该预先做好几个合适大小的逻辑卷备用,包括用于system/sysaux等表空间的小尺寸的逻辑卷和用于数据表空间、索引表空间的大尺寸逻辑卷,这些逻辑卷要求在HA两边主机都可见,不必单纯因为数据库增加数据文件而需要重新同步HA。表空间使用 规则 编码规则下载淘宝规则下载天猫规则下载麻将竞赛规则pdf麻将竞赛规则pdf 目前多数数据库系统采用数据“大集中”原则,对数据库的性能要求较高。这就要求对数据库进行必要的优化配置。在表空间的配置上,应遵循以下原则:1、最小化磁盘I/O。2、在不同的物理磁盘设备上,分配数据。3、尽可能使用本地管理表空间。多数系统采用RAID1+0或RAID0+1,该技术很好的解决了最小化磁盘I/O。基本不必考虑在不同的物理磁盘设备上,分配数据的原则。表空间的类型按照表空间所包含的数据文件类型,Oracle表空间类型有三类:1、数据表空间(permanencetablespace):用来保存永久数据,包含永久数据文件。强烈建议在永久表空间内创建永久数据文件,不要创建临时数据文件。2、临时表空间(temporarytablespace):用来保存临时数据,多用于数据的磁盘排序。强烈建议在临时表空间内创建临时数据文件,不要创建永久数据文件。3、回滚表空间(rollback/undotablespace):仅用来保存回退信息。不能在该表空间创建其他类型的段(如表、索引等)。为了更好的管理表空间,同时提高Oracle数据库系统性能,在上述三类基础上,针对数据的业务功能,进一步对其加以分类。因此Oracle数据库的表空间划分为基本表空间和应用表空间。如下表:1)基本表空间:是指Oracle数据库系统为其自身运行而使用的表空间。表空间类别表空间名称存储内容说明数据表空间SYSTEM表空间存储oracle数据库系统数据字典对象Oracle数据库系统自身生成的和使用—基本表空间数据表空间SYSAUX存储SYSAUX数据Oracle数据库系统自身生成的和使用—基本表空间回滚表空间UNDO表空间容纳回滚数据如果UNDO表空间是自动管理,则Oracle数据库系统自身生成的。生产数据库不得有如TOOLS、XDB、EXAMPLE等oracle默认安装表空间。2)应用表空间:是指业务应用数据保存在此类表空间中。它由DBA或相关的数据库规划设计人员创建和规划。表空间类别表空间名称存储内容说明临时表空间TEMP表空间容纳排序数据由DBA设定—应用表空间数据表空间TABLES表空间存储小数据表公用业务数据由DBA设定—应用表空间数据表空间TABLESPARTITION表空间存储巨型表数据由DBA设定—应用表空间数据表空间INDEXS表空间存储小数据表的索引由DBA设定—应用表空间数据表空间INDEXSPARTITION表空间存储巨型数据表的索引由DBA设定—应用表空间数据表空间LOB表空间存储LOB的数据由DBA设定—应用表空间表空间和数据文件的命名规则数据文件都使用裸设备方式,使用固定大小,不得设置为自动扩展。1、基本表空间及其文件命名规范表空间名称裸设备连接文件名普通文件名说明SYSTEMrsystem_nn_size总空间大小设置为2GSYSAUXrsysaux_nn_sizeOracle10g中必须有的表空间。总空间大小设置为4G,如果空间非常紧张,可设置为2GUNDOTBS1rundotbs_nn_size总空间不小于8GTEMPrtemp_nn_size总空间不小于4G说明:裸设备连接文件名nn为从01开始计数的序号,表示文件的个数。如:01,02,03,04……size表示了设备的大小,由数字部分和单位部分组成:XU。其中,X是一个正整数,取值范围从1~1023,U是单位标识位,是1位的字符,取值范围为k、m、g、t,分别表示了KByte、MByte、GByte、TByte,size的值应该根据设备的数据大小指定。普通文件名(即创建在文件系统上的文件)nn为从01开始计数的两位整数序号。如:01,02,03,04……各表空间根据需求在建库时确定。数据文件路径:/home/db/oracle/oradata/{DB_NAME}/数据文件的使用方式:裸设备:适用于RAC及共享磁盘双机热备数据库架构。创建数据库前,在指定的目录下创建指向裸设备的软连接文件。命令如下:ln-s/dev/rxxxxx/home/db/oracle/oradata/{DB_NAME}/2、应用表空间和数据文件设计规范应用表空间分类如下:表空间种类表空间命名规则裸设备连接文件名普通文件名TABLES公用表空间D_<功能模块名称>_nnr+表空间名称_nn_size表空间名称TABLESPARTITION分区表空间D_<数据表名>_nnr+表空间名称_nn_size表空间名称INDEXS公用索引表空间I_<功能模块名称>_nnr+表空间名称_nn_size表空间名称INDEXSPARTITION大表索引空间I_<数据表名>_nnr+表空间名称_nn_size表空间名称LOB表空间B_<功能模块名称>_nnr+表空间名称_nn_size表空间名称TEMP表空间T_<功能模块名称>_nnr+表空间名称_nn_size表空间名称说明:表空间的命名规则nn为从01开始计数的两位整数序号,表示表空间的数目。如:01,02,03,04……裸设备连接文件名nn为从01开始计数的两位整数序号,表示数据文件的数目。如:01,02,03,04……size表示了设备的大小,由数字部分和单位部分组成:XU。其中,X是一个正整数,取值范围从1~1023,U是单位标识位,是1位的字符,取值范围为k、m、g、t,分别表示了KByte、MByte、GByte、TByte,size的值应该根据设备的数据大小指定。普通文件名(即创建在文件系统上的文件)nn为从01开始计数的两位整数,表示数据文件的数目。如:01,02,03,04……各表空间根据需求在建库时确定。数据文件路径:/home/db/oracle/oradata/{DB_NAME}/数据文件的使用方式:裸设备:适用于RAC及共享磁盘双机热备数据库架构。创建数据库前,在指定的目录下创建指向裸设备的连接文件。命令如下:ln-s/dev/rxxx/home/db/oracle/oradata/{DB_NAME}/r+表空间名称_nn_size其中:xxx为裸设备的名称。表空间的概念和分配原则表空间相关概念在规范表空间存储参数之前有必要澄清关于数据块(datablock)、区(extent)、段(segment)的概念及其之间的关系。如下图:数据块(datablock):Oracle存储数据最细粒度是数据块,它是操作系统文件块的整数倍(有时也称逻辑块,Oracle块,或页)。一个数据块大小有2k、4k、8k、16k等,并以此单位大小保存在物理磁盘中。区(extent):是由一序列相邻连续的数据块组成的区域叫区。区存储特定类型的数据。它比数据块高一级别。段(segment):比区(extent)高一逻辑存储级别的称作段(segment)。段是由一系列区组成。用来存储一个特定的数据结构,并且该段只能分配在同一表空间中,不能跨越表空间。如:每个表(table)的数据保存在自己的数据段中;而每个索引保存在自己的索引段中;如果表或索引是分区的,则每个分区拥有自己的段表空间的分配原则对于小规模数据库,I/O不是主要的性能瓶颈,可以不考虑物理分布的问题。对于中规模数据库及大规模数据库,应当考虑:1、尽可能把应用数据表空间、应用的索引表空间以及相应得分区表空间分布在独立的物理卷上。2、其次把UNDO、TEMP、REDOLOG分布在不同的物理卷上。表空间的参数配置对于数据库的存储空间管理Oracle有以下的选择:Extent管理对Extent的管理有两种方式。一般情况下,推荐数据库管理员使用本地管理中的指定大小(UniformSize)的方式创建表空间。1.数据字典管理(DictionaryManagement)在数据字典的管理方式中,数据库使用数据字典来跟踪数据对象的存储分配,这样当出现数据对象的存储变化时,数据库需要更新数据字典以保证系统可以跟踪数据库对象的存储变化,这在某种程度上会造成系统性能的下降。2.本地管理(LocalManagement)在本地管理方式中,数据库使用每一个数据文件的前面8个数据块中的每一位来代表数据块的占用方式。由于这种方式跟踪数据对象的存储分配不需要访问数据字典,这在一定程度上避免了递归调用的出现,提高了系统存储管理的效率。对于本地的Extent管理有两种方式:(1)自动分配(Autoallocate)自动分配的方式指由数据库系统按照数据对象的大小决定该对象的每一个EXNENT的大小。一般情况下,由于数据库系统并不能预先的确定该对象的总的大小,数据库总是倾向于在初始的几个Extent使用较小的值,然后按照8-128-1024-8192个数据块的方式急剧的增大。这通常会造成系统过多的碎片和较低的存储空间的利用效率。(2)指定大小(UniformSize)指定大小的方式指由数据库管理员在创建表空间时间指定该表空间的所有的EXNENT的大小,这样该表空间的所有的Extent具有同样的大小。一般情况下,由于数据库管理员能够预先的估计出该表空间的数据对象的大小,所以数据库管理员通常能够确定合适的UNIFORMSIZE来创建数据表空间。通过指定合适的数据表空间,可以避免系统出现过多的碎片和提高存储空间的利用效率。一般情况下,建议数据库管理员能够使用指定大小的方式来创建表空间,除非明确知道表空间中仅仅存储较小的数据对象,否则不要使用自动的EXTENT管理方式。Segment管理对Segment的管理可分为两种。推荐使用ASSM方式。1.手工管理方式(Manual)手工管理方式是指用户创建表空间时使用手工指定参数Freelist,FreelistGroup来控制表空间的段的空闲块。手工的管理管理可以带来更多的灵活性。2.自动管理方式(ASSM)自动的管理方式指数据库系统使用BITMAP的方式来管理空闲块。在这种情况下如果多个对象需要分配空间,可能会造成对某一块的竞争。数据表空间的存储参数数据表空间的区(extent)管理:表空间是以区为单位进行分配空间的。自从9i及以后版本推荐使用本地管理表空间,并且本地管理表空间是默认的。对应的createtablespace语句子句为EXTENTMANAGEMENTLOCAL。Oracle已不推荐使用字典管理的表空间。如下图:如果表空间包含各种不同大小的数据库对象,而这些对象拥有不同尺寸的区,则选择AUTOALLOCATE是最好的选择。即字句EXTENTMANAGEMENTLOCALAUTOALLOCATE。让Oracle来管理EXTENT的分配。如下例:SQL>CREATETABLESPACEtestDATAFILE'/u02/oracle/data/'SIZE50MEXTENTMANAGEMENTLOCALAUTOALLOCATE;如果能够预先估算出单个对象或一系列对象的所分配的空间及EXTENTS的尺寸,则选择UNIFORM是个比较好的选择。即字句UNFORMSIZEM。如下例:SQL>CREATETABLESPACEtestDATAFILE'/u02/oracle/data/'SIZE50MEXTENTMANAGEMENTLOCALUNIFORMSIZE128K;表空间的段(segment)管理:段管理分为自动段空间管理(缺省参数)和手动段空间管理,对应的子句如下图:自动段管理是一种相对简单而有效的段空间的管理方式。该方式完全摒除了PCTUSED,FREELISTS,FREELISTSGROUPS等物理存储参数的设置。即使这些参数被指定,Oracle仍然会忽略它。自动段管理可根据用户数和实例数自动调整,对于大多数 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 负载和应用性能来说,要比手动调整管理段要更好。因此多数情况下推荐使用段管理。如下列:SQL>CREATETABLESPACEtestDATAFILE'/u02/oracle/data/'SIZE50MEXTENTSQL>MANAGEMENTLOCALSQL>SEGMENTSPACEMANAGEMENTAUTO;下面是完整的例子:例1:本地管理表空间+自动段空间管理sqlSQL>CREATETABLESPACETESTSQL>SQL>EXTENTMANAGEMENTLOCALSQL>SEGMENTSPACEMANAGEMENTAUTO;例2:本地管理表空间+自动统一尺寸段空间管理sqlSQL>CREATETABLESPACETESTSQL>SQL>EXTENTMANAGEMENTLOCALUNIFORMSIZE2MSQL>SEGMENTSPACEMANAGEMENTAUTO;临时表空间的存储参数Oracle推荐使用本地表空间管理,统一区尺寸管理1M,分别对应的子句是EXTENTMANAGEMENTLOCAL和UNIFORMSIZE1M。例:SQLSQL>CREATETEMPORARYTABLESPACETEMP1SQL>SQL>EXTENTMANAGEMENTLOCALUNIFORMSIZE1M;自动扩展语句会造成数据文件的自动增长,在使用裸设备的情况下可能造成文件越界,在使用文件系统的情况下可能造成文件系统无空闲空间。不应使用自动扩展的功能。Undo/temp表空间的估算Undo设置原则oracle9i以后的版本,推荐使用UNDOTABLESPACE,让系统自动管理回滚段。须考虑以下几个问题:系统并发事务数有多少系统是否存在大查询或者大是事务频繁与否能提供给系统的回滚段表空间的磁盘空间是多少Temp设置原则可创建缺省临时表空间temp,取数据库的缺省参数。一般情况下,生产数据库系统的临时表空间不是用缺省的。应另外创建临时表空间,以供较大的排序事务使用。可设置每个Transaction类别用户,对应一个临时表空间。表的参数设置、Pctused存储参数pctfree和pctused决定了一个数据块在不同的数据库操作下的可用性,它与数据对象的操作性质密切相关。对于主要操作为insert的数据对象,可以考虑设定较小pctfree和较大的pctused,如pctfree=5Pctused=60。对于更新较为频繁的系统,可以设定较大的pctfree和较小的pctused来避免行的迁移,如pctfree=20Pctused=40。对于银行系统,由于数据的保留时间较长,同时数据的删除较少可以考虑设定较小的pctfree和较大的pctused,如:Pctfree=10Pctused=50。、Maxtrans存储参数initrans和maxtrans决定了数据对象的同一个数据块中能够并发进行的事务数。由于目前的数据块由逐步变大的趋势,故此同一个数据块中发生并发事务的几率在上升。对于db_Block_Size=8192的OLTP系统,可以设定initrans=4,Maxtrans=10索引的使用原则1.基本使用原则1)当查询的行数占整个表总行数的比例<=5%时,建立b*树索引效果比较明显。(普通索引就是b*数索引)2)在频繁进行排序或分组(即进行groupBy或orderBy操作)的列上建立索引。3)在频繁使用distinct关键字进行查询的列上面建立索引。4)进行表连接时,在连接字段上面建立索引。5)对于键值频繁更新的索引,需要定期的进行重建。2.基本存储参数设置原则1)物理属性子句(Physical_Attributes_Clause)参见表的物理属性参数设置原则2)Storage_Clause参见表空间的存储参数设置原则3)Blevel索引的blevel代表了索引中从根节点到叶节点的深度,对于索引来说,由于索引键值的频繁更新可能造成该索引的节点的过度分裂,使得索引的层次较多。因此系统管理人员应该定期的对索引进行分析,对索引深度较深的的索引进行重建工作。3.复合索引的使用原则一般情况下,对于经常同时使用多个数据项进行查询的对象可以创建复合索引,使用复合索引时特别要考虑的各个数据项在索引中的相对位置。一般情况下,把最常用的列放在第一位而不太常用的列放在稍后面的位置。在复合索引创建后,要求用户在查询数据的时候也遵循同样的方式来使用索引。虽然目前的Oracle数据库版本能够使用复合索引中的后面的数据项,但是按序使用复合索引可以带来较高的效率。4.函数索引的使用原则1)在使用函数索引(Function-basedINDEX)时,需要设置初始化参数QUERY_REWRITE_ENABLED=TRUE,创建该索引的用户需要有CREATEINDEX和QUERYREWRITE权限。2)对于经常进行运算比较的一些列,可以考虑建立函数索引,但是也可以通过在表中使用原来的列的函数形式来实现3)在OLTP系统中,一般情况下不建议使用函数索引。文件设计如果使用裸设备作为数据库设备,则在该目录下建立到相应的裸设备的链接文件。如果使用文件作为数据库设备,则根据存储空间的需求,建立独立的文件系统,挂接到该目录下。RAC配置文件srvconfig_SizeSize表示了文件/设备的大小,由数字部分和单位部分组成:XU,其中,X是一个正整数,取值范围从1~1023,U是单位标识位,是1位的字符,取值范围为k、m、g、t,分别表示了KByte、MByte、GByte、TByte,Size的值应该根据文件/设备的数据大小指定。参数文件对于共享磁盘的双机热备的系统,发生失效接管(failover)时,应使用pfile参数文件设置;在没有发生失效接管情况下,使用spfile参数文件。对于单机或RAC方式的系统,可使用共享的spfile参数文件设置;参数文件命名规则Oracle数据库系统在启动时,先读取初始化参数文件,根据该文件的设置,系统才能启动成功。从Oracle9i以后的版本,Oracle系统使用spfile文件和pfile参数文件。数据库系统启动时,首先查找$ORACLE_HOME/dbs/目录的spfile文件,如果无此文件,系统在查找pfile文件。spfile文件是二进制文件,而pfile文件是ASCII文件。pfile初始化参数文件:该文件是ASCII码文件,可用文本编辑器编辑(注:在编辑前,一定要先备份)。文件命名:init{SID}.ora文件路径:/home/db/{OS_oracle_user}/admin/{DB_NAME}/pfile/以及$ORACLE_HOME/dbs/spfile初始化参数文件:该文件是二进制文件,不可以直接编辑。只能通过OracleSQL语句进行创建。方法如下(注:在创建前,一定预先备份spfile及pfile):SQL〉showparameterspfileSQL〉createspfilefrompfile;spfile的两种使用方式:文件系统:spfile{DB_NAME}.ora裸设备:rspfile{DB_NAME}_size保存路径:/home/db/oracle/oradata/{DB_NAME}/;缺省路径:$ORACLE_HOME/dbs/size表示了文件/设备的大小,由数字部分和单位部分组成:XU,其中,X是一个正整数,取值范围从1~1023,U是单位标识位,是1位的字符,取值范围为k、m、g、t,分别表示了KByte、MByte、GByte、TByte,Size的值应该根据文件/设备的数据大小指定。控制文件每个数据库实例应至少有两个控制文件,且每个文件存储在独立的物理磁盘上。如果有一个磁盘失效而导致控制文件不可用,与其相关的数据库实例必须关闭。一旦失效的磁盘得到修复,可以把保存在另一磁盘上的控制文件复制到该盘上。这样数据库实例可重新启动。并通过非介质恢复操作使数据库得到恢复。因此,为了使整个系统的高可靠地运行,建议系统设置2-3个控制文件。控制文件命名规则1)保存路径:/home/db/oracle/oradata/{DB_NAME}/2)控制文件的使用方式:裸设备:创建数据库前,在指定的目录下创建指向裸设备的连接文件。rcontrol_n_size其中:n为从1开始计数的整数,表示控制文件序号。如:1,2……size表示了文件/设备的大小,由数字部分和单位部分组成:XU,其中,X是一个正整数,取值范围从1~1023,U是单位标识位,是1位的字符,取值范围为k、m、g、t,分别表示了KByte、MByte、GByte、TByte,Size的值应该根据文件/设备的数据大小指定。文件系统:其中:nn为从01开始计数的两位整数,表示控制文件序号。如:01,02,03……3)控制文件数量:为2-3个。如果控制文件所在存储已作镜像,建议2个控制文件。如果没有做镜像,建议3个控制文件。4)控制文件大小裸设备:一个物理分区大小,一般为256MB。文件系统:系统缺省大小。重做日志文件重做日志文件的尺寸会对数据库的性能产生重要影响,因为它的尺寸大小决定着数据库的写进程(DBWn)和日志归档进程(ARCn)。一般情况下,较大的日志文件提供较好的数据库性能,较小的重做日志文件会增加核查点(checkpoint)的活动,从而导致性能的降低。当然为了防止I/O争用,还应把各个重做日志文件分布到不同的物理磁盘上。重做日志文件在几百兆字节到几GB字节都被认为是合理的。欲确定数据库重做日志文件的大小,应根据该系统产生重做日志的数量,并依据最多每二十分钟发生一次日志切换这个大致原则来决定。在系统运行后,从alert文件获取日志的切换时间,并根据切换的间隔来调整重组日志的大小。初始大小建议不低于50M,小于1G。日志文件命名规则归档日志(archivelog)文件,建议放在独立物理磁盘上。1)重做日志保存路径:/home/db/oracle/oradata/{DB_NAME}/2)归档日志保存路径:/home/db/oracle/orarch##表示实例号,1,2,3,……通常要求归档日志备份文件系统大小可以保证容纳2天产生的归档日志。AIX操作系统还要求该文件系统设置rbrw属性,以避免归档日志被放入操作系统内存。3)日志文件的使用方式:裸设备创建数据库前,在指定的目录下创建指向裸设备的连接文件。rlog#_n_m_size(单机)rlog#_n_m_size(RAC)文件系统#表示实例号,1,2,3,……n表示日志组的编号,取值范围为01-06m表示日志组成员的编号,取值范围为01-02size表示了设备的大小,由数字部分和单位部分组成:XU,其中,X是一个正整数,取值范围从1~1023,U是单位标识位,是1位的字符,取值范围为k、m、g、t,分别表示了KByte、MByte、GByte、TByte,size的值应该根据设备的数据大小指定。日志组数量:为3-6,具体日志组数量根据各项目情况确定,每个日志组包括2个成员。日志文件大小:为512,1024,2048M,……根据各项目情况选择此区间值。数据库应用规划数据库用户设计用户权限规划业务功能的安全分配是指开发团队定义的用户、角色、特权,它是面向应用程序和开发的。它在数据库部署是几乎是不可修改的。数据库用户安全分配往往取自前台应用设计开发团队的交付生产时的定义。这种安全定义了用户、角色、系统特权、对象特权分配等等。它往往是面向开发的,没有细致考虑用户权限的控制。在数据库系统上线时,才发现有不妥之处。而这种用户安全分配多数情况下不能修改,否则对前台应用造成运行错误。但在交付生产时,投产方和用户方必须对其安全性进行审计。因为这时提供的用户安全往往是面向开发的,而不是面向末端用户的。主要检查一下几个方面:1、每个业务用户不得授予DBA角色。2、取消一些系统特权。但必须之前征询开发者的意见,否则可能对前台应用运行带来不可预测的错误。3、坚持最小化特权原则。根据数据库管理、数据维护、开发、功能等方面分为以下类型用户:序号用户类型描述DBA该类用户拥有DBA角色,只有数据库管理员能够使用。其他用户不要授予该角色。DATAOWNER该类用户拥有数据库业务schema对象,特别是tables及其他对象。不对末端用户开放。只有通过对象授权和系统授权,Transaction类型用户才可访问DATAOWNER类型用户;表空间的使用,要通过空间授权配额,才可访问;CREATESESSION特权使用时方可临时授权,使用完毕后,取消授权。Transaction该类型用户拥有数据库最小权限。只有通过明确的系统和对象授权才可访问DATAOWNER中的对象(如CREATESESSION,ALTERSESSION等)。一般用于末端用户的访问。Monitor该类型用户一般用于监控数据库性能,或者是第三方工具使用。作为监控软件,如QUEST监控软件、patrol、statspack、rman等;其他作为普通用户使用,使用权限严格限制,并服从DBA管理。如执行一般的查询sql语句等。为非DBA用户使用。对象(如:表、索引、触发器、过程等)管理权限归数据中心,应用(属记录级别,创建临时表权限)权限归项目组。用户命名规范如下:1、DBA类型命名格式:DBA注:XXX为长度为3个字符的项目英文简称2、DATAOWNER类型的命名格式:DB注:X为长度为2-4个字符的业务功能简称.3、Transaction类型命名格式:T注:X为长度为4-8个字符的业务功能简称4、Monitor类型命名注监控软件用户应按照第三方的供应商提供的方式命名。5、其他类型命名格式:SQL注:XXX为长度3个字符的功能英文简称。对于一个软件项目,在应用系统开发过程中,就开始对数据库用户权限进行严格的控制。即按照该系统未来生产时的方式进行分配,尽管此时数据库还处在开发服务器之中,尽管给开发项目的控制带来更多的工作,但数据库的安全性大大提高了。对数据库用户(user)的授权,应通过数据库角色(role)进行分配。而不要把对象特权和系统特权直接授权给数据库用户。各用户类型的角色命名规范如下:1、DATAOWNER类型用户分配的角色命名规则:R__DB注:X为长度为2-4个字符的业务功能简称。2、Transaction类型用户分配的角色命名规则:R__T注:X为长度为4-8个字符的业务功能简称。3、Monitor类型用户分配的角色命名规则:注:应按照第三方厂商提供的方式命名。4、其他类型用户分配的角色命名规则
本文档为【Oracle数据库规划设计和运行维护方案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
冬 梅
教育工作者
格式:doc
大小:229KB
软件:Word
页数:0
分类:企业经营
上传时间:2021-10-27
浏览量:13