Oracle12c 性能优化攻略:攻略1-1:创建具有最优性能的数据库

一:章节前言 本章着眼于影响表中数据存储性能的数据库特性

表的性能部分取决于在创建之前所应用的数据库特性。例如:在最初创建数据库时采用的物理存储特性以及相关的表空间都会在后来影响表的性能。类似地,表性能还受到最开始选择的物理特性的影响。例如:表类型和数据类型。

因此应用实践中使用的数据库、表空间、和表的创建标准(并将性能问题放在心上),就形成了优化数据可能性和可扩展性的基础。

组成Oacle数据库的物理结构用来存储、管理、保护以及读取数据。

在创建数据库的时候,可以选择应用一些与性能相关的特性。例如文件的初始布局以及表空间的管理类型,都是在创建数据库时制定。这时所实现的架构上的决策,通常都会产生很长远的影响。

提示: oralce实例的定义是其内存结构及其后台进程。而Oracle数据库则由物理文件(即:数据文件、控制文件、在线重做日志文件)组成。

如图1-1所描述的那样,表空间是支持管理一组数据文件的逻辑结构。数据文件就是磁盘的物理文件。配置表空间时,要注意一些对性能会产生深远影响的特性,也就是本地管理表空间以及自动段存储管理的表空间。如果合理地设计这些特性,将来也就能最大限度得可接受到表性能

image

      图1-1 逻辑存储于物理存储之间的关系图


 

表是数据库中存储数据的对象。数据库性能衡量的是应用能够以什么样的速度插入、更新、删除、和查询数据。因此,此书就从优化表性能的攻略讲起。

本章首先介绍创建数据库和表空间时,可能会影响表性能的各方面因素,然后,讨论另外一些主题,比如根据于性能相关的业务需求,选择表类型和数据类型。稍后介绍的主题包括管理表空间使用情况的物理实现方式。本章还会详细介绍其他问题。例如探测表碎片、处理位于高水位线下方的空闲空间、行链接以及数据压缩。除此之外还会描述Oracle段顾问(Oracle Segment Advisor).这个工具很好用,能够帮助你自动探测并解决碎片和未使用的空间问题。

 

 

攻略1-1:创建具有最优性能的数据库

 

问题描述

最初创建数据库时,有一些属性(如果启用了的话)将会对数据库中的表的性能和可用性产生长远的影响。具体来说,创建数据库时,需要做下面这些事情。

1:强制数据库中创建的每一个表空间都必须是本地管理的。本地管理表空间能比已经被弃用的字典管理技术提供更好性能。

2:确保数据库为每个用户自动分配一个默认的永久表空间。这可以保证在创建用户时,自动分配一个默认的表空间,而不是system系统表空间。由于有延迟段(Deferred Segment Feature),如果一个用户具有 create table 的权限,即使其在system 表空间中没有空间配额,也能在其中创建对象。这并不可取。当然,用户不会向没有空间爱你配额的表中插入数据,但他们可以创建对象,从而可能在不经意间使system表空间变得很杂乱。

3:确保数据库会为每个用户自动分配一个默认的临时表空间。。这可以保证在创建用户时,如果没有显示指定,自动分配一个临时表空间。


解决方案:

可以使用两种不同的工具来创建Oracle数据库:

1:在SQL*Plus中使用Create Database 语句。

2:dbca(Databae Configuration Assistant,数据库配置助手)

 

SQL*Plus

使用类似下面这样的脚本创建遵循合理标准的数据库,这就为数据库的高性能打下良好的基础:

CREATE DATABASE O12C MAXLOGFILES 16 MAXLOGMEMBERS 4 MAXDATAFILES 1024 MAXINSTANCES 1 MAXLOGHISTORY 680 CHARACTER SET AL32UTF8 DATAFILE \'/u01/dbfile/O12C/system01.dbf\' SIZE 500M REUSE EXTENT MANAGEMENT LOCAL UNDO TABLESPACE undotbs1 DATAFILE \'/u02/dbfile/O12C/undotbs01.dbf\' SIZE 800M SYSAUX DATAFILE \'/u01/dbfile/O12C/sysaux01.dbf\' SIZE 500M DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE \'/u02/dbfile/O12C/temp01.dbf\' SIZE 500M DEFAULT TABLESPACE USERS DATAFILE \'/u01/dbfile/O12C/users01.dbf\' SIZE 50M LOGFILE GROUP 1 (\'/u01/oraredo/O12C/redo01a.rdo\', \'/u02/oraredo/O12C/redo01b.rdo\') SIZE 200M, GROUP 2 (\'/u01/oraredo/O12C/redo02a.rdo\', \'/u02/oraredo/O12C/redo02b.rdo\') SIZE 200M, GROUP 3 (\'/u01/oraredo/O12C/redo03a.rdo\', \'/u02/oraredo/O12C/redo03b.rdo\') SIZE 200M USER sys IDENTIFIED BY f0obar USER system IDENTIFIED BY f0obar;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzyspg.html