Oracle9i 数据库管理实务讲座5文档格式.docx

上传人:b****6 文档编号:19521471 上传时间:2023-01-07 格式:DOCX 页数:19 大小:27.11KB
下载 相关 举报
Oracle9i 数据库管理实务讲座5文档格式.docx_第1页
第1页 / 共19页
Oracle9i 数据库管理实务讲座5文档格式.docx_第2页
第2页 / 共19页
Oracle9i 数据库管理实务讲座5文档格式.docx_第3页
第3页 / 共19页
Oracle9i 数据库管理实务讲座5文档格式.docx_第4页
第4页 / 共19页
Oracle9i 数据库管理实务讲座5文档格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

Oracle9i 数据库管理实务讲座5文档格式.docx

《Oracle9i 数据库管理实务讲座5文档格式.docx》由会员分享,可在线阅读,更多相关《Oracle9i 数据库管理实务讲座5文档格式.docx(19页珍藏版)》请在冰豆网上搜索。

Oracle9i 数据库管理实务讲座5文档格式.docx

选定「全域数据库名称」(globaldatabasename)—它是在网际网络上识别Oracle9i数据库的方式,由数据库名称与网域名称组成,分别设定在起始参数档的DB_NAME与DB_DOMAIN参数内。

熟悉起始参数档内较重要的参数,甚至「服务器参数档」(serverparameterfile)的使用时机与其功用。

选定适当的数据库字符集。

所有字符资料都是依照特定字符集存入数据库,因此您必须在建立数据库时指定适当字符集(注[1])。

选定「标准资料区块」大小—设定在起始参数档的DB_BLOCK_SIZE参数。

除了SYSTEM资料表空间,其它资料表空间也可以遵循「标准资料区块」的设定。

此外,在Oracle9i数据库中,您可以设定额外四种「非标准资料区块」。

需要注意的是,「标准资料区块」大小在数据库建立完成后即无法更改。

针对未来数据库的运作情况,订立一份良好的数据库备份计划,以便数据库毁损时能在最短时间内予以修复。

熟悉Oracle9i数据库的激活/关闭方式,与其搭配的各种选项(如STARTUP指令的nomount、mount、open选项)。

确认物理内存是否足以激活Oracle9iInstance。

确认Oracle9i服务器机的磁盘空间足够,以建置新数据库。

除了本文提及的注意事项,您也可以查阅各种操作系统专属的Oracle9i安装指南,以获取更详尽的信息。

选择数据库建置方式

Oracle9i数据库建置过程包含下列三项主要工作:

建置新的数据库实体档案,包含资料文件、重置日志文件。

建立控制档,并予以初始化。

建置Oracle9i存取数据库系统时必要的数据字典(datadictionary)。

实际上,您可能经由下列三种方式之一来建置新的Oracle9i数据库时:

使用Oracle「数据库建置组态精灵」(DatabaseConfigurationAssistant,DBCA)。

OracleUniversalInstaller在安装过程中会适时激活DBCA协助您建立数据库,视您选择的安装种类而定。

DBCA将以图形接口方式引导您逐步完成Oracle9i数据库的建置工作。

若是安装过程未激活DBCA,您也可以事后单独激活DBCA建立新数据库,甚至建立第二个Oracle9i数据库。

执行指令文件(script)手动建立Oracle9i数据库

如果您手边恰好保存着上次建立Oracle9i数据库所用的指令文件,那么您可以直接编修该指令文件,并予以执行。

否则,建议您使用Oracle9i提供的范例指令文件进行编修。

Oracle9i不仅提供了数据库建置范例指令文件,也提供了起始参数范例文件。

您可视实际需要进行必要调整。

移转(migrate)或升级(upgrade)既有数据库。

如果您的应用系统正在存取既有Oracle数据库,除非您需要一个全新的数据库或是测试用环境,否则应该不需要建立新数据库。

在此情况下,您所面临的将是数据库移转或升级议题。

有关这方面的详尽信息,请参阅《Oracle9iDatabaseMigration》手册。

再谈起始参数档

还记得上一期曾经提过的起始参数档吗?

因为手动建立Oracle9i数据库之前必须先激活Oracle9iInstance,因此您必须先建立一个起始参数档。

建立新的起始参数档时,最快速的方式就是编辑Oracle9i提供的范例档案,然后另存新档。

我较习惯的方式是直接编辑既有起始参数档之复本,然后视实际需要进行调整。

因为起始参数档可供设定的参数非常多,如果某些参数未经过明确设定,Oracle9i会自动代入默认值。

第一次以手动方式建立Oracle数据库时,建议您尽可能不要修改各起始参数值。

等到您熟悉每个参数的意义与使用时机之后,再利用文字编辑器调整或新增其它参数。

除此之外,Oracle9i允许您建立服务器参数文件(以二进制格式存放)。

