2.3 创建数据库
安装好Oracle 10g以后,接下来我们就应该创建数据库。创建数据库有两种方法,一种是采用脚本的方式,这种方式适用于有经验的用户,对于初学者不合适,因为这个脚本写起来还是比较复杂的。另一种就是采用图形界面的方式,它采用启发式的方法,在我们输入创建数据库所需要的所有信息以后,最后再进行数据库的创建工作。
我们先来看一下图形接口的方式,调用dbca脚本来打开该图形接口,如图2-5所示。
图2-5 dbca界面1
注 意 这里的dbca表示DataBase Configuration Assistant,也就是数据库配置助手的意思。
$ dbca
这里输入的dbca实质是一个脚本,并不是一个二进制的可执行文件。该脚本一旦运行,则会打开如图2-5所示的界面。图2-5中的①部分显示的是欢迎界面,直接单击“Next”按钮,进入图2-5中的②部分。在这里可以看到其中包含5个选项,其中的“Configure Database Options”和“Delete a Database”这两个选项不可用,是因为目前在我们的主机上没有任何数据库;而第一个选项“Create a Database”用来创建数据库;“Manage Templates”用来管理模板。所谓模板,指的是我们可以将我们在dbca中所指定的有关创建数据库的选项信息保留下来,这样可以在下次创建数据库时直接把该模板拿来使用,而不需要在dbca界面上进行过多的选择;最后一个选项“Configure Automatic Storage Management”表示进行ASM的配置,有关ASM的信息在第16章中有详细说明。我们选择第一个选项,单击“Next”按钮。进入下一个界面,如图2-6所示。
图2-6 dbca界面2
在图2-6中,我们可以看到,Oracle已经预先建立了4个模板,分别是Data Warehouse、Transaction Processing、General Purpose以及Custom Database。如果我们的数据库属于数据仓库用途,则选择“Data Warehouse”模板,因为Oracle已经针对数据仓库进行了有针对性的配置选择;而如果我们的数据库属于联机应用的,则选择“Transaction Processing”模板;如果我们的数据库属于混合型应用,则选择“General Purpose”模板;如果我们希望所有的选项都自己设置,而不是利用Oracle预先做好的设置,则可以选择“Custom Database”模板。在这里,我们选择“General Purpose”,单击“Next”按钮,进入下一个界面,如图2-7中的①所示。
在图2-7的①界面中,dbca要求我们输入数据库的名称以及SID的名称。这里“Global Database Name”表示的是全局数据库名,可以在名称后面跟上我们主机所在的域名,表示该数据库在整个网络环境中都是唯一的。而SID则表示管理数据库的实例名,该实例名只要在主机上是唯一的就可以了。对于不同的主机,其实例名可以相同。这里,假设数据库所在的主机不在域里面,则全局数据库名就叫ora10g,默认SID就等于全局数据库名,可以修改它,但是不建议这样做。然后继续单击“Next”按钮,进入下一个界面,如图2-7中的②所示。
图2-7 dbca界面3
在图2-7的②的界面中,我们可以选择是否要配置Oracle的图形接口管理工具,该管理工具叫做Enterprise Manager,简称EM。EM采用网页形式对数据库进行管理。有两种类型的EM:一种是采用Grid Control,它可以管理多台主机以及多个数据库;而另一种则是采用Database Control,一个Database Control只能管理一个数据库。如果要使用Grid Control,则必须在主机上安装agent,由于我们的主机上并没有安装agent,所以无法选择Grid Control,只能选择Database Control。同时我们还可以指定是否启用邮件通知告警信息以及启动自动的备份工作。我们只选择配置Database Control,然后单击“Next”按钮,进入下一个界面,如图2-8中的①所示。
图2-8 dbca界面4
在图2-8的①界面中,dbca要求我们输入相关用户的密码。可以选择为所有用户都指定相同的密码,也可以分别为不同的用户指定不同的密码。其中,用户sys为数据库的超级用户,拥有所有权限;而用户system则比用户sys权限少,比如不能关闭和启动数据库等;用户dbsnmp和sysman则为Database Control所需要用到的表的所有者,如果我们没有选择安装EM,就不会出现这两个用户。输入密码以后,单击“Next”按钮,进入下一个界面,如图2-8中的②所示。在这里,dbca让我们选择采用什么方式来存放数据库相关的文件。有三种选择:传统的文件系统方式、Oracle 10g新引入的ASM的方式以及传统的裸设备方式。我们选择文件系统的方式,单击“Next”按钮,弹出的界面如图2-9中的①所示。
图2-9 dbca界面5
在图2-9的①界面中,我们可以选择数据文件的存放位置,同时还可以单击“File Location Variables”按钮,从而显示具体的目录。我们选择从模板里定义的路径,单击“Next”按钮。进入下一个界面,如图2-9中的②所示。
在图2-9的②界面中,dbca让我们选择是否启用闪回恢复区域以及是否启用归档。这里的闪回恢复区域是Oracle 10g新引入的概念,它其实就是一个目录,这个目录可以在文件系统上,也可以在ASM里。该目录主要用于存放数据库的备份文件。使用闪回恢复区域的最大好处在于,该空间由Oracle自己管理,如果空间不足,则Oracle会根据所设定的备份冗余策略,自动删除一些不需要的备份文件,从而释放出空间。
如果我们启用了闪回恢复区域,则还需要指定该闪回恢复区域的大小,一般建议该区域的大小为整个数据库大小的两倍。我们启用闪回恢复区域,禁用归档。然后单击“Next”按钮,进入下一个界面,如图2-10中的①所示。
在图2-10的①界面中,我们可以选择是否安装Oracle自带的测试用例,我们选中“Sampel Schema”前面的复选框,然后单击“Next”按钮,进入图2-10中的②界面。在这里,我们可以设定数据库实例所使用的内存空间的总容量。我们采用Oracle 10g的自动内存管理(具体见第5章),指定为实例分配60%的物理内存容量。我们还可以单击“Character Sets”,进入图2-10中的③界面。在这里,我们可以根据需要选择不同的字符集,如果我们的数据库只用来存放中文的话,则可以选择ZHS16GBK作为数据库字符集。然后单击“Next”按钮,进入下一个界面,如图2-11中的①所示。
图2-10 dbca界面6
图2-11 dbca界面7
图2-11中的①界面用来说明数据库相关的文件都放在哪里,这些文件包括控制文件、数据文件以及联机日志文件。我们可以一一选中不同的文件,然后修改其所在的路径。我们保留默认值,然后单击“Next”按钮,进入下一个界面,如图2-11中的②所示。在这里,我们可以选择直接创建数据库,也可以选择将刚才所做的配置保存成一个模板,还可以选择根据我们刚才所做的配置生成脚本文件。我们直接选择“Create Database”,单击“Finish”按钮。这时会弹出一个Summary的窗口,让我们最终确认所有的配置选项,单击“OK”按钮,则正式开始创建数据库,如图2-12中的①所示。
数据库创建完毕以后,弹出图2-12中的②界面,其中我们可以确定数据库名、SID以及初始化参数文件所在的路径。同时,我们还可以看到Database Control的URL,我们可以根据该URL地址登录到Database Control管理界面。我们可以单击“Password Management”按钮,从而弹出图2-12中③所示的界面。在这里我们可以为不同的Oracle用户解锁,同时输入新的密码。如果点击图2-12的②界面中的“Exit”按钮,则退出dbca界面。
图2-12 dbca界面8
至此,我们就成功地创建了一个Oracle数据库。