我对linux是绝对的菜鸟,但今天有份工作是给一台装在linux上的oracle服务器设置自动数据备份。这很可能是只做一次的工作,只做一次的东西,时间久了肯定会忘掉,所以把整个安装和配置过程记录下来,供下次需要时翻看。
Linux我是装在vmware上的,大概一个月前装的,当时没记下了,现在也忘记是怎么装的了。
Oracle可以从它的官网上下载,我下载的是oracle 11g(11.2.0.1.0)for linux x86版,地址是http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linuxsoft-085393.html。有两个文件,分别是linux_11gR2_database_1of2.zip和linux_11gR2_database_2of2.zip。
下载下来之后要把文件传到linux上,我用ssh的secure file transfer来传。
1.安装oracle之前,需要先装一些必备。我参考的是http://www.liusuping.com/ubuntu-linux/redhat-linux-oracle-11g-r2.html
有些必备可能之前就已经装上了,所以在安装前,先用rpm –qa|grep xxx来看一下有没有安装。例如要装这个elfutils-libelf-devel,则先运行一下:
[root@localhost Server]# rpm -qa|grep elfutils-libelf-devel 如果已经安装了,会有下面的提示:
[root@localhost Server]# rpm -qa|grep elfutils-libelf-devel elfutils-libelf-devel-static-0.125-3.el5 elfutils-libelf-devel-0.125-3.el5 可以发现,我们grep后面不需要把这个Package的全名写完。
如果没装,则什么提示也没有。此时需要运行下面的命令来安装它。
[root@localhost Server]# rpm -ivh elfutils-libelf-devel* warning: elfutils-libelf-devel-0.125-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing... ########################################### [100%] 1:elfutils-libelf-devel-s########################################### [ 50%] 2:elfutils-libelf-devel ########################################### [100%] [root@localhost Server]# rpm -qa|grep elfutils-libelf-devel elfutils-libelf-devel-static-0.125-3.el5 elfutils-libelf-devel-0.125-3.el5 这个*是通配符,即我们不需要写全,它会自己找。不过要注意的是,需要把linux的安装光盘放进wmware里,然后cd到media/光盘名/Server目录下才能找到这个包。
需要装的包如下:
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 sysstat-7.0.2 unixODBC-2.2.11 unixODBC-devel-2.2.11 我在别的文章里看到的这些包有点不同,有些文章会多出几个,有些会少一些。暂时不纠结到底需要哪些了。
由于我要装的是oracle 11g,是支持RHEL5的,所以不用像有些文章里装10时去改系统的版本。
2.创建用户
# /usr/sbin/groupadd oinstall # /usr/sbin/groupadd dba # /usr/sbin/useradd -g oinstall -G dba oracle # passwd oracle 最后一条命令运行时,会出现提示,让我们输入oracle用户的密码。
3.修改系统参数
用vi命令修改/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 用vi命令修改/etc/security/limits.confi,加入下面的参数:
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 修改/etc/pam.d/login,加入:
session required pam_limits.so 修改/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 安装目录配置:
# mkdir -p /u01/ # chown -R oracle:oinstall /u01/ # chmod -R 775 /u01/ 然后用su oracle命令切换到oracle用户,然后修改用户变量.bash_profile文件:
[oracle@localhost ~]$ vi .bash_profile 增加下面的内容:
export ORACLE_BASE=/u01/app export ORACLE_HOME=$ORACLE_BASE/oracle export ORACLE_SID=liusuping export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin 注销root,用oracle登录,并启动图形界面。
进入下载的oracle那两个zip包所在的文件夹, 我的目录是/usr/tools/oracle,分别解压这两个zip包,如下图:
两个包都要解压,解到同一个目录下,然后运行下面./runInstaller,稍等一会,就弹出了oracle的安装向导,如下图:
但这个向导的显示好像有些问题,一闪一闪的,下面的"下一步"按钮根本点不了。应该是分辨率的问题,装个vmware tool就好了。
Vmware tool装的也不容易,这里就不写出来了。
装完wmware tool之后重启linux后,就可以调分辨率了,调完之后,oracle的安装界面也就不闪了。但安装程序检查系统时,又报了内存不足和交换空间不足的错误。内存不足很好解决,加点内存就行了,但把交换空间调大则需要linux命令来做了。
参考http://lanlfeng.blog.51cto.com/337014/123130 ,依次执行下面的命令:
dd if=/dev/zero of=/opt/image/swap bs=1024 count=2048000 mkswap /opt/image/swap swapon /opt/image/swap 然后用free –m命令来查看现有的交换区是不是变大了。
[root@localhost ~]# free -m total used free shared buffers cached Mem: 1434 1140 293 0 43 848 -/+ buffers/cache: 247 1186 Swap: 3983 0 3983 然后重新运行oracle的安装程序,可以顺利通过检测了: