1.引言
由于在工作中需要涉及到oracle数据库,因此开始了对oracle的学习。我的机器上面安装了两个操作系统,一个是Windows XP home ,另外一个就是ubantu7.10。个人的感觉还是ubantu好,很省资源,而且效率很高,还有一个原因就是工作中运用的oracle,基本上都是运行在linux/unix主机上面提供服务,因此,就开始了在ubantu7.10上面安装oracle 10g的历程。老实说,这个过程并不顺利,而且网上查找的资料大多数都是ubantu早期的版本,并不是太实用。经历了4次的安装之后,对oracle10g的安装过程终于完成,而这个文档,就是对这个过程的详细描述以及在这个过程中出现问题的集中描述与解决,希望能够对从事同样过程,或者正在经历同样过程的人们有一些帮助。
2.安装准备
要在ubantu7.10上面安装oracle,首先得有一个ubantu7.10,在网上可以免费下载得到。我个人的版本是ubantu7.10桌面版本,而不是网站上提供的服务器版。很多刚由Windows转过来的朋友可能会认为服务器版总会比桌面版多些功能,为此而下载了服务版来用。其实ubantu7.10的服务器版本与桌面版本并没有什么区别,尤其是性能方面。
另外一个要准备的就是oracle10g,可以从网上下载得到,也可以到oracle的官方网站上得到(只需要注册一个用户登陆即可)。
3.安装过程
3.1安装系统必须的包
这一步并不是每个人都需要,因为这些包有可能默认情况下已经安装了(我的系统就已经安装了所有必须的包)。在这一步,可以执行一下如下的命令或者也可以不执行,如果在之后的运行中出现了少包的错误再进行安装也不迟。
apt-get install gcc make binutils lesstif2 libc6 libc6-dev rpm libmotif3 libaio libstdc++5 alien
3.2创建用户
我们需要为安装程序创建一个oracle 用户和两个组. 首先检查它们是否已经存在:
$grep dba /etc/group
$grep nobody /etc/group
如果它们还不在系统中,那么创建它们。
在之前很多教程中都用命令去创建用户。但是在ubantu7.10下面,我发现用命令去创建的用户,无法登陆图形界面(当登陆图形界面时, 就会系统当掉),所以用图形界面的用户管理器增加一下新组叫dba,然后再增加一个普通桌面的用户叫oracle(按默认的设置即可), 设置好用户名与密码。
接着用命令增加一个用户与组
addgroup nobody
usermod -g nobody nobody
3.3 创建目录和设置权限
注意: oracle缺省目录是 /u01 和 /u02. 我们为了和FHS有更好的兼容性,更改为 /opt/oracle 和 /opt/oradata:
#mkdir -p /opt/oracle
#mkdir -p /opt/oradata
#chown -R oracle:dba /opt/ora*
#chmod -R 775 /opt/ora*
3.4修改设置
3.4.1.设置swap区
Oracle10g至少需要500M的内存和400M的交换空间,要查看swap区是否足够大小,用 fdisk -l 命令去查,如果小于400M的空间,那么就要增加swap的大小。
重设交换分区可以使用如下操作:
dd if=/dev/zero of=tmp_swap bs=1k count=900000
chmod 600 tmp_swap
mkswap tmp_swap
swapon tmp_swap
完成安装以后,可以释放这个空间:
swapoff tmp_swap
rm tmp_swap
count 值是根据你需要调整的交换分区大小而定。
3.4.2.修改 sysctl.conf
添加如下的行到/etc/sysctl.conf 中:
kernel.shmmax = 3147483648
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
3.4.3.修改 limits.conf
添加如下的行到/etc/security/limits.conf中:
* soft nproc 2407
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536