最近也是要给客户上系统,无奈客户只是提供了操作系统,数据库并没有安装起来,需要我们自己动手安装,说真的,oracle这东西在windows下装了不少,但是在Linux上可真是没有安装过,这也是第一次装,所以为了以防万一,我提前在本机用虚拟机装了一遍,下面的内容就把大致过程做以记录。
第一次安装,惯例当然是百度上找教程了,找到一篇还不错的教程,我就是按照博主的过程安装的,虽然中间稍微有一点不同,但是基本就是按照他的架子来装的,我这里附上原文地址:http://blog.csdn.net/westmaniac/article/details/6539487?reload
下面是安装过程,可能和原文略有不同,我也是根据具体情况加以更改的
我安装的系统镜像是:[红帽企业Linux.5.6].rhel-server-5.6-x86_64-dvd.iso
由于本人愚钝,当时找这个版本的镜像花了些时间,所以我将这个镜像在百度云共享了,文章末尾我将镜像的共享地址也贴出来。
我将系统要求在这里贴一下,一定要达到最低要求:
内存最少要1GB(建议分配的时候最少1.5GB)
查看内存
[root@oracleserver ~]# grep MemTotal /proc/meminfo MemTotal: 2056620 kB
查看swap
[root@oracleserver ~]# grep SwapTotal /proc/meminfo SwapTotal: 2064344 kB
/tmp目录需要1 GB的空闲空间
查看/tmp目录的空闲空间
[root@oracleserver ~]# df -h /tmp Filesystem Size Used Avail Use% Mounted on /dev/sda2 27G 13G 13G 51% /
安装Oracle软件需要的硬盘空间
Enterprise Edition 3.95(software files)+1.7(data files)
Standard Edition 3.88(software files)+1.5(data files)
查看机器中每个磁盘的空闲空间 [root@oracleserver ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 27G 13G 13G 51% / /dev/sda1 289M 17M 258M 6% /boot tmpfs 1005M 480M 525M 48% /dev/shm
1、以ROOT用户登陆系统
2、检查操作系统软件要求
Oracle官方文档中包含了多个Linux系统的要求,详细请参考官方文档
Fedora 15 (RHEL 5.x)的软件要求列表如下
binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 elfutils-libelf-0.125 elfutils-libelf-devel-0.125 elfutils-libelf-devel-static-0.125 gcc-4.1.2 gcc-c++-4.1.2 glibc-2.5-24 glibc-common-2.5 glibc-devel-2.5 glibc-headers-2.5 kernel-headers-2.6.18 ksh-20060214 libaio-0.3.106 libaio-devel-0.3.106 libgcc-4.1.2 libgomp-4.1.2 libstdc++-4.1.2 libstdc++-devel-4.1.2 make-3.81 numactl-devel-0.9.8.i386 sysstat-7.0.2
查看系统是否安装了该软件包 (其实我对Linux了解比较少,我反正没弄懂这个命令,不知道怎样算行,怎样算不行,所以这一步我直接跳过了) [root@oracleserver /]# rpm -q package_name
3、创建安装Oracle需要的系统组和用户
创建Oracle Inventory 组 [root@oracleserver /]# groupadd oinstall
创建OSDBA 组 [root@oracleserver /]# groupadd dba
创建Oracle软件创建者 [root@oracleserver /]# useradd -g oinstall -G dba oracle
修改oracle用户的密码 [root@oracleserver /]# passwd oracle
4、配置系统内核参数值
编辑/etc/sysctl.conf文件 [root@oracleserver /]# vim /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/sysctl.conf立即生效) [root@oracleserver /]# sysctl -p
5、检查Oracle安装用户(oracle)资源限制
修改/etc/security/limits.conf文件 [root@oracleserver /]# vim /etc/security/limits.conf 在打开的文件底部添加下面内容 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240
6、创建安装Oracle软件所需要的目录
[root@oracleserver /]# mkdir -p /home/oracle_11/app/ [root@oracleserver /]# chown -R oracle:oinstall /home/oracle_11/app/ [root@oracleserver /]# chmod -R 775 /home/oracle_11/app/
7、配置安装Oracle安装用户(oracle)的环境
编辑 /home/oracle/.bash_profile
[root@oracleserver /]# vim /home/oracle/.bash_profile 在打开的文件中添加下面内容 umask 022 export ORACLE_BASE=/home/oracle_11/app export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1 export ORACLE_SID=orcl --Oracle实例名,可修改 export PATH=$PATH:HOME/bin:$ORACLE_HOME/bin
编辑 /etc/pam.d/login [root@oracleserver /]# vim /etc/pam.d/login 在打开的文件中添加下面内容 session required /lib/security/pam_limits.so session required pam_limits.so
编辑 /etc/profile [root@oracleserver /]# vim /etc/profile 在打开的文件中添加下面内容 if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
8、查看系统是否支持图形界面
查看root用户下是否已设置DISPLAY变量
[root@oracleserver /]# echo $DISPLAY
如果有值出现,则说明已设置DISPLAY变量;否则,就需要手动设置DISPLAY
9、开始安装Oracle软件
进入你下载好的文件存放的目录
[root@oracleserver /]# cd /tmp [root@oracleserver /]# unzip linux_11gR2_database_1of2.zip linux_11gR2_database_2of2.zip [root@oracleserver /]# xhost + [root@oracleserver /]# su - oracle [oracle@oracleserver ~]$ export DISPLAY=:0 [oracle@oracleserver ~]$ cd /database [oracle@oracleserver ~]$ ./runInstaller 接下来系统会启动Oracle图形安装界面,安装过程和Windows下一样
这里我要补充的是,我在安装的时候不知道为什么界面总是闪烁,这时候你要多等会,而且我的界面下面部分的按钮是没有出现的,所以我都是用鼠标选中选项后直接敲回车,刚开始的第一步可以什么都不填跳过的,有时候你不得不需要点击右下角按钮区域的next,怎奈它就是不出来,这时候建议你将虚拟机窗口最大化,然后再上放菜单选择--查看---立即适应客户机,这样下方你会看到隐约闪现的next,使劲点,总有一下可以点上的。
我在上面跳过了第二部检查软件包的过程,这时候Oracle安装程序就会自动列出你缺少哪些包:
截图怎么也弄不上来,我的缺少的是:
compat-libstdc++-33-3.2.3
elfutils-libelf-devel-0.125
glibc-devel-2.5
libaio-devel-0.3.106
sysstat-7.0.2
unixODBC-2.2.11
unixODBC-devel-2.2.11
其实就是缺这几个包了,但是我不知道为啥他把有些包列出了两次,我就下载了这些包然后yum了一下,顺便提一句,这些包都可以在这个网站下载到:http://rpmfind.net/linux/rpm2html/search.php
进去后只需要输入英文部分,就可以搜索到你想要的包,我的全部都是从这里下载的,我就不再单独附加了。
Linux下的Oracle在安装结束后是处于运行状态的。重启机器后,Oracle不会像在Windows下那样将Oracle添加到Windows服务,在linux下需要手动启动Orcle服务
以oracle用户下,执行下面的命令 进入sqlplus [oracle@oracleserver ~]$ sqlplus /nolog 以sysdba的身份连接到数据库,并启动Oracle数据库引擎 SQL> conn /as sysdba SQL> startup 退出sqlplus,运行Listener SQL> exit $ lsnrctl start
有可能会遇到这个错误:sqlplus: error while loading shared libraries
解决方法是:http://blog.csdn.net/wankaiming/article/details/7716662 这个地址有解决方法,为了防止博主搬家,我将解决方法也复制一份到这里
解决方法: [oracle@dg1 ~]$ sqlplus /nolog bash: sqlplus: command not found [oracle@dg1 ~]$ ln -s $ORACLE_HOME/bin/sqlplus /usr/bin ln: creating symbolic link `/usr/bin/sqlplus‘ to `/bin/sqlplus‘: Permission deni ed [oracle@dg1 ~]$ su - root Password: [root@dg1 ~]# ln -s $ORACLE_HOME/bin/sqlplus /usr/bin [root@dg1 ~]# su - oracle [oracle@dg1 ~]$ sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on Mon May 11 12:51:24 2009 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> conn / as sysdba Connected to an idle instance. SQL> startup ORACLE instance started. Total System Global Area 167772160 bytes Fixed Size 1218316 bytes Variable Size 79694068 bytes Database Buffers 83886080 bytes Redo Buffers 2973696 bytes Database mounted. Database opened. SQL>
其他一些配置如开机启动什么的我就不再搬博主的原文了,有兴趣的可以去博主原文看看,再写一次原文地址:http://blog.csdn.net/westmaniac/article/details/6539487?reload 这里面还是比较全的,我配置就到这里了,没有添加什么开机启动的,所以我也就不再写了。
PS:
----------------------------------------------
镜像地址:[红帽企业Linux.5.6].rhel-server-5.6-x86_64-dvd.iso---------http://pan.baidu.com/s/1mg0smYc