由于cent-OS在收费方式上的特性,使得cent-OS系统更能被中小企业接受,而cent-OS在各个方面的性能都和red-hat比较类似,这就使得cent-OS作为很好的linux平台而被广泛使用。由于工作需要,在linux下平台上安装linux是必须掌握的。这里,我就将我个人的操作整理下来。对于一般的环境而言,是没有问题的。具体的情况请参考oracle的官方文档。我的一个建议:在给客户搭建oracle环境前,请询问客户linux的操作平台,然后在自己的虚拟机上实验,等实验通过了再上真实环境安装。
由于大部分的数据机房都在标准的数据中心,那么就需要远程搭建oracle环境。这里,我就用一个台式电脑模拟真实的环境。在个人的笔记本上运行终端程序。终端程序建议使用SercureCRT。由于我的上篇文章已经对yum的搭建进行了介绍,这里就不再介绍yum的搭建。Yum是个很灵活的操作,灵活使用和排错是linux工程师的必须本领。
前提,硬件的要求:
在oracle官方的文档中,要求至少1GB RAM. SWAP分区和RAM的关系要求如下:
RAM SWAP
高于512MB
------- 2倍的RAM
在1024MB和2048MB之间
------- 1.5倍的RAM
在2049MB和8192MB之间
------- 和RAM相等
大于8192MB
------ 0.75 倍的RAM
通过/proc/meminfo来查看相应的主机的内存配置,通过free命令也可以相应的查看到。
[root@localhost CentOS]# grep MemTotal /proc/meminfo
MemTotal:
515308 kB
[root@localhost CentOS]# grep SwapTotal /proc/meminfo
SwapTotal:
1020116 kB
一,oracle安装的准备操作。
1,上传oracle安装包。
[root@localhost ~]# rz
在secureCRT中,rz命令非常好用,可以任意的向主机以asc2码的形式传输各种各样的文件。
[root@localhost ~]# rz
rz waiting to receive.
正在开始 zmodem 传输。 按 Ctrl+C 取消。
正在传输 oracle-10201_database_linux32.zip...
100% 653060 KB 7421 KB/s 00:01:28
0 错误
奫root@localhost ~]#
[root@localhost ~]# ll
total 653748
-rw------- 1 root root
860 Jan 26 04:41 anaconda-ks.cfg
-rw-r--r-- 1 root root
14498 Jan 26 04:41 install.log
-rw-r--r-- 1 root root
2886 Jan 26 04:41 install.log.syslog
-rw-r--r-- 1 root root 668734007 Dec 27 23:28 oracle-10201_database_linux32.zip
[root@localhost ~]#
这里,我们看到在root的用户的根目录下出现了安装文件。
2,建立好相应的安装用户,组,目录。
根据linux的官方安装文档,安装linux需要相应的组,相应的用户,相应的权限。这里我们分别建立。
[root@localhost ~]# groupadd oinstall
**建立oracle安装组
[root@localhost ~]# groupadd dba
**建立DBA用户组
[root@localhost ~]# useradd oracle -g oinstall -G dba
**添加oracle用户主组为dba 副组为oinstall
[root@localhost ~]# passwd oracle
**为oracle用户设定密码,默认设置为oracle
Changing password for user oracle.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# mkdir -p /u01/app/oracle
**建立oracle的目录
[root@localhost ~]# cp /etc/skel/.bash_profile /u01/app/oracle
**拷贝环境变量文件
[root@localhost ~]# cp /etc/skel/.bash_logout /u01/app/oracle
**拷贝环境变量文件
[root@localhost ~]# mkdir -p /u01/app/oracle/product/10g/db_1
**建立oracle的家目录,以后数据文件等都存放在这里
[root@localhost u01]# ls -ld /u01
**查看下oracle主目录的用户,组,和权限
d-wx--x--x 3 root root 4096 Jan 26 05:29 /u01
[root@localhost u01]# chown -R oracle:oinstall /u01
**将oracle的主目录的用户改为oracle组改为oinstall
[root@localhost u01]# ls -ld /u01
d-wx--x--x 3 oracle oinstall 4096 Jan 26 05:29 /u01
**目录的用户和组已经改好,但是权限不够。
[root@localhost u01]#
[root@localhost u01]# chmod -R 755 /u01
**分配oracle作为DBA和安装者具有所有的权限,其他的没有写的权限。
[root@localhost u01]# ls -ld /u01
drwxr-xr-x 3 oracle oinstall 4096 Jan 26 05:29 /u01
3,设置oracle用户使用数据库的环境变量。
[oracle@localhost ~]$ su - oracle
Password:
[oracle@localhost ~]$ vi .bash_profile
**在每个用户的家目录下都隐藏一个环境变量文件。在切入用户后最先执行
将这个文件改成这样:(切记改文件前先备份为.bak文件,这是个好习惯)
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
**这里的脚本函数表示只要有这个文件,就先执行这个脚本文件的内容
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
**原本的环境变量是由用户的SID决定的。
export PATH
path=$PATH:$HOME/bin
export ORACLE_BASE=/u01/app/oracle
**定义出oracle的主目录
export ORACLE_HOME=$ORACLE_BASE/product/10g/db_1
**定义出oracle的家目录是在主目录下的product/10g/db_1
export ORACLE_SID=orcl
**定义出oracle的实例名,即登录时使用哪个实例
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
**定义出oracle的一些可执行命令的位置
export TNS_ADMIN=$ORACLE_HOME/network/admin
**定义出oracle的TNS监听
export TLS_LANG=AMERICAN_AMERICA.ZHS16GBK ZHS16GBK
**定义出oracle的字符集设置,这里用了英语字符集和简体中文
改过后保存,使用[oracle@localhost ~]$ source ~/.bash_profile 重置环境变量。[oracle@localhost ~]$ env |grep ora 查看设置是否生效。
二,依赖组件的安装。
前期工作完成后,就要进行相关依赖包的安装。这个步骤很关键。所需要的依赖包必须都装上。首先要查看内核版本,oracle官方对linux的版本对应的安装包有明确的要求,目前常用的版本均按着下面的包安装即可。使用rpm –qa |grep “组件名”一个一个查看,如果没有,就使用yum安装。一定要搭建yum,否则会崩溃的。
1,binutils-2.17.50.0.6
2, compat-libstdc++-33-3.2.3
3.
elfutils-libelf-0.125
4.
elfutils-libelf-devel-0.125
5.
elfutils-libelf-devel-static-0.125
6.
gcc-4.1.2
7. gcc-c++-4.1.2
8.
glibc-2.5-24
9.
glibc-common-2.5
10. glibc-devel-2.5
11. glibc-headers-2.5
12. kernel-headers-2.6.18
13. ksh-20060214
14. libaio-0.3.106
15. libaio-devel-0.3.106
--
16. libgcc-4.1.2
17. libgomp-4.1.2
18. libstdc++-4.1.2
19. ibstdc++-devel-4.1.2
20. make-3.81
21. numactl-devel-0.9.8.i386
22. sysstat-7.0.2
23. unixODBC-2.2.11
24. unixODBC-devel-2.2.11
三:修改系统内核,修改系统参数。
1,同样,修改文件先备份。
[root@localhost /]# cp /etc/profile /etc/profile.bak
[root@localhost /]# vi /etc/profile
找到这一行:ulimit -S -c 0 > /dev/null 2>&1 改成 ulimit -S -c unlimited > /dev/null 2>&1后保存。
2,修改系统内核参数
[root@localhost /]# cp /etc/sysctl.conf /etc/sysctl.conf.bak
[root@localhost /]# vi /etc/sysctl.conf
在原有基础上加入这么几行:
fs.suid_dumpable = 1
fs.aio-max-nr =1048576
fs.file-max = 6815744
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
保存。
[root@localhost /]# cd /etc/
[root@localhost etc]# sysctl –p
***使得刚才的配置生效。
3,配置linux下进程数和最大的会话数。
[root@localhost /]# cp /etc/security/limits.conf /etc/security/limits.conf.bak
[root@localhost /]# vi /etc/security/limits.conf
在文件的最后添加下面的几行
oracle
soft nproc 2047
oracle
hard nproc 16384
oracle
soft nofile 1024
oracle
hard nofile 65536
保存。
4,进行关联的设置。
[root@localhost /]# cp /etc/pam.d/login /etc/pam.d/login.bak
[root@localhost /]# vi /etc/pam.d/login
添加下面一行数据
session
required /lib/security/pam_limits.so
在/etc/profile 文件中添加以下内容(注意shell脚本中的空格)
[root@localhost etc]# cp profile profile.bak
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
5,拷贝解压oracle安装文件。
[root@localhost ~]# mv oracle-10201_database_linux32.zip /u01/app
***将oracle压缩安装包转移到oracle的安装目录中
[root@localhost app]# unzip oracle-10201_database_linux32.zip
***将压缩包解压缩
四:配置远程图形界面vnc
具体的配置vnc服务我在上一篇博客里已经详细介绍了。这里迅速搭建出vnc服务。Kde 或者gnome组件一定要装好。
[root@localhost CentOS]# yum install vnc-server-4.1.2-14.el5_3.1.i386.rpm
[root@localhost opt]# vncserver :1
***启动vnc服务,设置密码
[root@localhost /]# vi /root/.vnc/xstartup
去掉2个#号即可使用KDE界面。
unset SESSION_MANAGER
***去掉顶上的#
exec /etc/X11/xinit/xinitrc
***去掉顶上的#,将其生效
重启下服务。
[root@localhost .vnc]# vncserver -kill :1
Killing Xvnc process ID 3383
[root@localhost .vnc]# vncserver :1
或者:
[root@localhost .vnc]# /etc/init.d/vncserver restart
使用vncview登录或者IE使用
http://10.212.7.77:5801登录。
五:开始安装。
1,切换到oracle用户下,进入oracle的安装目录中。(在图形界面下操作)
[root@localhost /]# su – oracle
***安装oracle时不能使用root用户
[oracle@localhost ~]$ cd /u01/app/database
***切换到oracle的安装目录下 database是解压出来的安装文件
[oracle@localhost database]$ ./runInstaller
***执行OUI安装。
如果遇到提示linux版本不对的问题,像如下的方式解决问题。
[root@localhost etc]# cp /etc/redhat-release redhat-release.bak
[root@localhost etc]# vi /etc/redhat-release
将版本改成oracle要求的版本就行。剩下的就在/u01/app/database/目录下执行./runInstaller好了。