Oracle9i 数据库管理实务讲座5文档格式.docx
- 文档编号:19521471
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:19
- 大小:27.11KB
Oracle9i 数据库管理实务讲座5文档格式.docx
《Oracle9i 数据库管理实务讲座5文档格式.docx》由会员分享,可在线阅读,更多相关《Oracle9i 数据库管理实务讲座5文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
选定「全域数据库名称」(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=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle9i 数据库管理实务讲座5 数据库 管理 实务 讲座