Thursday, January 27, 2011

批注:CentOS 5.2下Oracle 10G 安装详解

原贴:CentOS 5.2下Oracle 10G 安装详解
参考:把Oracle 10g安装到CentOS 5.4的简捷途径

在安装过程中,发现一些问题,特此备注。


CentOS 必需的安装包
* GNOME Desktop Environment
* Editors
* Graphical Internet
* Text-based Internet
* Development Libraries
* Development Tools
* Legacy Software Development
* Server Configuration Tools
* Administration Tools
* Base
* Legacy Software Support
* System Tools
* X Window System
注意:为SWAP分配的空间要超过1G要不然后面装Oralce会因为空间不足而无法安装。并且要关闭防火墙,关闭SELIINUX

===> 
参考贴里有安装包的英文名字,可以用rpm -q来检查。
在图形界面里,用“添加/删除软件”也很方便,连检查带安装一起完成。
其实,在安装过程中还是少了1个libstdc++的包。系统里只有版本6。oracle需要版本5。
oracle安装程序会给retry的机会。到时候,把所有的libstdc++都选上安装后,就可以继续安装进度。

===>
需要扩大swap,请参考Linux系统中增加Swap分区大小
没想到交换区也可以分块,很灵活。
1、检查当前的分区情况:
    [root@localhost]#free -m
2、增加交换分区文件及大小,如果要增加2G大小的交换分区,则命令写法如下,其中的 count 等于想要的块大小。
    [root@localhost]# dd if=/dev/zero of=/home/swap bs=1024 count=2048000
3、设置交换文件:
    [root@localhost]# mkswap /home/swap
4、立即启用交换分区文件
     [root@localhost]# swapon /home/swap
5、如果要在引导时自动启用,则编辑 /etc/fstab 文件,添加行:
    /home/swap swap swap defaults 0 0
系统下次引导时,它就会启用新建的交换文件,再查看SWAP分区大小发现增加了2G。

修改host文件
Hosts File
# vi /etc/hosts
192.168.10.10 oracle oracle.localdomain oracle
127.0.0.1 oracle localhost.localdomain localhost
注意:你要把192.168.10.10改成你自己的IP,我这里只是写我本机的IP的。
===> 
照做


设置内核参数
# vi /etc/sysctl.conf
在行末添加以下内容
#use for oracle
#kernel.shmall = 2097152
#kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
再运行sysctl -p应用以上参数
# /sbin/sysctl -p
===> 
其实不必。
安装过程中,oracle会指出默认的shmall偏小。改用原有设置就通过了。
后面的网络配置也没有必要,数据库只有我自己学习用,不会有很多连接。

设置最大打开文件数
# vi /etc/security/limits.conf
在行末添加以下内容
#use for oracle
* soft nofile 65536
* hard nofile 65536
===> 
照做

设置会话
# vi/etc/pam.d/login
行末添加以下内容
sessionrequired /lib/security/pam_limits.so
===> 
照做