该档案内的参数可在Oracle9iInstance激活后执行ALTERSYSTEM指令予以修改。

以下是建置新数据库之前必须新增或编辑的起始参数,包括:

全域数据库名称

控制文件名称与路径

资料区块大小

影响SGA容量的起始参数

设定处理程序最大数目

设定空间回复(Undo)管理方法

设定全域数据库名称

Oracle9i的全域数据库名称由「数据库名称」与「网域名称」所组成,其中「数据库名称」设定于DB_NAME起始参数,而「网域名称」则是设定于DB_DOMAIN参数。

这两个参数合并之后就可以在网际网络上唯一识别每一个Oracle9i数据库。

举例来说,假设我们欲建立的Oracle9i数据库之全域数据库名称为.tw,那么可在起始参数档内设定下列两参数:

DB_NAME=mydb

DB_DOMAIN=.tw

Tips:

您可以执行ALTERDATABASERENAMEGLOBAL_NAME指令更改Oracle9i数据库的全域数据库名称;

在您更改DB_NAME与DB_DOMAIN这两个起始参数后必须将Oracle9i数据库重新激活才会生效。

此外,控制档也必须重新建立。

关于DB_NAME起始参数

DB_NAME必须是文字字符串,且不能超过8个字符。

在建立数据库的过程中,DB_NAME设定值会记录在资料文件、控制文件、以及重置日志文件之中。

如果您激活Oracle9iInstance的时候,起始参数档内设定的DB_NAME不同于控制文件内所纪录的,那么数据库将无法激活。

关于DB_DOMAIN起始参数

DB_DOMAIN通常是数据库主机所在位置的网域名称。

如果您欲建立的数据库将加入分布式数据库运算环境,请特别注意此参数的设定。

设定控制档

如前所述,控制文件是Oracle9i数据库内相当重要的档案。

因此您必须在新的起始参数档内加入CONTROL_FILE参数以设定控制文件之文件名与路径。

当您执行CREATEDATABASE时,列在CONTROL_FILE之中的控制档将随之建立。

如果起始参数档忽略了此项参数,则Oracle9i会在执行CREATEDATABASE指令时自动建立控制文件并命名之,然后放在系统预设路径下。

那么,如果CONTROL_NAME内设定的控制文件已经存在于操作系统下该怎么办呢?

此时Oracle9i会自动覆盖既有的控制档。

如果您想建立全新的控制档,请确定CONTROL_NAME设定的控制文件名不会与操作系统下任何文件名重复。

依照过去经验,Oracle强烈建议您为每个数据库至少规划两个控制档,并分散在两个实体磁盘上。

如此可避免任一控制文件毁损时造成系统停摆。

设定资料区块大小

Oracle9i数据库内存放资料的最小单位为「资料区块」(datablock)。

数据库内「标准资料区块」大小是设定在起始参数档之DB_BLOCK_SIZE参数。

Oracle9i数据库内最重要的SYSTEM资料表空间就是以DB_LOCK_SIZE设定值为基础所建立。

此外DB_BLOCK_SIZE也是建立新资料表空间时预设的资料区块大小。

除了标准资料区块大小之外,Oracle9i支持额外4种「非标准资料区块」大小。

关于DB_BLOCK_SIZE起始参数

从Oracle9i开始,DB_BLOCK_SIZE所设定的仅是标准资料区块大小;

绝大多数的数据库环境只需要设定该参数即可。

一般来说,DB_BLOCK_SIZE可设定为4K或8K。

如果此参数未经设定,则Oracle9i会自动依照数据库所在操作系统平台自行决定适当的资料区块大小。

需要注意的是,标准资料区块大小在数据库建立之后就无法改变—除非重建数据库。

如果数据库的「资料区块」大小不同于「操作系统区块」大小,那么建议您将DB_BLOCK_SIZE设为「操作系统区块」大小之整数倍。

假定操作系统区块大小为4K,则不妨设定DB_BLOCK_SIZE=8192。

在某些情况下,这样的组态方式将会显著地提升资料存取效能。

何谓「非标准资料区块」?

由「非标准资料区块」构成的资料表空间可经由CREATETABLESPACE指令搭配BLOCKSIZE子句建立之;

其区块大小设定值可为2K、4K、8K、16K、32。

需注意的是此类型资料区块将受到操作系统环境限制,不是所有操作系统都可以设定上述所有区块大小。

欲使用「非标准资料区块」时,您还必须适当组态SGA内数据库缓冲区的子缓冲区,方式是藉由DB_nK_CACHE_SIZE参数所设定(此参数容后说明)。

此项机制是Oracle9i提出的新功能,在转移数据库时特别好用。

举例来说,您的OLTP数据库也许将资料区块大小设定为4K,但是资料仓储系统使用的数据库却将资料区块大小设定为8K。

藉由「非标准资料区块」的机制,您就可以平顺地将OLTP数据库的资料转移到资料仓储系统的数据库。

影响SGA容量的起始参数

此类型起始参数将控制内存内「系统全域区」(SystemGlobalArea,SGA)的大小,除了SGA_MAX_SIZE之外,其它参数几乎都可以经由ALTERSYSTEM指令动态地更改。

借着此项特性,您可以在Oracle9iInstance运作时动态地增加或缩小SGA容量。

设定「数据库缓冲区」大小

一般情况下,Oracle9i数据库缓冲区(databasebuffercache)大小是由起始参数档DB_CACHE_SIZE参数所决定。

此时数据库缓冲区是以「标准资料区块」作为资料存取单位。

如果您想在Oracle9i数据库使用多重资料区块大小,则必须设定一组DB_BLOCK_SIZE与DB_nK_CACHE_SIZE参数。

如果上述两项参数在起始参数档未明确设定,则Oracle9i会自动设定适当的DB_CACHE_SIZE值,且将DB_nK_CACHE_SIZE设定为0。

关于DB_CACHE_SIZE起始参数

在Oracle8i以前,数据库缓冲区大小是由DB_BLOCK_BUFFERS与DB_BLOCK_SIZE所决定;

从Oracle9i开始将由DB_CACHE_SIZE取代之。

需要注意的是,DB_CACHE_SIZE是以DB_BLOCK_SIZE所设定的标准资料区块大小为基准。

为了向前兼容,在Oracle9i中仍旧可以设定DB_BLOCK_BUFFERS参数。

但是DB_BLOCK_BUFFERS属于静态参数,无法在Oracle9i数据库运作时进行动态调整,也不能与其它动态参数互相搭配使用。

关于DB_nK_CACHE_SIZE起始参数

从Oracle9i开始提供了「非标准资料区块」的支持,可经由下列参数设定:

Ø

Ø

DB_2K_CACHE_SIZE

DB_4K_CACHE_SIZE

DB_8K_CACHE_SIZE

DB_16K_CACHE_SIZE

DB_32K_CACHE_SIZE.

各参数之中的nk即是设定非标准资料区块的大小。

我以下列参数设定为例:

DB_BLOCK_SIZE=4096

DB_CACHE_SIZE=20M

DB_2K_CACHE_SIZE=10M

DB_8K_CACHE_SIZE=8M

使用上述参数所组态的数据库缓冲区将拥有以下特性:

1.1. 

「标准资料区块」大小为4K。

2.2. 

「标准资料区块」大小构成的数据库缓冲区容量为20M。

3.3. 

第一种「非标准资料区块」大小为2K,其构成的缓冲区容量为10M。

4.4. 

第二种「非标准资料区块」大小为8K,其构成的缓冲区容量为8M。

请注意一点,DB_nK_CACHE_SIZE参数不能设定「标准资料区块」之缓冲区大小。

举例来说,如果DB_BLOCK_SIZE设定为4K,就不能再设定DB_4K_CACHE_SIZE参数。

设定「共享区」与「大型区」容量

SGA内的共享区(SharedPool)与大型区(LargePool)分别由SHARED_POOL_SIZE与LARGE_POOL_SIZE所设定;

这两个参数都属于动态参数(注[2])。

如果起始参数档内未设定这两个参数,则Oracle9i将自动决定其适当大小。

设定SGA的相关注意事项

SGA最大容量由SGA_MAX_SIZE所控制。

您可以动态地改变该参数值,但是需注意SGA_MAX_SIZE为数据库缓冲区、共享区、大型区、以及其它SGA组件之容量总和。

各区域之大小不能超过SGA_MAX_SIZE所设定。

如果SGA_MAX_SIZE未设定,则Oracle9i会自动设定SGA_MAX_SIZE为所有SGA组件大小之总和。

设定处理程序最大数量

起始参数PROCESSESS可决定同时间连接Oracle9i的操作系统程序最大数量。

该参数值必须大于6;

其中5个是Oracle9i背景处理程序,加上1个使用者处理程序。

假定同一时间您的Oracle9i数据库同时间会有100使用者上线,那么PROCESSES至少应设定为105。

设定空间回复管理方式

任何数据库都应该具备某种特殊机制来确保交易的一致性与完整性。

在Oracle9i数据库内即存有一份重要的交易相关信息,以便必要时可退回(rollback)失败的交易,或是回复(undo)某个数据处理动作。

Oracle将这些信息统称为「回复项目」(undoentries)。

Oracle9i的回复项目存放在「回复资料表空间」(undotablespace)或是「退回区段」(rollbacksegments)。

UNDO_MANAGEMENT起始参数

针对回复项目的管理,起始参数档的UNDO_MANAGEMENT可设定由下列两种方式之一激活Oracle9iInstance:

