Oracle9i 数据库管理讲座.docx
《Oracle9i 数据库管理讲座.docx》由会员分享,可在线阅读,更多相关《Oracle9i 数据库管理讲座.docx(12页珍藏版)》请在冰豆网上搜索。
![Oracle9i 数据库管理讲座.docx](https://file1.bdocx.com/fileroot1/2023-1/22/d3a59b9c-4e3f-47ef-bd0f-fc08268188b6/d3a59b9c-4e3f-47ef-bd0f-fc08268188b61.gif)
Oracle9i数据库管理讲座
Oracle9i数据库管理实务讲座
利用DBCA建立Oracle9i数据库
利用DBCA建立Oracle9i数据库
在使用DBCA之前,先检视一下目前环境。
以我的系统为例:
操作系统为SuSELinux7.2,安装了Oracle9iEnterpriseEditionRelease9.0.1,Oracle9i数据库的ORACLESID设定为ora901。
接着我们将经由DBCA建置第二个Oracle9i数据库,步骤如下:
1.1. 使用oracle帐号登入Linux系统,并执行dbca程序。
执行后您将看到DBCA的激活画面,如下图1所示:
图1:
DBCA激活画面。
2.2. 选择DBCA执行模式:
如下图2所示,Oracle9iDBCA总共提供四种操作模式,协助您进行不同的数据库管理工作,分别是:
⏹⏹ 建置数据库(Createadatabase)
⏹⏹ 组态数据库各项设定(Configurationdatabaseoptionsinadatabase)
⏹⏹ 删除数据库(Deleteadatabase)
⏹⏹ 模板管理(ManageTemplates)
前三项是Oracle8i就已支持的功能,第四项“模板管理”则是Oracle9iDBCA新增功能之一。
值得注意的是,如果是由OracleUniversalInstaller安装程序激活的DBCA,则无法选取第二项与第三项。
这里请选择第一项“Createadatabase”。
图2:
DBCA提供的四种操作模式。
3.3. 选择您欲建置的数据库模板:
DBCA提供三种数据库预设模板文件。
您可以直接使用这些模板文件建置新的Oracle9i数据库;或是依照实际环境需求,自行调整既有模板后再建置新数据库。
三种预设数据库模板分别是:
⏹⏹ 资料仓储(DataWarehouse)
⏹⏹ 线上交易处理(Transactionprocessing)
⏹⏹ 一般性用途(GeneralPurpose)
之前我们曾使用过第三个“GeneralPurpose”模板建立新数据库,因此这次我们选择第四个“NewDatabase”选项。
图3:
选择数据库模板种类。
4.4. 输入数据库识别资料:
首先您必须提供此数据库的“GlobalDatabaseName”(全域数据库名称)以及SID。
所谓的「全域数据库名称」是从Oracle8i之后所提出,其主要目的是希望能够在网络上唯一识别每个Oracle数据库。
它的格式通常是:
[OracleSID名称].[数据库主机所在网域名称]
以我的环境为例:
目前数据库主机所在网域名称为.tw,第二个Oracle9i数据库的SID欲设定为testdb。
那么全域数据库名称就可以设定为.tw。
如下图4所示。
图4:
设定Oracle9i数据库识别资料。
5.5. 选择数据库欲支持的选项:
DBCA允许您在建立新数据库时指定欲支持的选项,其中:
⏹⏹ OracleSpatial是Oracle数据库中存取多维资料的方法之一,通常用于地理信息系统(GIS)。
所谓的GIS系统包含以下数据处理动作:
资料采集、资料编辑、地图绘制、影像处理、报表产生与资料分析等。
⏹⏹ OracleUltraSearch支持多媒体数据管理功能,例如声音、影像、动画与文字,可用来建置多元化的Web应用程序。
⏹⏹ ExampleSchema是否建置Oracle9i提供的各式范例数据库对象。
图5:
设定数据库欲支持的选项。
6.6. 选择新数据库的运作模式:
Oracle9i数据库可设定在两种模式下运作:
⏹⏹ 专属服务器模式(DedicatedServerMode)
⏹⏹ 共享服务器模式(SharedServerMode)
如果将数据库设定在”专属服务器模式”,则Oracle9i会针对每个客户端联机配置独立的系统资源;适用于联机数目较少的环境。
反之,若是设定成“共享服务器模式”,则多个客户端联机将共享所有系统资源。
图6:
选择新数据库运作模式。
7.7. 设定起始参数:
如图7所示,针对起始参数的设定共分成四个页签,分别是【Memory】、【Archive】、【DBSizing】、【FileLocation】。
以内存设定为例,DBCA就提供了相当人性化的设定方式:
⏹⏹ Typical(典型)可设定同时间上线人数,并指定SGA总容量。
较特别的是,SGA大小是以“物理内存的百分比”来设定。
换句话说,您只要决定这个新数据库能够占用多少内存即可,DBCA会适当的分配给SGA各区域。
⏹⏹ Custom(自订)可以自行决定SGA各区域的内存配置数情况。
此选项适合较有经验的数据库管理者。
图7:
配置OracleInstance所需内存。
8.8. 设定数据库封存模式:
「封存模式」(ArchiveLogMode)是Oracle数据库特殊的运作模式。
当数据库启用「封存模式」时,Oracle9i会将线上重置日志文件(OnlineRedoLogFiles)另外备份至特定目录下,这就是所谓的「封存」(Archive)动作。
激活「封存模式」的优点在于数据库备份工作较有弹性(有关Oracle9i数据库备份机制将在未来专栏中介绍),资料交易的安全性也相对提高;但缺点是系统负担较重。
如果您欲启用「封存模式」,请勾选图8中【ArchiveLogMode】选项,并设定重置日志封存盘之格式。
建议您将重置日志封存盘存放在其它硬盘,可有效提升封存动作之效率。
图8:
是否启用封存模式。
9.9. 设定资料区块大小、排序内存与字符集:
此处有三个重要设定,分别是资料区块大小、排序内存最大值以及字符集。
资料区块与字符集已在之前专栏内容介绍过,这里不再赘述。
请特别注意排序内存(SortArea)的设定。
一般来说,Oracle9i会在内存内完成资料排序动作。
如果数据库需要经常执行大量资料排序指令,则【SortAreaSize】应设大一点。
图9:
设定资料区块、排序内存与字符集。
10.10. 指定起始参数文件存放位置:
最后一个页签是指定起始参数档与追踪档(Tracefiles)的存放位置。
您可以依照目前系统环境进行适当调整。
假如您不清楚目前的ORACLE_BASE与ORACLE_HOME设定值,可点选右下角的【FileLocationVariables…】按钮。
图10:
指定起始参数文件之存放位置。
到这里为止,较重要的数据库设定工作已大致完成,按下【ALLInitializationParameters…】可检视所有起始参数设定值。
11.11. 确认数据库档案存放位置:
在真正开始建立数据库以前,DBCA会整理出各种数据库的存放位置。
您可以先展开Storage下面的子资料夹,然后检视各档案实际存放路径;必要时可直接修改之。
图11:
确认数据库档案存放位置。
12.12. 建立数据库模板文件:
总算到了最后一个设定窗口,此时只要按下【Finish】就可以开始建立新数据库。
尽管如此,还是建议您注意一下此处提供的模板建立功能。
数据库模板管理是Oracle9iDBCA相当实用的功能之一,它允许您将先前所有数据库设定值储存起来,做为下次建置新数据库的参考。
当您勾选【SaveasaDatabaseTemplate】之后就可以在下方的Name字段输入模板名称,以及必要的附注说明。
图12:
选择是否建立此数据库之模板文件。
按下【Finish】之后就可以把剩下的工作交给DBCA了!
它会先建置起始参数档,然后在激活OracleInstance之后进行一连串的工作,如图13所示。
实际建置时间需视您的硬设备而定。
图13:
进行数据库建置过程
看到图14之窗口时就可以松一口气了。
如果您想知道数据库建置过程详细信息,请到/opt/oracle/admin/testdb/create目录下寻找相关纪录文件。
有一点需提醒大家,虽然是第二个数据库,但其SYS与SYSTEM帐号的密码仍分别为change_on_install还有manager,请记得在登入数据库后自行修改。
此外,除了SYS与SYSTEM帐号,其余使用者帐号预设均为锁定状态。
您可以点选下方的【PasswordManagement…】进行调整。
图14:
系统预设帐号密码之提示窗口。
如何管理第二个Oracle9i数据库?
现在Oracle9i服务器上已经建立了两个数据库,应该如何管理呢?
目前这两个数据库的配置情况如下图15所示:
⏹⏹ 第一个数据库是安装Oracle9i时建立的,OracleSID为ora901。
⏹⏹ 第二个数据库是我们刚才透过DBCA建立的,其OracleSID为testdb。
图15:
Oracle9i服务器上两个各自独立的数据库。
假定目前我们是用oracle帐号登入Linux操作系统,如果直接执行sqlplus启数据库,您将发现开启的是ora901数据库。
这是因为目前ORACLE_SID设定为ora901(在/etc/profile.d/oracle.sh档案内设定)。
如下图16所示,在激活Oracle9i数据库之后,您可在操作系统下执行:
ps–ef|grepora_
以查看目前系统内运作中Oracle9i数据库背景处理程序。
图16:
从操作系统角度查看激活中Oracle9i背景处理程序。
那么应该如何激活第二个Oracle9i数据库呢?
其实做法有很多种,而最简单的方式就是直接更改ORACLE_SID设定值。
以SuSELinux7.2为例,更改ORACLE_SID的方式如下:
declareORACLE_SID=testdb
更改之后请执行echo指令确认之,如图18所示。
然后您可以再登入SQL*Plus激活Oracle9i数据库。
这一次您将发现激活的是testdb数据库。
建议您在数据库激活后查询v$instance资料字典视观表:
SELECTinstance_name
FROMv$instance;
查询结果为testdb,即为目前的ORACLEInstance名称。
图17:
激活第二个Oracle9i数据库。
您可以在操作系统下执行:
ps–ef|grepora_
执行结果如图18所示,第二个Oracle9i数据库的背景处理程序也顺利激活。
图18:
两个Oracle9i数据库的背景处理程序同时执行。
同理,如果您想关闭testdb数据库的话,也可以先将ORACLE_SID设定为testdb。
然后在登入数据库后执行shutdown指令,如下图19所示。
图19:
关闭testdb数据库。
后记
最近收到相当多读者的来信,除了对Oracle9i系列文章给予正面肯定之外,也不吝指教许多意见。
对我个人而言,真是一则以喜,一则以忧。
喜的是愈来愈多人不再害怕Oracle数据库,愿意花时间动手尝试安装与组态。
忧的是因为个人工作因素,实在没有办法一一为大家解答所有问题。
这点真的要请大家见谅!
Oracle数据库以往给予一般IT人员的印象大概只能用“高不可攀”四个字来形容。
虽然其数据处理技术凌驾各家厂商,稳坐关系型数据库龙头宝座,但是其系统管理技术却不是三两下可以精通的。
也因此让许多人望之却步!
我个人认为,任何关系型数据库系统其实都大同小异,只要了解基本架构与运作原理,想精通数据库就事半功倍啰。
作者简介
何致億,专长为Oracle、SQLServer等大型数据库系统管理,资料仓储规划建置,以及数据库应用程序系统开发。
拥有MCSD、MCDBA,OracleOCP,RHCE,SCJP,BorlandJBuilderProductCertified等十余项国际认证。
目前正致力于Oracle9i应用系统开发,并负责Oracle9i系列书籍中文化与OraclePress技术校稿工作。
他同时也是美商Oracle與SunMicrosystems公司原厂认证讲师。
您可以透过hochihyi@与他联系。