linux安装Oracle11gR2

配置过程:本文来自Oracle官方文档+网上资料

Oracle官方文档:http://www.oracle.com/pls/db112/homepage

1. 以root用户登录到Linux

2. 检查机器硬件要求

2.1 内存要求

[c-sharp] view plain copy
  1. 至少需要1GB的内存  
  2. 查看机器内存大小  
  3. # grep MemTotal /proc/meminfo  

2.2 swap空间要求

[c-sharp] view plain copy
  1. 内存大小                 swap空间大小  
  2. 1 GB ~ 2 GB             内存大小*1.5  
  3. 2 GB ~ 16 GB            内存大小  
  4. > 16 GB          16 GB  
  5. 查看swap空间大小  
  6. # grep SwapTotal /proc/meminfo  

2.3 空闲硬盘要求

[c-sharp] view plain copy
  1. /tmp目录需要1 GB的空闲空间  
  2. 查看/tmp目录的空闲空间  
  3. # df -h /tmp  
  4. 安装Oracle软件需要的硬盘空间  
  5. Enterprise Edition   3.95(software files)+1.7(data files)  
  6. Standard Edition     3.88(software files)+1.5(data files)  
  7. 查看机器中每个磁盘的空闲空间  
  8. # df -h  

3. 检查操作系统软件要求

Oracle官方文档中包含了多个Linux系统的要求,详细请参考官方文档

Fedora 15 (RHEL 5.x)的软件要求列表如下:

[c-sharp] view plain copy
  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. libstdc++-devel-4.1.2  
  20. make-3.81  
  21. numactl-devel-0.9.8.i386  
  22. sysstat-7.0.2  
  23. 查看系统是否安装了该软件包  
  24. # rpm -q package_name 
  25. yum -y install binutils compat-libcap1 compat-libstdc++.i686 compat-libstdc++.x86_64 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libXext libXtst libX11 libXau libxcb libXi make sysstat unixODBC-devel.i686 unixODBC-devel.x86_64 unixODBC.i686 unixODBC.x86_64 compat-libstdc++-33.i686 compat-libstdc++-33.x86_64

4. 创建安装Oracle需要的系统组和用户

[c-sharp] view plain copy
  1. 创建Oracle Inventory 组  
  2. # groupadd oinstall  
  3. 创建OSDBA 组  
  4. # groupadd dba  
  5. 创建Oracle软件创建者  
  6. # useradd -g oinstall -G dba oracle  
  7. 修改oracle用户的密码  
  8. # passwd oracle  

5. 配置系统内核参数值

[c-sharp] view plain copy
  1. 编辑/etc/sysctl.conf文件  
  2. vim /etc/sysctl.conf  
  3. 在打开的文件底部添加下面内容  
  4. fs.aio-max-nr = 1048576  
  5. fs.file-max = 6815744  
  6. kernel.shmall = 2097152  
  7. kernel.shmmax = 536870912  
  8. kernel.shmmni = 4096  
  9. kernel.sem = 250 32000 100 128  
  10. net.ipv4.ip_local_port_range = 9000 65500  
  11. net.core.rmem_default = 262144  
  12. net.core.rmem_max = 4194304  
  13. net.core.wmem_default = 262144  
  14. net.core.wmem_max = 1048586  
  15. 改变当前系统内核参数值(让/etc/sysctl.conf立即生效)  
  16. # sysctl -p  

6. 检查Oracle安装用户(oracle)资源限制

[c-sharp] view plain copy
  1. 修改/etc/security/limits.conf文件  
  2. vim /etc/security/limits.conf  
  3. 在打开的文件底部添加下面内容  
  4. oracle              soft    nproc   2047  
  5. oracle              hard    nproc   16384  
  6. oracle              soft    nofile  1024  
  7. oracle              hard    nofile  65536  
  8. oracle              soft    stack   10240  

7. 创建安装Oracle软件所需要的目录

[c-sharp] view plain copy
  1. # mkdir -p /home/oracle_11/app/  
  2. # chown -R oracle:oinstall /home/oracle_11/app/  
  3. # chmod -R 775 /home/oracle_11/app/  

8. 配置安装Oracle安装用户(oracle)的环境

[c-sharp] view plain copy
  1. 编辑 /home/oracle/.bash_profile  
  2. vim /home/oracle/.bash_profile  
  3. 在打开的文件中添加下面内容  
  4. umask 022  
  5. export ORACLE_BASE=/home/oracle_11/app  
  6. export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1  
  7. export ORACLE_SID=orcl --Oracle实例名,可修改  
  8. export PATH=$PATH:HOME/bin:$ORACLE_HOME/bin  
  9. 编辑 /etc/pam.d/login  
  10. vim /etc/pam.d/login  
  11. 在打开的文件中添加下面内容  
  12. session required /lib/security/pam_limits.so  
  13. session required pam_limits.so  
  14. 编辑 /etc/profile  
  15. vim /etc/profile  
  16. 在打开的文件中添加下面内容  
  17. if [ $USER = "oracle" ]; then  
  18.    if [ $SHELL = "/bin/ksh" ]; then  
  19.       ulimit -p 16384  
  20.       ulimit -n 65536  
  21.    else  
  22.       ulimit -u 16384 -n 65536  
  23.    fi  
  24. fi  

9. 查看系统是否支持图形界面

[c-sharp] view plain copy
  1. 查看root用户下是否已设置DISPLAY变量  
  2. # echo $DISPLAY  
  3. 如果有值出现,则说明已设置DISPLAY变量;否则,就需要手动设置DISPLAY  

10. 开始安装Oracle软件

[c-sharp] view plain copy
  1. # cd /tmp  
  2. # unzip linux_11gR2_database_1of2.zip linux_11gR2_database_2of2.zip  
  3. # xhost +  
  4. # su - oracle  
  5. $ export DISPLAY=:0  
  6. $ cd /database  
  7. $ ./runInstaller  
  8. 接下来系统会启动Oracle图形安装界面,安装过程和Windows下一样 


以oracle用户登陆,startx命令启动图形界面,打开一个终端窗口,进行到刚刚解压database的文件夹,运行以下命令
[oracle@localhost database]$ ./runInstaller

[1] oracle安装界面启动如下图所示,输入邮件地址及密码(oracle用户),以从oralce接收安全更新等信息

image

[2] 仅安装数据库软体

image

[3] 本实例中选择安装单实例数据库

image

[4] 选择语言

image

[5] 选择要安装的版本,这里选择 “Enterprise Edition”

image

[6] 指定Oracle Base 与 Software Location, 我们在oracle用户的profile文件里已设置此环境变量,此处保持默认

image

[7] 指定Inventory Directory, 本例保持默认

image

[8] 指定oralce特权用户组,本例保持默认

image

[9] 接下来,oralce安装程序会对安装环境进行检查,本例未检查到任何问题,显示安装信息如下。直接Finish, 开始安装。

image

[10] 静待oracle安装

image

[11] 当出现以下窗口时,另开一个终端,以root用户登陆,并执行下面的命令。执行完毕后,点击OK

image

复制代码
[root@localhost ~]# /usr/oracle/oraInventory/orainstRoot.sh
Changing permissions of /usr/oracle/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /usr/oracle/oraInventory to oinstall.
The execution of the script is complete.
[root@localhost ~]# /usr/oracle/app/product/11.2.0/dbhome_1/root.sh
Running Oracle 11g root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /usr/oracle/app/product/11.2.0/dbhome_1
复制代码

[12] 至此oracle 11g R2数据库安装完毕。

image


Linux下的Oracle在安装结束后是处于运行状态的。重启机器后,Oracle不会像在Windows下那样将Oracle添加到Windows服务,在linux下需要手动启动Orcle服务

[c-sharp] view plain copy
  1. 以oracle用户下,执行下面的命令  
  2. 进入sqlplus  
  3. $ sqlplus /nolog  
  4. 以sysdba的身份连接到数据库,并启动Oracle数据库引擎  
  5. SQL> conn /as sysdba  
  6. SQL> startup  
  7. 退出sqlplus,运行Listener  
  8. SQL> exit  
  9. $ lsnrctl start  

这样就可以连接到Oracle数据库了。如果想用Oracle提供的EM来管理Oracle的话还需要启动EM控制台,运行如下命令:

[c-sharp] view plain copy
  1. $ emctl start dbconsole  

这样就可以通过http://localhost:1158/em/来访问EM控制台了。


使用dbstart和dbstop来启动Oracle服务

可能使用dbstart命令来启动数据库更方便一些,但初次安装完oracle之后使用dbstart命令会报这样的错误

[c-sharp] view plain copy
  1. ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener  
  2. Usage: /u01/app/oracle/product/11.2/db/bin/dbstart ORACLE_HOME  

出现这样错误的原因是由于没有设置ORACLE_HOME_LISTNER的原因,我们查看一下dbstart这个文件

[c-sharp] view plain copy
  1. more  /home/oracle_11/app/oracle/product/11.2/db/bin/dbstart  

部分内容如下

[c-sharp] view plain copy
  1. # First argument is used to bring up Oracle Net Listener  
  2. ORACLE_HOME_LISTNER=$1  
  3. if [ ! $ORACLE_HOME_LISTNER ] ; then  
  4.   echo "ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener"  
  5.   echo "Usage: $0 ORACLE_HOME"  
  6. else  
  7.   LOG=$ORACLE_HOME_LISTNER/listener.log  
  8.   # Set the ORACLE_HOME for the Oracle Net Listener, it gets reset to  
  9.   # a different ORACLE_HOME for each entry in the oratab.  
  10.   export ORACLE_HOME=$ORACLE_HOME_LISTNER  

解决方案就算将$ORACLE_HOME赋值给$ORACLE_HOME_LINTNER,保存,退出

再一次执行dbstart,但是没有反映,没有报错,如果我们需要使用dbstart,则需要在/etc/oratab这个文件中的实例最后的N改成Y,如下

[c-sharp] view plain copy
  1. orcl:/home/oracle_11/app/oracle/product/11.2/db:Y  

OK,保存,再试一下dbstart命令,返回结果如下

[c-sharp] view plain copy
  1. Processing Database instance "orcl": log file /home/oracle_11/app/oracle/product/11.2.0/db_1/startup.log  

dbshut进行同样的设置.这样,以后就可以在启动监听之后直接使用dbstart和dbshut命令来启动和关闭数据了


将Oracle服务添加到Linux开机启动项,以root用户建立/etc/rc.d/init.d/oradb脚本文件,文件内容如下:

[c-sharp] view plain copy
  1. #!/bin/bash  
  2. # chkconfig: 2345 90 10  
  3. export ORACLE_BASE=/home/oracle_11/app/  
  4. export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1  
  5. export ORACLE_SID=orcl  
  6. export PATH=$PATH:$ORACLE_HOME/bin  
  7. ORCL_OWN="oracle"  
  8. # if the executables do not exist -- display error  
  9. if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]  
  10. then  
  11.    echo "Oracle startup: cannot start"  
  12.    exit 1  
  13. fi  
  14. # depending on parameter -- start, stop, restart  
  15. # of the instance and listener or usage display  
  16. case "$1" in  
  17. start)  
  18. # Oracle listener and instance startup  
  19. echo -n "Starting Oracle: "  
  20. su - $ORCL_OWN -c "$ORACLE_HOME/bin/dbstart"  
  21. touch /var/lock/subsys/oradb  
  22. su - $ORCL_OWN -c "$ORACLE_HOME/bin/emctl start dbconsole"  
  23. echo "OK"  
  24. ;;  
  25. stop)  
  26. # Oracle listener and instance shutdown  
  27. echo -n "Shutdown Oracle: "  
  28. su - $ORCL_OWN -c "$ORACLE_HOME/bin/emctl stop dbconsole"  
  29. su - $ORCL_OWN -c "$ORACLE_HOME/bin/dbshut"  
  30. rm -f /var/lock/subsys/oradb  
  31. echo "OK"  
  32. ;;  
  33. reload|restart)  
  34. $0 stop  
  35. $1 start  
  36. ;;  
  37. *)  
  38. echo "Usage: 'basename $0' start|stop|restart|reload"  
  39. exit 1  
  40. esac  
  41. exit 0  

将该文件添加到开机启动

[c-sharp] view plain copy
  1. # chmod 755 /etc/rc.d/init.d/oradb  
  2. # chkconfig --add oradb  

重启服务

[c-sharp] view plain copy
  1. # service oradb stop  
  2. # service oradb start  

下次启动机器的时候,Oracle服务会随机器一起启动。

Oracle数据库安装、配置完成。

Tip:Oracle数据库的默认端口号:1521,Oracle提供的EM管理器默认端口号是1158。


===========================================================================

安装过程中遇到的问题:

1.Starting Oracle Universal Installer...

Checking Temp space: must be greater than 80 MB.   Actual 10115 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 2047 MB    Passed
Checking monitor: must be configured to display at least 256 colors
    >>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set.    Failed <<<<

Some requirement checks failed. You must fulfill these requirements before

continuing with the installation,at which time they will be rechecked.

Continue? (y/n) [n]

退出当前的root用户,改用Oracle用户来登录



2.安装Oracle 11gR2,报错:[INS-06101] IP address of localhost could not be determined

出现这种错误是因为主机名和/etc/hosts 文件不一致,只需要把主机名和其IP 写入/etc/hosts 文件,就ok了。

1.修改/etc/sysconfig/network 文件
[root@localhost~]# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=oracle.hdsx

2.使用hostname 命令修改主机名,该修改重启会失效,但在第一步我们已经修改过。所以失效也没关系
[root@localhost ~]# hostname
localhost
[root@localhost ~]# hostname oracle.hdsx
[root@localhost ~]# hostname
oracle.hdsx
 
3.修改hosts 文件
[root@localhost ~]# vi /etc/hosts
127.0.0.1 localhost
192.168.0.200 oracle.hdsx

再次运行安装文件,顺利通过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值