AUTO:

以”自动回复管理模式”激活Oracle9iInstance;

其回复项目将储存于「回复资料表空间」。

MANUAL:

以”手动模式”激活Oracle9iInstance;

其回复项目将储存于「退回区段」。

为了向前兼容,UNDO_MANAGEMENT的默认值为MANUAL。

关于UNDO_TABLESPACE起始参数

当Oracle9iInstance以”自动管理模式”激活时,将尝试寻找第一个可用的「回复资料表空间」以存放「回复项目」。

如果执行CREATEDATABASE指令,且UNDO_MANAGEMENT设定为AUTO时,Oracle9i就会自动建立一个名为SYS_UNDOTBS的「回复资料表空间」。

此资料表空间将是”自动管理模式”下预设的「回复资料表空间」。

此外,您还可以设定UNDO_TABLESPACE起始参数,以明确指定Oracle9i所使用的「回复资料表空间」为何。

如果系统内缺乏可用的「回复资料表空间」,则Oracle9iInstance虽然可以激活,但是将使用SYSTEM退回区段。

Oracle建议您尽量妥善运用「回复资料表空间」来取代「回复区段」,因为前者不但易于管理,也可以设定「回复项目」之维护时间。

关于ROLLBACK_SEGMENTS起始参数

ROLLBACK_SEGMENTS起始参数内列出一连串「非系统退回区段」之相关信息。

当数据库以”手动模式”进行回复项目管理时,Oracle9iInstance将会在激活时要求此类型退回区段。

如果该参数内无任何设定值,则使用「系统退回区段」。

Oracle9i数据库的ROLLBACK_SEGMENTS参数是为了向前兼容而保留,建议您以「回复资料表空间」取代之。

完成所有前置准备工作之后,您就可以依照先前的规划建立Oracle9i数据库。

有别于使用「数据库建置组态精灵」(DatabaseConfigurationAssistant),手动建立数据库的方式主要是执行CREATEDATABASE指令。

以下是建立Oracle9i数据库mydb的完整步骤:

设定OracleSID

选择DBA验证方式

建立起始参数档

激活OracleInstance

5.5. 

执行CREATEDATABASE指令

6.6. 

建立其它资料表空间

7.7. 

建立数据字典视观表

步骤1:

在一般情况下,每个Oracle9i数据库都必须对应一个Oracle9iInstance。

所以在建立数据库之前,您必须先指定Oracle9iInstance的系统标识符(systemidentifier),此系统标识符就是俗称的OracleSID;

您也可以将它视为Oracle9iInstance之名称。

因为OracleSID可用以辨识不同的Oracle数据库,因此SID名称必须是唯一的,可经由操作系统的环境变量ORACLE_SID设定之(注[3])。

以下范例将设定数据库所使用的OracleSID为mydb:

ORACLE_SID=mydb

exportORACLE_SID

步骤2:

您必须经过数据库之验证手续,且被赋予适当系统权限后才可以建立Oracle9i数据库。

Oracle9i用来验证DBA的方式有两种,分别是「密码文件验证」与「操作系统验证」。

建议您第一次手动建立数据库时先使用oracle帐号(安装Oracle9i所用的帐号)经由「操作系统验证」来登入SQL*Plus。

有关密码文件的建立与使用方式将在未来专栏中为大家详细介绍。

步骤3:

为了简化管理动作,建议您将起始参数档置放于Oracle9i预设目录下,并且依照标准格式为起始参数档命名。

Oracle9i起始参数档名之格式为:

init<

OracleSID名称>

.ora

其预设存放路径则为:

$ORACLE_HOME/dbs

以mydb数据库为例,起始参数档名称可命名为initmydb.ora,并存放在opt/oracle/product/9.0.1/dbs目录下(注[4])。

如此一来,每当您欲执行STARTUP指令激活Oracle9iInstance时,系统会自动到预设目录下寻找起始参数档,不需额外指定PFILE选项。

以下范例起始参数文件之部分内容:

SampleInitializationParameterFile

#CacheandI/O

DB_CACHE_SIZE=20971520

#DiagnosticsandStatistics

BACKGROUND_DUMP_DEST=$ORACLE_HOME/admin/mydb/bdump

CORE_DUMP_DEST=$ORACLE_HOME/admin/mydb/cdump

TIMED_STATISTICS=TRUE

USER_DUMP_DEST=$ORACLE_HOME/admin/mydb/udump

#ControlFileConfiguration

CONTROL_FILES=("

$ORACLE_HOME/oradata/mydb/control01.ctl"

"

$ORACLE_HOME/oradata/mydb/control02.ctl"

$ORACLE_HOME/oradata/mydb/control03.ctl"

#Archive

LOG_ARCHIVE_DEST_1='

LOCATION=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1