本文针对的个人用户开发环境,所以在目录结构,用户设置等方面并不严谨,更多注重方便性,如果是用于生产环境,可参考oracle官方文档作相应调整.以下操作,如无特殊声明,均由普通用户"jasmine"完成,不再单独的添加oracle官方文档上要求的用户和用户组,并将"/opt"目录的所有权限赋予"jasmine",11g安装在"/opt/oracle11g/server"下。
命令:
sudo chown jasmine.jasmine /opt
系统软硬件环境,电脑是联想的Y450,OS是Ubuntu 10.04 beta2 64位版,默认选项安装,纯64位环境未安装32位子系统。虽说不是正式版,但已经比较稳定了。Oracle是11gR2 64位版本(以下简称11g)。参考了oracle官方的安装文档和网上的一些文章,总体来说,ubuntu可以完美的运行11g,但由于oracle官方并不直接支持ubuntu,所以细节上有些问题需要注意一下。
安装过程分为如下步骤:
1.安装设置JDK
我个人习惯是Java的一套开发环境都是自己手动处理,不用源里面的,从Java官方网站下载linux下64位JDK,目前的版本是1.6.0_19版,安装在“/opt/jdk1.6.0”目录下,然后设置环境变量,修改文件 "/etc/environment",加入JAVA_HOME环境变量以及将jdk的bin加至路径中,例如
PATH="/opt/oracle11g/server/bin:/opt/jdk1.6.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin: /usr/games" JAVA_HOME="/opt/jdk1.6.0" LANG="zh_CN.UTF-8"
然后解决中文问题,老办法,在jre目录下字体目录中建立"fallback"目录,然后copy或者link你喜欢的字体至目录下.
至此JDK安装及设置完毕。
2.安装必要的软件包
11g所需要的软件包并不多,只要安装build-essential,rpm,libaio,ksh,libtool,libstdc++5这么几个包就够了,像motif和alien等包并不需要。如果源里面没有提供上述的包,可以去http://packages.ubuntu.com/ 查找下载,命令如下:
sudo apt-get install rpm libaio1 ksh libtool libstdc++5 build-essential
至此软件包设置完成。
3.设置目录结构和符号链接
由于各linux发行版之间的差异,需要对系统的一些结构做出调整,具体如下:
sudo ln -s /usr/bin/awk /bin/awk sudo ln -s /usr/bin/rpm /bin/rpm sudo ln -s /usr/bin/basename /bin/basename sudo mkdir /etc/rc.d sudo ln -s /etc/rc0.d /etc/rc.d/rc0.d ...... sudo ln -s /etc/rc6.d /etc/rc.d/rc6.d 也可以为: # for i in 0 1 2 3 4 5 6 ; do ln -s /etc/rc$i.d /etc/rc.d/rc$i.d ; done
然后在"/opt"目录下建立两个目录"/opt/oracle11g/server","/opt/oracle11g/oradata","server"用于存放11g的程序文件,"oradata"用于存放数据库文件。
mkdir /opt/oracle11g/server mkdir /opt/oracle11g/oradata
至此目录结构调整完毕
4.设置系统参数
根据oracle官方文档,修改"/etc/sysctl.conf"文件,加入如下内容
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586
修改"/etc/security/limits.conf",加入如下内容,其中"jasmine"为用户名,可根据实际情况调整。
jasmine soft nproc 2047 jasmine hard nproc 16384 jasmine soft nofile 1024 jasmine hard nofile 65536
修改"/etc/pam.d/login",加入如下内容:
session required /lib/security/pam_limits.so session required pam_limits.so
然后执行命令:
sudo sysctl -p
接下来设置必要的环境变量,修改用户目录下的".profile"文件,加入如下内容:
export ORACLE_BASE="/opt/oracle11g" export ORACLE_HOME="/opt/oracle11g/server" export ORACLE_SID="jasmine" export ORACLE_OWNER="jasmine" export NLS_LANG="Simplified chinese_china.al32utf8"
至此系统参数和环境变量设置完成。
5.开始安装及注意事项
将11g的安装文件解压缩至"/tmp"目录下,然后进入安装文件目录运行命令
./runInstaller -jreLoc /opt/jdk1.6.0/jre
使用我自己的JDK取代11g自带的jdk,避免中文环境下的乱码问题。
安装过程中,选择“仅安装数据库软件”,在安装完成后再自行建立数据库,否则建立数据库时,界面是乱码。对于"先决条件检查“这一步,选择“全部忽略“即可,不必担心。
然后等待....直到完成。当提示以root身份执行脚本时,照做即可。
要点说明:
1.如果是在本机安装,不是通过远程终端连接过来,不需要设置“DISPLAY"环境变量,也不需要执行xhost命令。
2.如果安装过程中出现错误,一般是由于缺少软件包或者参数设置不正确引起的,请仔细核对。
3.为简便起见,所有与数据库相关的用户与用户组,均使用我日常工作的用户和用户组,不再另建。
以下是安装时的截图:
6.后续设置
11g安装完成后,先不要运行netca和dbca,先解决oracle自带jdk的中文问题,目录位于"/opt/oracle11g/server/jdk/",处理办法同第一步,不再赘述。
将11g的bin目录加之路径中,方便使用各种工具。
然后运行"/opt/oracle11g/server/bin"下的"netca"和"dbca",创建监听器和数据库,数据库具体设置根据需要来选择。
注意事项:
dbca的界面有可能与桌面特效产生冲突导致窗体一片空白,如遇到这种情况,关闭桌面特效即可!
启动数据库的相关命令,网上有现成的脚本,不再赘述,如果手动启动,可以执行如下命令:
分别启动监听器,数据库和enterprise management
lsnrctl start sqlplus sys/yourpassword as sysdba SQL> startup SQL> exit emctl start dbconsole
安装截图:
netca
dbca: