当前位置: 代码迷 >> 综合 >> linux5 安装 oracle 11g(11.2.0.4)实验
  详细解决方案

linux5 安装 oracle 11g(11.2.0.4)实验

热度:23   发布时间:2024-01-24 22:00:30.0
安装过程中如遇到各种问题可以加本人qq:1215864353一起讨论解决

安装环境(可以查看附件的环境安装过程来安装和我这个一模一样的环境):

oracle linux 5 64位 ,oracle11.2.0.4 64位 
ip 192.168.0.5    hostname jtxy
安装目录: /u01
系统要求:

以下是安装Oracle数据库的内存要求11所示g版本2(11.2):

  • 最低:1 GB的RAM

    推荐:2 GB的RAM或更多

    确定内存大小,输入以下命令:

    # grep MemTotal /proc/meminfo

    如果内存的大小小于所需的大小,然后在继续之前必须安装更多的内存。

  • 下表描述了安装内存和交换空间配置关系的建议:

    
可用内存 交换空间要求
1 GB和2 GB之间 RAM的大小的1.5倍
2 GB和16 GB之间 RAM的大小
超过16 GB 16 GB

确定系统架构可以运行软件,输入以下命令:

# uname - m

注意:

这个命令可以显示处理器的类型。 验证处理器体系结构匹配安装Oracle软件发布。 如果您没有看到预期的输出,那么你不能在这个系统上安装软件。   

确定可用的内存和交换空间,输入以下命令:

#free
  • 至少1 GB的磁盘空间/tmp目录

    确定可用的磁盘空间/tmp目录中,输入以下命令:

    # df - h / tmp

查看内核版本:


     
  1. cat /proc/version
 

下面的表描述软件文件的磁盘空间需求,为每个安装类型和数据文件在Linux x86 - 64:

安装类型 要求软件文件(GB)
企业版 4.7
标准版 4.6
安装类型 要求数据文件(GB)
企业版 1.7
标准版 1.5

包需求

采用yum批量安装

首先配置yum(以root身份执行):


    
  1. [root@jtxy ~]# vim /etc/yum.repos.d/public-yum-el5.repo
  2. 写入如下内容
  3. [public_el5_latest]
  4. name=OracleLinux $releasever Latest($basearch)
  5. baseurl=file:///mnt/Server
  6. gpgcheck=0
  7. enabled=1
  8. 保存退出
  9. [root@jtxy ~]# mount /dev/cdrom /mnt/
  10. mount: block device /dev/cdrom is write-protected, mounting read-only
  11. [root@jtxy ~]# yum clean all
  12. Loaded plugins: rhnplugin, security
  13. Cleaning up Everything

编写脚本(以root身份执行):


     
  1. [root@jtxy ~]# vim pack.sh
  2. 写入如下内容:
  3. #!bin/bash
  4. #start install required packages
  5. echo "start installing required packages"
  6. yum -y install binutils-*
  7. yum -y install compat-libstdc++-*
  8. yum -y install compat-libstdc++-*
  9. yum -y install elfutils-libelf-*
  10. yum -y install elfutils-libelf-devel-*
  11. yum -y install gcc-*
  12. yum -y install gcc-c++-*
  13. yum -y install glibc-*
  14. yum -y install glibc-*
  15. yum -y install glibc-common-*
  16. yum -y install glibc-devel-*
  17. yum -y install glibc-devel-*
  18. yum -y install glibc-headers-*
  19. yum -y install ksh-*
  20. yum -y install libaio-*
  21. yum -y install libaio-*
  22. yum -y install libaio-devel-*
  23. yum -y install libaio-devel-*
  24. yum -y install libgcc-*
  25. yum -y install libgcc-*
  26. yum -y install libstdc++-*
  27. yum -y install libstdc++-*
  28. yum -y install libstdc++-devel*
  29. yum -y install make-*
  30. yum -y install sysstat-*
  31. yum -y install unixODBC-*
  32.  
  33. [root@jtxy ~]# chmod +x pack.sh
  34. 执行脚本
  35. [root@jtxy ~]# sh pack.sh

创建所需的操作系统组和用户

创建之前先来确定一下oracle产品清单组(oinstall)是否存在来确定此系统是否有已经安装的oracle软件 (以root身份执行)

     
  1. more /etc/oraInst.loc
如果存在此文件的话,看看里面的内容(一般没装过oracle软件的系统是查找不到这个文件) (以root身份执行)

     
  1. [root@jtxy ~]# cat /etc/oraInst.loc
  2. inventory_loc=/u01/app/oraInventory
  3. inst_group=oinstall--这就是oinstall组,说明本系统已经存在oracle软件。
接下来看看是否存在dba组 (以root身份执行)

     
  1. grep dba /etc/group
如果这个命令的输出显示了 dba 组名称,那么这个组已经存在。
再检查oracle用户是否已经存在(如果出现下面类似字样,那说明已经存在了oracle用户) (以root身份执行)

     
  1. [root@jtxy ~]# id oracle
  2. uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba),502(oper)
 
如果上面两个命令都没有显示结果,那恭喜系统是干净的,可以直接用来配置安装oracle.接下来开始创建上面查询而未检查到的的oinstall,dba用户组以及可选的oper组和oracle用户
(以root身份执行)

   
  1. groupadd oinstall
  2. groupadd dba
  3. groupadd oper
  4. useradd -g oinstall -G dba,oper oracle
  5. passwd oracle
  6. --oinstall oracle产品清单组,代表oracle软件的拥有者,主要用来管理一台机器中多个oracle产品
  7. --dba 与oracle操作系统身份验证相关,属于这个组的用户可以在完成操作系统身份验证后直接sql plus / as sysdba登陆
  8. --oper 可选组,与上面组差不多,允许这个组的用户在进行操作系统验证后以sysoper身份登陆

配置内核参数和资源限制

(以root身份执行)

     
  1. vim /etc/sysctl.conf写入
  2. fs.aio-max-nr =1048576
  3. fs.file-max =6815744
  4. kernel.shmall =2097152
  5. kernel.shmmax =1073741824
  6. kernel.shmmni =4096
  7. kernel.sem =25032000100128
  8. net.ipv4.ip_local_port_range =900065500
  9. net.core.rmem_default =262144
  10. net.core.rmem_max =4194304
  11. net.core.wmem_default =262144
  12. net.core.wmem_max =1048586
  13. 注意:kernel.shmmax修改为内存的一半(单位byte
  14. shmall在一般情况下是正常使用的,如果内存过大(超过64G)的时候他也要调大,我在装rac时,服务器是500g内存,当时用官方文档的大小时,报了内存耗尽错误。
  15. 修改后使上面参数生效执行:
  16. sysctl -p
资源限制:
这是oracle官方推荐设置大小: (以root身份执行)

    
  1. vim /etc/security/limits.conf写入一下内容
  2. oracle soft nproc 2047
  3. oracle hard nproc 16384
  4. oracle soft nofile 1024
  5. oracle hard nofile 65536
  6. oracle soft stack 10240

配置oracle用户的环境变量(以root身份执行)


      
  1. su - oracle --现在切换到oracle用户,切记是 su - oracle,两边都有空格,下面内容是以oracle身份执行
  2. vim .bash_profile 写入如下内容:
  3. export ORACLE_BASE=/u01/app/oracle
  4. export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
  5. export ORACLE_SID=orcl
  6. export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
  7. export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
  8. 执行如下命令,让环境变量生效:source .bash_profile

创建所需的目录


        
  1. su - --现在又切换到root身份
  2. mkdir -p /u01/app/oracle
  3. chown -R oracle:oinstall /u01/
  4. chmod -R 775/u01/
关闭相关服务 (以root身份执行):

         
  1. (本操做在安装系统时候已经执行)
  2. chkconfig sendmail off
  3. chkconfig iptables off
  4. chkconfig sm-client off
  5. setupfirewall configuration disabled
  6. 关闭SELINUX
  7. sed -i 's/SELINUX=enforcing/SELINUX=disabled/g'/etc/selinux/config
  8. cat /etc/selinux/config
修改/etc/hosts文件 (以root身份执行)

         
  1. vim /etc/hosts
  2. ip及主机名对应起来,改成下面这样
  3. [root@jtxy u01]# cat /etc/hosts
  4. # Do not remove the following line, or various programs
  5. # that require network functionality will fail.
  6. 127.0.0.1 localhost.localdomain localhost
  7. 192.168.0.99 jtxy
 
安装oracle 
 
上传11.2.0.4 oracle软件到操作系统;
 解压安装包 (以root身份执行)

    
  1. [root@jtxy ~]# cd /u01/
  2. [root@jtxy u01]# unzip p13390677_112040_Linux-x86-64_1of7.zip
  3. 。。。。。。。。。。。。。。。。。。。。。。。
  4. [root@jtxy u01]# unzip p13390677_112040_Linux-x86-64_2of7.zip
开始进行安装:

    
  1. [root@jtxy u01]# ls
  2. app database lost+found p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip
  3. [root@jtxy u01]# rm -rf p13390677_112040_Linux-x86-64_*
  4. [root@jtxy u01]# ls
  5. app database lost+found
  6. [root@jtxy u01]# xhost +
  7. access control disabled, clients can connect from any host
  8. [root@jtxy u01]# su - oracle
  9. [oracle@jtxy ~]$ cd /u01/database/
  10. [oracle@jtxy database]$ ./runInstaller
去掉勾选,下一步,点yes
 跳过软件更新:
 仅安装软件:
 安装单实例oracle
语言选择
 
 安装企业版:
 这是在oracle用户.base_profile中定义的环境变量:
 oracle产品目录清单:
默认组就可以
 进行安装软件:
 
 另开一个窗口,以root身份运行上面脚本:
 
 
看到完成提示后,回到这个界面点ok:
 点击close,这就完成了软件的安装
 接下来配置监听:

     
  1. [oracle@jtxy database]$ cd
  2. [oracle@jtxy ~]$ netca
配置监听,下一步
添加按钮。下一步
 
 监听名字(保持默认),下一步
 协议,下一步
 监听端口(也可以选择下面的按钮,自己决定监听端口):
不配置其他监听
 
 点击完成
 好了。现在配置好监听了,可以通过下面的命令来查看一下监听状态:

     
  1. [oracle@jtxy ~]$ lsnrctl status
  2. LSNRCTL forLinux:Version11.2.0.4.0-Production on 17-MAR-201712:44:17
  3. Copyright(c)1991,2013,Oracle.All rights reserved.
  4. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=jtxy)(PORT=1521)))
  5. STATUS of the LISTENER
  6. ------------------------
  7. Alias LISTENER
  8. Version TNSLSNR forLinux:Version11.2.0.4.0-Production
  9. StartDate17-MAR-201712:43:04
  10. Uptime0 days 0 hr.1 min.14 sec
  11. TraceLevel off
  12. Security ON:Local OS Authentication
  13. SNMP OFF
  14. ListenerParameterFile/u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
  15. ListenerLogFile/u01/app/oracle/diag/tnslsnr/jtxy/listener/alert/log.xml
  16. ListeningEndpointsSummary...
  17. (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=jtxy)(PORT=1521)))
  18. (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  19. The listener supports no services--还未有任何服务名被监听
  20. The command completed successfully
接下来建库;

     
  1. [oracle@jtxy ~]$ dbca
 
 创建一个模板数据库:
 数据库名
 启用em工具
 选择设置一个统一的密码
 选择yes就可以
 
 
 
 
 
 
 
 接下来会提示创建脚本成功,点击确定然后继续等待安装完成就行。
 点击exit,现在就吧oracle安装完了。接下来执行:

     
  1. [oracle@jtxy ~]$ sqlplus /as sysdba
  2. SQL*Plus:Release11.2.0.4.0Production on FriMar1713:08:182017
  3. Copyright(c)1982,2013,Oracle.All rights reserved.
  4. Connected to:
  5. OracleDatabase11gEnterpriseEditionRelease11.2.0.4.0-64bitProduction
  6. With the Partitioning, OLAP,DataMiningandRealApplicationTesting options
  7.  
  8. SQL> alter user scott account unlock identified by tiger; --这是解锁scott用户,并且设置密码为tiger
  9. User altered.
其他用户可以用这种方法解锁,解锁后就可以登陆了。
这是简单的模板数据库安装过程,想要定制方式安装数据库以及安装过程中遇到的各种问题,可以详细讨论:
本人qq:1215864353
 
 
 
 
 
 
 
常见错误以及解决办法:
 这是因为/etc/hosts文件没有配置或则配置有问题,检查配置文件,将本地ip以及主机名对应起来.
 
 这种问题是因为指定的目录权限不对,检查指定路径权限,是否下面这样:
[root@jtxy u01]# ll
total 24
drwxrwxr-x 4 oracle oinstall  4096 Mar 17 10:40 app
drwxrwxr-x 7 oracle oinstall  4096 Aug 27  2013 database
drwxrwxr-x 2 oracle oinstall 16384 Nov 22 18:19 lost+found
出现这个错误就是因为上面检查系统环境时,tmp可用空间不足导致的。

    
  1. 解决该问题
  2. 1.建立新tmp目录
  3. [root@pxboracle ora11g]# mkdir /u01/tmp
  4. [root@pxboracle ora11g]# chown root:root /u01/tmp
  5. [root@pxboracle ora11g]# chmod 1777/u01/tmp
  6. 2.设置数据库用户变量
  7. vi /home/oracle/.bash_profile 加入以下变量
  8. export TEMP=/u01/tmp
  9. export TMPDIR=/u01/tmp
  10. 然后 source .bash_profile生效
  11. [ora11g@pxboracle ~]$ env|grep TMP
  12. TMPDIR=/u01/tmp
  13. [ora11g@pxboracle~]$ env|grep TEMP
  14. TEMP=/u01/tmp
  15. 3.重新运行runInstaller
  16. 4.安装完成清理相关/u01/tmp 和相关环境变了,让数据库使用系统默认(根据实际情况处理),最好的解决办法是给系统增加tmp空间,然后重新运行安装,出现这种错误就是本身检查环境不仔细导致的。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  相关解决方案