Linux下oracle 11g的安装

来源:互联网 发布:淘宝开店要两个银行卡 编辑:程序博客网 时间:2024/04/26 05:30

Linux下oracle 11g的安装

(PS: 讨厌的PS,由于从word文档中copy过来的,很多截图都看不到了,将文档地址分享给大家:http://download.csdn.net/detail/lzc3144/4265451)

系统要求

服务器配置要求

至少1024MB内存空间,oracle软件需要4.0GB以上磁盘空间(oracle 11g要求的磁盘空间为3.95GB),要求linux OS Kernel Version 2.6.9

查看系统配置的相关命令:

cat /etc/issue

uname –r

grep MemTotal /proc/meminfo

grep SwapTotal /proc/meminfo

grep "model name" /proc/cpuinfo

free

df -k /tmp

df –k

 

本次安装环境(由于在虚拟机上面安装,配置很有限):

操作系统:Cent OS 6.2-i386

内存:2GB

磁盘空间:40GB

安装前的配置

1)       创建用户和组(user/group); 

# groupadd dba
# groupadd oinstall 
# useradd oracle -g oinstall -G dba 
# passwd oracle
如果nobody用户不存在(# id nobody命令查看),则创建:
# useradd nobody

2)       建立oracle安装文件夹(sample); 

# mkdir -p /opt/oracle/product/10g
# mkdir /opt/oracle/ oradata

# mkdir /opt/oraInventory

# chown -R oracle.oinstall /opt/oracle

# chown oracle.oinstall /opt/oraInventory/
# chmod 755 -R /opt/oracle

# chmod 755 /opt/oraInventory/

3)       配置环境变量

要使用 Oracle 产品,应该或必须设置几个环境变量。如果您在同一服务器上安装了多个 Oracle 产品或数据库,则 ORACLE_HOME、ORACLE_SID 和 PATH 变量可能会更改。ORACLE_BASE 变量不应更改,并可以在需要时在您的登录配置文件中设置它。Oracle 提供了一个称作 oraenv 的实用程序来设置其他变量。
对于数据库服务器,建议设置以下环境变量: 
使用第一步创建的用户名Oracle登陆: 
su oracle 
vi ~/.bash_profile 
修改以下是配置文件的内容
export ORACLE_BASE=/opt/oracle/
export ORACLE_HOME=/opt/oracle/product/11g
export ORACLE_SID=localorcl(可随意定义)
export PATH=$ORACLE_HOME/bin:$PATH
ESC(退出vi的编辑环境)
:wq(退出vi应用程序并保存修改)

安装好后再取消屏蔽这些环境变量设置
#export TNS_ADMIN=$ORACLE_HOME/network/admin
#export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
#export LANG=AMERICAN_AMERICA.ZHS16GBK
配置好后用 source .bash_profile 命令使配置生效 

4)       设置系统内核参数

Oracle 数据库 10g 需要以下所示的内核参数设置。
其中给出的是最小值,因此如果您的系统使用的值较大,则不要更改它。
切换到root用户:
su root 


a) 修改/etc/sysctl.conf(vi /etc/sysctl.conf), 添加: 

[root@localhost install_file]# vi/etc/sysctl.conf

# oracel intall add parameters

#kernel.shmmax = 2147483648

kernel.shmmni=4096

#kernel.shmall = 2097152 

kernel.sem=250 32000 100 128

fs.file-max=6815744

fs.aio-max-nr=1048576

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=1048576
修改后运行"/sbin/sysctl -p"命令使得内核改变立即生效; 

b) 设置oracle对文件的要求: 
编辑文件:vi /etc/security/limits.conf 加入以下语句: 
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
编辑文件:vi /etc/pam.d/login 加入以下语句(可能应该加在最后一条规则之前):
session required /lib/security/pam_limits.so

 

开始安装

Oracle的安装建议在物理机器上安装,如果只能使用SSH远程安装的话,可以使用支持图形显示的SSH软件进行安装

解压缩oracle 11g 的安装文件

# unzip linux_11gR2_database_1of2.zip

# unzip linux_11gR2_database_2of2.zip

# cd database

# ./runInstaller

如果出现提示 Check if the DISPLAY variable is set. 错误提示信息,则使用root用户执行:

# xhost +

# export DISPLAY=:1.0

# su – oracle 切换回oracle用户再次执行# ./runInstaller

如果还出现错误的话,则重启系统,直接使用oracle用户登录系统

开始安装之后出现如下界面

 

 选择oracle服务器的类型,简单安装的话选择‘桌面类型’就可以了,对于正式应用的话需要选择‘服务器类型’安装

 

第一项:单个oracle服务器安装,第二项:oracle集群安装


 选择语言,默认选择english

 





设置oracle使用的内存大小,按默认设置就好了

  

这里需要设置字符集,设置字符集为utf-8

 

设置oracle数据库文件存放路径

设置oracle的自动备份功能,按需求设定

 设置sys,system等用户的密码,可以设置成同一个也可以分别设置,按需配置          (这里如果设置的密码过于简单,oracle会给出错误提示,可以直接跳过)

 这是配置啥,我真心的不知道,默认设置就好了

Oracle检查安装前置条件,这里列出了所有检查失败的前置条件,我们首先要解决这些错误前置条件才能继续安装

我们逐个来查看具体的错误提示信息

所有的错误信息分两大类,上面的为系统内核的配置错误(基本是由于一些参数配置过小而不符合oracle的建议参数);下面的为oracle服务的依赖包没有安装

 

STEP 1:

安装缺少的依赖包,(需要用root用户),这些缺少的依赖包可以在系统的安装iso中找到:

[root@localhost ~]# cd /media/CentOS_6.2_Final/Packages

[root@localhost Packages]# rpm -ivhcompat-libstdc++-33-3.2.3-69.el6.i686.rpm

warning:compat-libstdc++-33-3.2.3-69.el6.i686.rpm: Header V3 RSA/SHA256 Signature, keyID c105b9de: NOKEY

Preparing...                ###########################################[100%]

  1:compat-libstdc++-33   ########################################### [100%]

 

注:在提示缺少的依赖包中 pdksh-5.2.14 这个包在CentOS 6 安装iso中无法找到,这个依赖包可以从网上下载,下载之后上传到linux服务器的某个目录后运行

[root@localhost install_file]#rpm -ivh pdksh-5.2.14-36.el5.i386.rpm

 

STEP 2:

修改内核配置参数,以支持oracle的建议参数,在/etc/sysctl.conf配置中加入以下配置(如果在“安装前的配置”步骤中已经配置了则这里无需再配置)

[root@localhost install_file]# vi/etc/sysctl.conf

# oracel intall add parameters

kernel.shmmni=4096

kernel.sem=250 32000 100 128

fs.file-max=6815744

fs.aio-max-nr=1048576

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=1048576

 

修改之后运行,是内核配置立即生效

[root@localhost install_file]#/sbin/sysctl -p

 解决完错误之后,点击 Check Again按钮,重新检查之后,可以看到所有问题已经解决,点击Finish 按钮完成安装

 

 

 

配置oracle服务随系统启动

step 1:

修改/etc/oratab文件,需要将localorc:/opt/oracle/product/11g:N最后的N改成Y

(如果/etc/oratab文件不存在,则需要使用root用户执行$ORACLE_HOME/root.sh文件

# sh /opt/oracle/product/11g/root.sh)

[root@lzc-centos6 ~]# cat /etc/oratab

localorc:/opt/oracle/product/11g:N

[root@lzc-centos6 ~]# vi /etc/oratab

localorc:/opt/oracle/product/11g:Y

 

setp 2:

使用oracle的安装用户(oracle)修改$ORACLE_HOME/bin/dbstart文件,修改之前最好先备份一下,使用如下命令

[oracle@lzc-centos6 bin]$ cp /opt/oracle/product/11g/bin/dbstart/opt/oracle/product/11g/bin/dbstart.bak

找到ORACLE_HOME_LISTNER=…这行,修改成

ORACLE_HOME_LISTNER=/opt/oracle/product/11g
 或者直接修改成:
 ORACLE_HOME_LISTNER=$ORACLE_HOME

 

Step 3:

测试运行dbshut,dbstart

(1)修改dbstart和dbshut的日志文件的权限(如果这两个文件不存在,先手工touch): 

root用户先创建这两个文件

# cd $ORACLE_HOEM/bin

[root@lzc-centos6 11g]# touch startup.log

[root@lzc-centos6 11g]# chownoracle.oinstall startup.log

[root@lzc-centos6 11g]# chmod 755startup.log

[root@lzc-centos6 11g]# touch shutdown.log

[root@lzc-centos6 11g]# chownoracle.oinstall shutdown.log

[root@lzc-centos6 11g]# chmod 755shutdown.log

[root@lzc-centos6 11g]# ls -l startup.logshutdown.log

-rwxr-xr-x. 1 oracle oinstall 0 Jan  8 13:50 shutdown.log

-rwxr-xr-x. 1 oracle oinstall 0 Jan  8 13:49 startup.log

 

2)执行相应的脚本进行测试 
[root@lzc-centos6 11g]# su - oracle

[oracle@lzc-centos6~]$ cd $ORACLE_HOME

[oracle@lzc-centos6bin]$ dbshut #(or dbstart)

 

3)创建oracle服务启动脚本:oradbstart(使用root用户)

[root@lzc-centos611g]# touch /home/oracle/oradbstart

# chownoracle.oinstall /home/oracle/oradbstart

# chmod 775oracle.oinstall /home/oracle/oradbstart

拷贝内容之后,需要将该文件copy/etc/rc.d/init.d/目录下

# cp/home/oracle/oradbstart /etc/rc.d/init.d/oradbstart

oradbstart加入到系统启动列表中

[root@lzc-centos6init.d]# chkconfig --add /home/oracle/oradbstart

[root@lzc-centos6init.d]# chkconfig --list oradbstart

oradbstart      0:off  1:off   2:off   3:on   4:on    5:on    6:off

注:在使用chkconfig –add命令时候如果出现以下错误

[root@lzc-centos6 init.d]# chkconfig --add/home/oracle/oradbstart

error reading information on serviceoradbstart: No such file or directory

需要检查/home/oracle/oradbstart文件是否正确,如果copy文字的话可能出现丢失头上的一两行的情况,检查改文件的头部是否如下:(如果不是需改之后重新copy/etc/rc.id/init.d/目录下)

#!/bin/bash

# chkconfig: 345 99 10

# description: Startup Script for oracleDatabases

 

脚本内容如下(亲,记得根据自己的数据库配置做相应的修改哟):

[root@lzc-centos611g]# cat /home/oracle/oradbstart

#!/bin/bash

# chkconfig:345 99 10

# description:Startup Script for oracle Databases

#/etc/rc.d/init.d/dbstart

exportORACLE_BASE=/opt/oracle/

exportORACLE_HOME=/opt/oracle/product/11g/

exportORACLE_SID=localorc

exportPATH=$PATH:$ORACLE_HOME/bin

ORA_OWNR="oracle"

# if theexecutables do not exist -- display error

if [ ! -f$ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]

then

    echo "Oracle startup: cannotstart"

    exit 1

fi

# depending onparameter -- startup, shutdown, restart

# of theinstance and listener or usage display

case"$1" in

  start)

    # Oracle listener and instance startup

    echo -n "Starting Oracle: "

     su $ORA_OWNR -c"$ORACLE_HOME/bin/lsnrctl start " 

     su $ORA_OWNR -c"$ORACLE_HOME/bin/dbstart" 

    touch /var/lock/oracle

     su $ORA_OWNR -c"$ORACLE_HOME/bin/emctl start dbconsole"

     su $ORA_OWNR -c"$ORACLE_HOME/bin/isqlplusctl start"

    echo "OK"

    ;;

 

  stop)

    # Oracle listener and instance shutdown

    echo -n "Shutdown Oracle: "

    su $ORA_OWNR -c"$ORACLE_HOME/bin/emctl stop dbconsole"

    su $ORA_OWNR -c"$ORACLE_HOME/bin/isqlplusctl stop"

    su $ORA_OWNR -c"$ORACLE_HOME/bin/dbshut"

    su $ORA_OWNR -c"$ORACLE_HOME/bin/lsnrctl stop"

    rm -f /var/lock/oracle

    echo "OK"

    ;;

 

  reload|restart)

    $0 stop

    $0 start

    ;;

  *)

    echo "Usage: `basename $0`start|stop|restart|reload"

    exit 1

esac

exit 0

 

测试快速启动命令:

[root@lzc-centos6init.d]# /etc/rc.d/init.d/oradbstart stop

[root@lzc-centos6init.d]# /etc/rc.d/init.d/oradbstart start

重启linux

# reboot –n

linux启动的时候,你就可以看到一个启动项oracle,出现[OK]的时候,就表示你的数据库随系统启动了。

# su – oracle

# pe –ef|grepora

 

安装过程中的错误解决办法

数据库实例安装失败

安装过程中碰到在‘Oracle Net Configuration Assistant’这步的时候失败,导致oracle实例没法继续安装

解决办法:

通过查看安装日志发现出现改错误的异常是因为端口被占用,但通过netstat命令来查看1521端口并没有其他程序在使用,于是google,baidu折腾一把大致说法是因为/etc/hosts里面的主机名和IP的映射配置有问题(因为系统在安装的过程中我手动设置了,而且系统安装的时候并没设置静态IP,而是用DHCP获取地址,并且还同时开启了IPv4和IPv6的地址),这样可能导致oracle网络配置的时候解析本机主机名的时候出错,具体修改办法:

Step 1:# vi /etc/hosts,加上本机ip和本机主机名的映射,去掉IPV6的配置

[root@lzc-centos6 ~]# cat /etc/hosts

127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4

192.168.1.102 lzc-centos6

Step 2:# vi /etc/host.conf,加上 orderhosts, bind;表示先通过/etc/hosts文件查找再通过域名服务器查找(域名服务地址配置文件/etc/resolv.conf)

[root@lzc-centos6 ~]# cat /etc/host.conf

order hosts, bind

multi on

Step 3:重启监听成功

# lsnrctl start 启动监听

EM 页面出现乱码

访问https://192.168.1.102:1158/em页面发现乱码出现

注:如果oracle管理台已经启动,而无法访问该页面的话,需要检查你linux服务器的防火墙的配置,是否允许其他机器访问1158端口,具体linux防火墙的配置百度之

oracle 11g使用的是jdk1.5,jdk1.5以后有了一个简便方法来解决这个问题,只需在$JAVA_HOME/jre/lib/fonts/下建一个fallback目录,把你想在java中使用的字体复制到这个目录中即可,在oracle用户下:
$ mkdir $ORACLE_HOME/jdk/jre/lib/fonts/fallback
把windows下的字体文件simsun.ttc复制到$ORACLE_HOME/jdk/jre/lib/fonts/fallback目录下并改名simsun.ttf(注意ms的simsun字体是有版权的,所以商用换其他字体),相应的权限改为oracle用户可用.
之后需要清理一下Cache,重启EM即可:

命令如下:

[root@lzc-centos6 ~]# chown oracle.oinstall/opt/oracle/product/11g/jdk/jre/lib/fonts/fallback/simsunb.ttf

[root@lzc-centos6 ~]# chmod 755/opt/oracle/product/11g/jdk/jre/lib/fonts/fallback/simsunb.ttf

[oracle@lzc-centos6 ~]$ rm/opt/oracle/product/11g/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs/*.gif

[oracle@lzc-centos6 ~]$ emctl startdbconsole

 

亲,这样搞不行啊,还是乱码!(留待后续解决。。。)

原创粉丝点击