1、Oracle9i 数据库管理讲座Oracle9i 数据库管理实务讲座利用 DBCA 建立 Oracle9i 数据库利用 DBCA 建立 Oracle9i 数据库在使用 DBCA 之前,先检视一下目前环境。以我的系统为例:操作系统为 SuSE Linux 7.2,安装了 Oracle9i Enterprise Edition Release 9.0.1,Oracle9i 数据库的 ORACLE SID 设定为 ora901。接着我们将经由 DBCA 建置第二个 Oracle9i 数据库,步骤如下:1. 1. 使用 oracle 帐号登入 Linux 系统,并执行 dbca 程序。执行后您将看到
2、DBCA 的激活画面,如下图1所示:图1:DBCA 激活画面。2. 2. 选择 DBCA 执行模式:如下图2所示,Oracle9i DBCA 总共提供四种操作模式,协助您进行不同的数据库管理工作,分别是: 建置数据库 (Create a database) 组态数据库各项设定 (Configuration database options in a database) 删除数据库 (Delete a database) 模板管理 (Manage Templates)前三项是 Oracle8i 就已支持的功能,第四项 “模板管理” 则是 Oracle9i DBCA 新增功能之一。值得注意的是,如
3、果是由 Oracle Universal Installer 安装程序激活的 DBCA,则无法选取第二项与第三项。这里请选择第一项 “Create a database”。图2:DBCA 提供的四种操作模式。3. 3. 选择您欲建置的数据库模板:DBCA 提供三种数据库预设模板文件。您可以直接使用这些模板文件建置新的 Oracle9i 数据库;或是依照实际环境需求,自行调整既有模板后再建置新数据库。三种预设数据库模板分别是: 资料仓储 (Data Warehouse) 线上交易处理 (Transaction processing) 一般性用途 (General Purpose)之前我们曾使用过
4、第三个 “General Purpose” 模板建立新数据库,因此这次我们选择第四个 “New Database” 选项。图3:选择数据库模板种类。4. 4. 输入数据库识别资料:首先您必须提供此数据库的 “Global Database Name”(全域数据库名称) 以及 SID。所谓的全域数据库名称是从 Oracle8i 之后所提出,其主要目的是希望能够在网络上唯一识别每个 Oracle 数据库。它的格式通常是:Oracle SID 名称.数据库主机所在网域名称以我的环境为例:目前数据库主机所在网域名称为 .tw,第二个 Oracle9i 数据库的 SID 欲设定为 testdb。那么全域
5、数据库名称就可以设定为 .tw。如下图4所示。图4:设定 Oracle9i 数据库识别资料。5. 5. 选择数据库欲支持的选项:DBCA 允许您在建立新数据库时指定欲支持的选项,其中: Oracle Spatial 是 Oracle 数据库中存取多维资料的方法之一,通常用于地理信息系统(GIS)。所谓的 GIS 系统包含以下数据处理动作:资料采集、资料编辑、地图绘制、影像处理、报表产生与资料分析等。 Oracle Ultra Search 支持多媒体数据管理功能,例如声音、影像、动画与文字,可用来建置多元化的 Web 应用程序。 Example Schema 是否建置 Oracle9i 提供的
6、各式范例数据库对象。图5:设定数据库欲支持的选项。6. 6. 选择新数据库的运作模式:Oracle9i 数据库可设定在两种模式下运作: 专属服务器模式(Dedicated Server Mode) 共享服务器模式(Shared Server Mode)如果将数据库设定在 ”专属服务器模式”,则 Oracle9i 会针对每个客户端联机配置独立的系统资源;适用于联机数目较少的环境。反之,若是设定成 “共享服务器模式”,则多个客户端联机将共享所有系统资源。图6:选择新数据库运作模式。7. 7. 设定起始参数:如图7所示,针对起始参数的设定共分成四个页签,分别是【Memory】、【Archive】、【
7、DB Sizing】、【File Location】。以内存设定为例,DBCA 就提供了相当人性化的设定方式: Typical(典型) 可设定同时间上线人数,并指定 SGA 总容量。较特别的是,SGA 大小是以 “ 物理内存的百分比” 来设定。换句话说,您只要决定这个新数据库能够占用多少内存即可,DBCA 会适当的分配给 SGA 各区域。 Custom(自订) 可以自行决定 SGA 各区域的内存配置数情况。此选项适合较有经验的数据库管理者。图7:配置 Oracle Instance 所需内存。8. 8. 设定数据库封存模式:封存模式(Archive Log Mode)是 Oracle 数据库特
8、殊的运作模式。当数据库启用封存模式时,Oracle9i 会将线上重置日志文件(Online Redo Log Files) 另外备份至特定目录下,这就是所谓的封存(Archive)动作。激活封存模式的优点在于数据库备份工作较有弹性(有关 Oracle9i 数据库备份机制将在未来专栏中介绍),资料交易的安全性也相对提高;但缺点是系统负担较重。如果您欲启用封存模式,请勾选图8中【Archive Log Mode】选项,并设定重置日志封存盘之格式。建议您将重置日志封存盘存放在其它硬盘,可有效提升封存动作之效率。图8:是否启用封存模式。9. 9. 设定资料区块大小、排序内存与字符集:此处有三个重要设定
9、,分别是资料区块大小、排序内存最大值以及字符集。资料区块与字符集已在之前专栏内容介绍过,这里不再赘述。请特别注意排序内存(Sort Area)的设定。一般来说,Oracle9i 会在内存内完成资料排序动作。如果数据库需要经常执行大量资料排序指令,则【Sort Area Size】应设大一点。图9:设定资料区块、排序内存与字符集。10. 10. 指定起始参数文件存放位置:最后一个页签是指定起始参数档与追踪档(Trace files)的存放位置。您可以依照目前系统环境进行适当调整。假如您不清楚目前的 ORACLE_BASE 与 ORACLE_HOME 设定值,可点选右下角的【File Locati
10、on Variables】按钮。图10:指定起始参数文件之存放位置。到这里为止,较重要的数据库设定工作已大致完成,按下【ALL Initialization Parameters】可检视所有起始参数设定值。11. 11. 确认数据库档案存放位置:在真正开始建立数据库以前,DBCA 会整理出各种数据库的存放位置。您可以先展开 Storage 下面的子资料夹,然后检视各档案实际存放路径;必要时可直接修改之。图11:确认数据库档案存放位置。12. 12. 建立数据库模板文件:总算到了最后一个设定窗口,此时只要按下【Finish】就可以开始建立新数据库。尽管如此,还是建议您注意一下此处提供的模板建立功
11、能。数据库模板管理是 Oracle9i DBCA 相当实用的功能之一,它允许您将先前所有数据库设定值储存起来,做为下次建置新数据库的参考。当您勾选【Save as a Database Template】之后就可以在下方的 Name 字段输入模板名称,以及必要的附注说明。图12:选择是否建立此数据库之模板文件。按下【Finish】之后就可以把剩下的工作交给 DBCA 了!它会先建置起始参数档,然后在激活 Oracle Instance 之后进行一连串的工作,如图13所示。实际建置时间需视您的硬设备而定。图13:进行数据库建置过程看到图14之窗口时就可以松一口气了。如果您想知道数据库建置过程详细
12、信息,请到 /opt/oracle/admin/testdb/create 目录下寻找相关纪录文件。有一点需提醒大家,虽然是第二个数据库,但其 SYS 与 SYSTEM 帐号的密码仍分别为 change_on_install 还有 manager,请记得在登入数据库后自行修改。此外,除了 SYS 与 SYSTEM 帐号,其余使用者帐号预设均为锁定状态。您可以点选下方的【Password Management】进行调整。图14:系统预设帐号密码之提示窗口。如何管理第二个Oracle9i 数据库?现在 Oracle9i 服务器上已经建立了两个数据库,应该如何管理呢?目前这两个数据库的配置情况如下图
13、15所示: 第一个数据库是安装 Oracle9i 时建立的,Oracle SID 为 ora901。 第二个数据库是我们刚才透过 DBCA 建立的,其 Oracle SID为testdb。图15:Oracle9i 服务器上两个各自独立的数据库。假定目前我们是用 oracle 帐号登入 Linux 操作系统,如果直接执行 sqlplus 启数据库,您将发现开启的是 ora901 数据库。这是因为目前 ORACLE_SID 设定为 ora901 (在 /etc/profile.d/oracle.sh 档案内设定)。如下图16所示,在激活 Oracle9i 数据库之后,您可在操作系统下执行:ps e
14、f | grep ora_以查看目前系统内运作中 Oracle9i 数据库背景处理程序。图16:从操作系统角度查看激活中 Oracle9i 背景处理程序。那么应该如何激活第二个 Oracle9i 数据库呢? 其实做法有很多种,而最简单的方式就是直接更改 ORACLE_SID 设定值。以 SuSE Linux 7.2 为例,更改 ORACLE_SID 的方式如下:declare ORACLE_SID = testdb更改之后请执行 echo 指令确认之,如图18所示。然后您可以再登入 SQL*Plus 激活 Oracle9i 数据库。这一次您将发现激活的是 testdb 数据库。建议您在数据库激
15、活后查询 v$instance 资料字典视观表:SELECT instance_nameFROM v$instance;查询结果为 testdb,即为目前的 ORACLE Instance 名称。图17: 激活第二个 Oracle9i 数据库。您可以在操作系统下执行: ps ef | grep ora_执行结果如图18所示,第二个 Oracle9i 数据库的背景处理程序也顺利激活。图18:两个 Oracle9i 数据库的背景处理程序同时执行。同理,如果您想关闭 testdb 数据库的话,也可以先将 ORACLE_SID 设定为 testdb。然后在登入数据库后执行 shutdown 指令,如下
16、图19 所示。图19: 关闭 testdb 数据库。后记最近收到相当多读者的来信,除了对Oracle9i 系列文章给予正面肯定之外,也不吝指教许多意见。对我个人而言,真是一则以喜,一则以忧。喜的是愈来愈多人不再害怕 Oracle 数据库,愿意花时间动手尝试安装与组态。忧的是因为个人工作因素,实在没有办法一一为大家解答所有问题。这点真的要请大家见谅!Oracle数据库以往给予一般 IT 人员的印象大概只能用 “高不可攀” 四个字来形容。虽然其数据处理技术凌驾各家厂商,稳坐关系型数据库龙头宝座,但是其系统管理技术却不是三两下可以精通的。也因此让许多人望之却步!我个人认为,任何关系型数据库系统其实都大同小异,只要了解基本架构与运作原理,想精通数据库就事半功倍啰。作者简介何致億,专长为Oracle、SQL Server 等大型数据库系统管理,资料仓储规划建置,以及数据库应用程序系统开发。拥有 MCSD、MCDBA,Oracle OCP,RHCE,SCJP,Borland JBuilder Product Certified等十余项国际认证。目前正致力于Oracle9i应用系统开发,并负责Oracle9i系列书籍中文化与Oracle Press技术校稿工作。他同时也是美商 Oracle 與 Sun Microsystems公司原厂认证讲师。您可以透过hochihyi与他联系。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1