唉,项目规定要用Oracle,我这种内存小、cpu主频低的电脑真的不太想用这个大型的数据库。
没办法,评审的时候可能要用到我的电脑,只能先把数据库配置好。
安装Oracle还是非常方便的,因为openSUSE有SUSE企业版的支持,官方提供了一个rpm包(orarun),安装了这个包之后,稍微修改一些环境变量,其他的内核参数都会自动修改。具体的安装方法在:http://en.opensuse.org/Oracle_on_openSUSE
运行了Oracle之后(由orarun安装的启动脚本,可以在/etc/init.d/下运行Oracle或直接使用rcOracle启动),所有的参数都会被修改,Oracle用户和dba用户组都会被创建,只要在database/install/oraparam.ini中把认证的系统版本修改为自己的系统就可以了,具体的上面的网址上有介绍。使用Oracle用户登录后,运行Oracle安装程序后,所有中文会乱码,最简单的方法就是把Oracle用户的语言设置为英文(export LANG=us_EN),这样安装语言就变成了英文。
安装完之后,因为我建的默认数据库的sid和项目配置文件中的不同,所以准备新建一个数据库。还是要用Oracle用户登录,使用dbca可以使用Oracle的向导新建数据库。为了避免乱码,还是可以设置语言为英文。
创建好数据库后,因为两个数据库的sid不相同,而Oracle的配置文件中默认使用的是系统安装时默认的sid,也就是说启动的数据库是默认的那个数据库。为了使用新创建的数据库,需要先更改环境变量Oracle_SID,使用export命令将Oracle_SID临时改为新创建的sid,然后就可以使用sqlplus登录,启动数据库了,使用lsnrctl来启动数据库监听。也可以使用emctrl启动dbconsole,这样就可以通过网页的企业管理器进行数据库的操作。
数据库创建完后,就是创建表了。在创建表的时候又遇到了一个问题,我使用了sys用户进行登录并创建表,这样会导致无法创建触发器。大概是为了安全性考虑,Oracle禁止在sys上创建触发器。所以我先创建了一个用户。在给用户分配权限的时候太麻烦了,160多种权限啊,还好分配了角色之后,有的权限就自动有了。然后再用新创建的用户(user级别)就成功创建了所有的序列、表和触发器。
一直以为自己不会用到Oracle,所以老师上课的时候没有怎么听,平时也不会去看这种东西,导致我启动数据库就查了很长时间的资料,郁闷啊、麻烦啊!