查询所需安装包是否完整
以root用户在终端中执行以下命令:
rpm -q gcc make binutils openmotif setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel
如果没有安装这些包的话,可以在CentOS安装光盘的CentOS目录下找到相应的rmp文件来安装,如果你的服务器可以联网的话,也可以通过yum的方式下载安装,在终端中执行以下命令:
# yum -y install setarch-2*
# yum -y install make-3*
# yum -y install glibc-2*
# yum -y install libaio-0*
# yum -y install compat-libstdc++-33-3*
# yum -y install compat-gcc-34-3*
# yum -y install compat-gcc-34-c++-3*
# yum -y install gcc-4*
# yum -y install libXp-1*
# yum -y install openmotif-2*
# yum -y install compat-db-4*
按命令提示的下载安装,所需的时间取决于你的网速。如果不能上网则可以从光盘安装具体的安装方法是先挂载光驱使用 mount /dev/cdrom /media 然后cd /media 就可以进入光盘目录了。再使用rpm -ivh xxx.rpm格式来安装。(注意XXX为你要安装的安装包名字
可能安装完了以后用上述命令查看还是会出现某些包没有安装的信息这个不用理会,据说是rpm的BUG。
package compat-gcc-c++ is not installed
package compat-libstdc++ is not installed
package compat-libstdc++-devel is not installed
===>
跳过,已经做了

建立oracle用户及组
# groupadd oinstall
# groupadd dba
# groupadd oper
# useradd -g oinstall -G dba oracle
# passwd oracle
===> 
照做。
问题1:是oper组没有用到?
问题2:不允许设置简单的密码,如123456?


oracle数据库下载
* Oracle Database 10g Release 2 (10.2.0.1) Software
去Oracle的官方网站下载。
===>
我用了oracle10.2.0.2 for linux x86,后续还要打补丁。



建立ORACLE_HOME目录,解压数据库安装文件
# unzip 10201_database_linux32.zip
# mv database /tmp/
# chown -R oracle.oinstall /tmp/database
===> 
照做。


修改操作系统版本标识
# vi /etc/redhat-release
#CentOS release 5.2 (Final)
redhat-4
===> 
照做。


修改ORACLE环境变量
# su - oracle
$ vi .bash_profile
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/home/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
===> 
这里有问题。
问题1:在图形界面的终端里,这些设置不能生效。每次都要执行一遍才行。同事把这些配置转到".bashrc"中就好了。他的解释是:bashrc是在每个session初始化时都会运行的。
问题2:$ORACLE_BASE不适合我手头的安装程序,要改为/home/oracle/oracle
问题3:if开始那段没有必要,启动实例是好像会在这里报错。


配置XDMCP
对于GDM
# vi /etc/gdm/custom.conf
[xdmcp]
Enable=1
注意:custom.conf这个文件可能是只读文件,需要改成可写属性才能修改。
===>
跳过,安装系统时,已经做了。


因为默认centos5.1不支持10.2,0.1,修改安装文件
#vi /tmp/database/install/oraparam.ini
找到### #[Certified Versions]
Linux=redhat-3,SuSE-9,redhat-4,centos-5,UnitedLinux-1.0,asianux-1,asianux-2再后面添加
[Linux-centos-5.2-optional]
TEMP_SPACE=80
SWAP_SPACE=150
MIN_DISPLAY_COLORS=256
===>
照做


安装oracle数据库
# su - oracle
$ export DISPLAY=192.168.10.3:0.0
$ /home/oracle/database/runInstaller
注意:这里的IP192.168.10.3是你的另外一台电脑,这台电脑使用的是windows系统,能过这台电脑安装远程界面来远程安装数据库的。下载Xmanager 2.0连接远程服务器的桌面来连接这台Centos服务器就可以通过桌面形式来安装数据库了。
===>
安装界面显示乱码。
原因是操作系统使用了中文字体。
临时更改语言就可以了。export LANG=en_US

1. Select Installation Method
选择Advanced Installation
2. Specify Inventory Directory and Credentials
3. Select Installation Type
选择Enterprise Edition
4. Specify Home Details
Name文本框中填写db_1
5. Product-Specific Prerequisite Checks
6. Select Configuration Option
选择create a database
7. Select Database Configuration
选择General Purpose
8. Specify Database Configuration Options
选择Select Database character set : UTF-8
9. Select Database Management Option
选择Use Database Control Database Management
10. Specify Database Storage Option
选择File System
11. Specify Backup and Recovery Options
选择Do not enable Automated backups
12. Specify Database Schema Passwords
选择Use the same password for all the accounts
13. Summary
14. Install
15. Configuration Assistants
16. Database Configuration Assistant
17. Database Configuration Assistant Password Management
选择Password Management,除system以外全部锁定
===>
很遗憾,没有选用advance设置,
选定标准版后,其他都是采用默认设置。
1,检查安装环境时,警告shmm....不够,还原/etc/sysctl.conf
2,检查安装环境时,警告内存不够,最少要1g,我只有512m。warn见多了,不管继续安装。

18. Execute Configuration Scripts
在root环境中执行
# /home/oracle/oraInventory/orainstRoot.sh
# /home/oracle/product/10.2.0/db_1/root.sh
19. End Of Installation
===>
照做


恢复操作系统版本
# vi /etc/redhat-release
CentOS release 5.2 (Final)
===>
照做

设置数据库开机自动启动
# /etc/oratab
orcl:/home/oracle/product/10.2.0/db_1:Y
===>
错误:这个路径上要有2个oracle.
问题:不知道是否可以用$ORACLE_HOME替代?

# vi /etc/rc.local
su - oracle -c ‘dbstart’
===>
错误:单引号不是英文字体。

# su - oracle
$ vi /home/oracle/product/10.2.0/db_1/bin/dbstart
===>
错误:这个路径上要有2个oracle.

第78行修改为
ORACLE_HOME_LISTNER=$ORACLE_HOME/
===>
错误:$ORACLE_HOME后面不要加"/",因为脚本在引用这个变量时会加"/"的。

上述问题是这样发现的:
1,先用ps -aef | grep ora,没有发现实例进程。说明没有自动启动。
2,执行dbstart报错,检查相关日志,就可以发现上述问题。


数据库相关命令
$ dbstart [ start | status | stop ]
$ lsnrctl [ start | status | stop ]
$ emctl [ start | status | stop ] console
$ sqlplus /nolog
>connect system/passwd as sysdba
===〉
用sqlplus "/ as sysdba",可以连上。

DBCA - Database Configuration Assistant
$ dbca

启动EM
http://localhost:1158/em/
至此已经完成数据库安装了。我在此仅把我的安装过程分享给大家。

No comments:

Post a Comment