第1部分 安装操作系统
首先需要安装系统….Red Hat Enterprise Linux 2.1,Red Hat Enterprise Linux 3,Novell SUSE Linux Enterprise Server 8 是通过 oracle 10g认证的三个linux发行套件,不知道oracle 10.3有没有对这个修改。默认情况下,oracle 10g只能在rh的这两个版本安装,如果不是上面两个,运行安装程序会直接打印错误。不过也有方法在别的版本安装的,后面有说明。
按照上一篇文章,安装linux的时候可以不选择图形界面,这样还可以节省不少空间。按照oracle的文档,说需要安装下面的这些软件包。
rpm -q gcc make binutils openmotif setarch compat-db compat-gcc \ compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel
我实际安装过程中,compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel 这几个包我没有安装也可以安装oracle。
第2部分 针对oracle配置linux
oracle 对系统硬件配置的一些要求。
内存 > 512MB
swap > 1GB
oracle软件 > 2.5GB
数据文件 > 1.2GB
/tmp > 400MB
创建oracle用户和组
/usr/sbin/groupadd oinstall /usr/sbin/groupadd dba /usr/sbin/useradd -m -g oinstall -G dba oracle id oracle
要记得为oracle用户设置密码。
passwd oracle创建oracle的安装目录,要注意前面对分区的大小要求。
mkdir -p /u01/app/oracle mkdir -p /u02/oradata chown -R oracle:oinstall /u01/app/oracle /u02/oradata chmod -R 775 /u01/app/oracle /u02/oradata
配置linux内核参数
cat >> /etc/sysctl.conf <<EOF kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 EOF /sbin/sysctl -p
为 oracle 用户设置 Shell 限制。
cat >> /etc/security/limits.conf <<EOF oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 EOF cat >> /etc/pam.d/login <<EOF session required /lib/security/pam_limits.so EOF cat >> /etc/profile <<EOF if [ \$USER = "oracle" ]; then if [ \$SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi EOF cat >> /etc/csh.login <<EOF if ( \$USER == "oracle" ) then limit maxproc 16384 limit descriptors 65536 umask 022 endif EOF
设置oracle 用户的环境变量。通过修改 .bash_profile 来完成。
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_SID=demo1; export ORACLE_SID
其他的变量等安装完了再设置。
第3部分 安装 Oracle
使用一个修改好的rsp文件,然后执行下面的命令。
./runInstaller -silent -responseFile /tmp/recorded.rsp
然后就等着吧,看那些log或者看屏幕输出都可以看到安装进度。
第4部分 可能会遇到的问题
下面这些是从网上找到的,我用到的就是第1和9条,还没有遇到其他问题。
1、运行runInstaller,错误提示如下:
Checking requirements…
Checking operating system version: must be redhat-2.1,redhat-3,SuSE-9,SuSE-8,UnitedLinux-1.0
Failed<<<<
解决方法:
方法一:
在/etc下创建UnitedLinux-release文件
#cat > /etc/UnitedLinux-release << EOF
>UnitedLinux 1.0 (i586)
>VERSION=1.0
>EOF
然后就可以正常启动安装程序。注意不要使用vi编辑该文件,否则可能会引起ORA-12547: TNS: lost contact的错误。
方法二:
运行runInstaller -ignoreSysPrereqs,这样会跳过检查
方法三:
修改Oracle 的/…/disk1/install/linux/oraparam.ini这个参数文件
2、安装界面或者netca界面、dbca界面显示很多”口口”样子的乱码
解决办法:查看locale输出
# locale
LANG=zh_CN.GB18030
LC_CTYPE=zh_CN.GB18030
LC_NUMERIC=”zh_CN.GB18030″
LC_TIME=”zh_CN.GB18030″
LC_COLLATE=”zh_CN.GB18030″
LC_MONETARY=”zh_CN.GB18030″
LC_MESSAGES=”zh_CN.GB18030″
LC_PAPER=”zh_CN.GB18030″
LC_NAME=”zh_CN.GB18030″
LC_ADDRESS=”zh_CN.GB18030″
LC_TELEPHONE=”zh_CN.GB18030″
LC_MEASUREMENT=”zh_CN.GB18030″
LC_IDENTIFICATION=”zh_CN.GB18030″
LC_ALL=
执行#export LANG=en_US 然后重新调用安装程序.
3、Oracle10g自动检查操作系统是否符合安装的条件。当按照上面的脚本对系统进行配置后,会有警告提示。[Retry]会看到如下提示:
Checking for openmotif-2.1.30-11; found Not found. Failed <<<<
Check complete. The overall result of this check is: Failed <<<<
Problem: Some recommended packages are missing (see above)
下载并安装openmotif-2.1.30-11软件包后,通过验证。
备注:有oracle文档说明:对于在RHELAS3上安装oracle10g,需要openmotif-2.2.2-16或更高版本;
但下载openmotif-2.2.2-16.src.rpm,在机器上编译安装,oracle自动检查仍然有警告提示。
4、安装程序在进行到74%的时,按照提示用root身份运行$ORACLE_HOME/root.sh,出现以下错误:
./root.sh: line 227: /var/opt/oracle/srvConfig.loc: 没有那个文件或目录
./root.sh: line 228: /var/opt/oracle/srvConfig.loc: 没有那个文件或目录
/bin/chown: 无法取得 ‘/var/opt/oracle/srvConfig.loc’的属性:没有那个文件或目录
/bin/chgrp: 无法取得 ‘/var/opt/oracle/srvConfig.loc’的属性:没有那个文件或目录
/bin/chmod: 无法取得 ‘/var/opt/oracle/srvConfig.loc’的属性:没有那个文件或目录
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
OCR create keys failed, OCR error 26
Failed to initialize Oracle Cluster Registry for cluster
解决方法:
# mkdir /var/opt/oracle
# chown -R oracle.dba /var/opt/oracle
# ./root.sh
5、 数据库启动:
$sqlplus /nolog
SQL>connect / as sysdba
SQL>startup
ORA-00371: not enougsh shared pool memory, should be atleast 52132659 bytes.
解决方法:
这个错误并非是内核参数设置的问题,也和系统的物理内存大小无关。编辑$ORACLE_HOME/dbs/init$GID.ora文件:
shared_pool_size = 52132659
6、 数据库启动:
$sqlplus /nolog
SQL>connect / as sysdba
SQL>startup
ora-01102: cannot mount database in EXCLUSIVE mode
解决方法:
完全关闭数据库,更改$ORACLE_HOME/dbs/init.ora文件里的db_name为建库时定义的“全局数据库名”,然后再重新启动数据库
7、 数据库启动:
$sqlplus /nolog
SQL>connect / as sysdba
SQL>startup
ora-00205:error in identifying conrolfile, check alert log for more info
解决方法:
SQL>show parameter control_files
SQL>CREATE CONTROLFILE
将$ORACLE_BASE/admin/$GID/pfile/init$SID.ora***************拷贝到$ORACLE_HOME/dbs下,命名为init$SID.ora,即可解决。
8、数据库启动:
$sqlplus /nolog
SQL>connect / as sysdba
SQL>startup
ORA-01990:error opening password file ‘$ORACLE_NAME/dbs/orapw’
ORA-27037:unable to obtain file status
Linux Error:2: No such file or directory
Additional information: 3
解决方法:
将$ORACLE_HOME/dbs下的orapw$db_name文件拷贝生成一个orapw文件。
8、建库的过程中或者连接数据库的时候提示:
ORA-12547: TNS: lost contact
引起该错误的环境比较复杂,原因可能是:
1、用vi编辑的/etc/UnitedLinux-release文件
2、内核参数设置不正确
3、察看一下listener是否正常启动: lsnrct1 status
4、机器负载过大
9、 emca 的web界面的乱码
http://www.eygle.com/archives/2006/03/oracle10g_em_font_change.html
一直没怎么用10g的EM工具,今天打开来看看,发现也有相传已久的乱码问题.网上也流传着N种解决方案,仔细看一下,其实这个问题很好解决.
如果安装时,我们系统环境变量设置的是中文环境,那么就不会有这个问题.这个问题根本原因在于安装时,JDK/JRE字符集的自动选择.
在 $ORACLE_HOME/jdk/jre/lib 和 $ORACLE_HOME/jre/1.4.2/lib/ 目录下都有多种字符集字体配置文件:
[oracle@danaly ~]$ cd $ORACLE_HOME/jdk/jre/lib
[oracle@danaly lib]$ ls font*zh_CN*
font.properties.zh_CN.Redhat font.properties.zh_CN.Redhat2.1
font.properties.zh_CN.Sun font.properties.zh_CN_UTF8.Sun
[oracle@danaly lib]$ cd $ORACLE_HOME/jre/1.4.2/lib/
[oracle@danaly lib]$ ls font*zh_CN*
font.properties.zh_CN.Redhat font.properties.zh_CN.Redhat2.1
font.properties.zh_CN.Sun font.properties.zh_CN_UTF8.Sun
我们只要用合适的中文字符集文件替换缺省文件即可,我选择使用font.properties.zh_CN.Redhat来替换缺省字体定义文件:
[oracle@danaly lib]$ cp font.properties.zh_CN.Redhat font.properties
替换之后需要清理一下Cache,重启EM即可.
Cache路径通常位于:
$ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs
清除所有gif文件即可.然后重新启动EM:
[oracle@danaly zhs]$ emctl stop dbconsole
TZ set to PRC
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://danaly.hurrray.com.cn:1158/em/console/aboutApplication
Stopping Oracle Enterprise Manager 10g Database Control …
… Stopped.
[oracle@danaly zhs]$ emctl start dbconsole
TZ set to PRC
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://danaly.hurrray.com.cn:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control ………….. started.
——————————————————————
Logs are generated in directory
/opt/oracle/product/10.2.0/danaly.hurrray.com.cn_danaly/sysman/log
现在登陆Web页面,EM显示就可以正常显示中文了.
参考文章: 这里
Related posts: