经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Oracle » 查看文章
Redhat6.8下安装Oracle11gR2
来源:cnblogs  作者:喜欢日向雏田一样的女子啊  时间:2019/3/11 8:57:59  对本文有异议

Step1.配置本地yum源,方便安装依赖包

  1. df -h

1

   补充: df命令查看 linux系统磁盘空间以及使用情况,-h代表方便阅读方式显示  ;/dev/sr0为光驱设备名


  1. mkdir cdrom
  2. mount /dev/sr0 /mnt/cdrom

image

  补充: 将光驱挂在到 /mnt/cdrom下


  1. vim /etc/yum.repos.d/redhat.repo

image

补充:本地yum源,enabled为1代表启用

 

Redhat修改了redhat.repo之后, 每次yum操作之后redhat.repo改动都没了,只会保留注释行,解决方法重命名自己的repo文件 或者 取消插件自动检查:

下图为该插件功能,每次都会检测并提示没有注册到Redhat的yum源,

image

 

这时候回去看之前改动的redhat.repo文件,改动地方没了已经,取消插件自动检查方法(将enabled由0改为1即可,然后将redhat.repo文件内容重新写一遍  或者一开始就将文件名随便重新取一个):

  1. vim /etc/yum/pluginconf.d/subscription-manager.conf

image


上面准备工作完成就可以准备安装Oracle依赖了, 测试之前安装是否成功可以通过以下简单尝试:

Root用户下安装lrzsz成功之后,rz可以弹出文件选择框上传文件 ;  或者yum  list 命令弹出一大可安装,每行最后都有 Server的名字,就是我们之前配置的源名字[Server]

  1. yum install -y lrzsz

 

Step2.Oracle安装步骤准备

以下配置需要Root用户执行

2.1 配置Oracle内核参数信息  补充说明:内核参数设置  Oracle安装内核参数详解

  1. vi /etc/sysctl.conf

追加以下内容:

  1. kernel.shmmax = 68719476736
  2. kernel.shmall = 4294967296
  3. fs.file-max = 6815744
  4. kernel.shmmni = 4096
  5. kernel.sem = 250 32000 100 128
  6. net.ipv4.ip_local_port_range = 9000 65500
  7. net.core.rmem_default = 262144
  8. net.core.rmem_max = 4194304
  9. net.core.wmem_default = 262144
  10. net.core.wmem_max = 1048586
  11. fs.aio-max-nr = 1048576

执行命令使之生效

  1. sysctl -p

 

2.2 配置Oracle 资源使用情况 补充说明:资源使用情况解释 Oracle资源使用情况详解

  1. vi /etc/security/limits.conf

追加以下内容

  1. oracle soft nproc 2047
  2. oracle hard nproc 16384
  3. oracle soft nofile 1024
  4. oracle hard nofile 65536
  5. oracle hard stack 10240

2.3 配置Oracle 登陆设置  补充说明:Oracle登陆设置解释

  1. vi /etc/pam.d/login

追加以下内容 (说明:当前机器为64位 所以是lib64目录下, 32位的机器目录下 lib下 ,查看机器目录方式有 getconf LONG_BIT)

  1. session required /lib64/security/pam_limits.so
  2. session required pam_limits.so


注意上面的目录写错了会导致linux系统登陆出现问题,虽然没遇到这样的问题,但是贴上解决的博客,万一遇到:解决Oracle安装后linux登陆出现问题


2.4 同样Root用户下修改/etc/profile

  1. vi /etc/profile

添加以下内容:

  1. if [ $USER = "oracle" ]; then
  2. if [ $SHELL = "/bin/ksh" ]; then
  3. ulimit -p 16384
  4. ulimit -n 65536
  5. else
  6. ulimit -u 16384 -n 65536
  7. fi
  8. fi

2.5 添加用户 (补充说明:为什么linux下安装oracle需要创建用户,以及用户组呢?个人见解,先说创建Oracle用户,不可能每次操作数据库都用root用户来登陆服务器,所以肯定要有这样一个用户来管理数据库,处于系统安全、数据完整考虑;第二点,用户组个人认为两个组才可以,OINSTALL以及DBA组,OINSTALL软件安装组,Oracle软件的所有者,而DBA组安全性来说就比较重要了,DBA组用户可以 conn / as sysdba方式通过操作系统认证进而登陆任意数据库实例,后面会补充介绍;以上都是这四天从零完成测试环境Oracle安装的发现,有不对之处欢迎讨论)

  1. groupadd oinstall
  2. groupadd dba
  3. useradd -g oinstall -G dba oracle
  4. passwd oracle

之后输入两次密码即可完成给oracle用户设置密码;  补充说明:useradd 的 –g代表 指定用户所属群组,-G 指定用户所属附加群组, 也就是说 -g是覆盖式的 -G是增量式的 ;

比如useradd  -g  oinstall –g dba XXX  这样XXX只属于oinstall组


2.6 配置环境变量以及 设定好安装目录

  先规划好打算安装oracle的路径,我将oracle安装到 /data/app/oracle目录,安装时候记得查看 磁盘空间大小,不要安装到一半没有空间了;

  1. mkdir -p /data/app/oracle
  2. chown -R oracle:oinstall /data/app/

补充说明:mkdir  -p 需要时创建上级目录,  chown –R  递归将目录拥有者给oinstall组的oracle用户

 

设定ORACLE用户环境变量,当然要切换用户到ORACLE ,.bash_profile在ORACLE的家目录下, ls –al可以查看到该文件

  1. su - oracle
  2. vi .bash_profile
  3.  

这里可以提前设置环境变量:解释下,ORACLE_SID代表你后面想要创建的数据库实例名,这里可以先写上,文章后面会说有什么用处; ORACLE_HOME代表你打算安装ORACLE产品的目录,这里写了后面就要按照这个来,可以先把目录手动创建起来

  1. export ORACLE_BASE=/data/app/oracle
  2. export ORACLE_HOME=$ORACLE_BASE/product/dbhome_1
  3. export ORACLE_SID=olcom114DB
  4. export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
  5. export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
  6.  

修改完成.bash_profile文件,立即生效命令 ; 可以通过 echo  $环境变量名字 查看是否起作用了

  1. source .bash_profile

2.7 上传好Oracle安装包并完成解压

Oracle11gR2安装包Oracle官网就需要登录才能下载,因为公司内网不知道啥情况,点击下载连接死活下不了,就去用积分下载,这里吐槽下某些链接,写的64位,装到一半报错什么libxxso的,才发现是32位的压缩包;

这里Oracle64位的安装包是linux.x64……..这样的,而linux_11gR2这种是32位的,直接通过fxp工具上传到服务器某个目录下,注意磁盘空间大小,2个文件加起来2G多;

image

解压命令: unzip解压就会解压到database目录下

  1. unzip linux.x64_11gR2_database_1of2.zip
  2. unzip linux.x64_11gR2_database_2of2.zip

 


2.8 依赖包的安装

前面Step1配置过了本地yum源之后,现在安装这些依赖包应该不存在问题,第一天安装的时候完全不知道什么命令查看哪些依赖,厚脸皮去请教一位数据库工程师,前辈发来一段命令

  1. rpm -q --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" binutils.x86_64 compat-libcap1.x86_64 compat-libstdc++-33.i686 compat-libstdc++-33.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh-*.x86_64 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libX11.i686 libX11.x86_64 libXau.i686 libXau.x86_64 libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64 libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libxcb.i686 libxcb.x86_64 make.x86_64 net-tools.x86_64 smartmontools.x86_64 sysstat.x86_64 | grep "not installed\|未安装"

查看下当前依赖: (补充下,有些依赖通过后面安装,没发现需要这样依赖)

image

Root用户下执行下面的安装命令:

  1. yum install compat-libcap1
  2.  
  3. yum install compat-libstdc++-33*
  4.  
  5. yum install compat-libstdc++-33*.i686
  6.  
  7. yum install gcc*
  8.  
  9. yum install glibc-devel-*.i686
  10.  
  11. yum install libstdc++-devel*.i686
  12.  
  13. yum install libaio*.i686
  14.  
  15. yum install libaio-devel*
  16.  
  17. yum install unixODBC*
  18.  
  19. yum install unixODBC*.i686
  20.  
  21. yum install ksh

 

执行完之后,查看还有哪些依赖没有安装(这些依赖后面安装 check dependencies时候没发现需要,也就没有继续安装)

image


Step3.图形化界面安装Oracle,因为习惯图形化安装,下面的只介绍图形化安装,我是先安装数据库软件 (因为服务器需要VPN连接,VPN经常断,没办法坚持到安装数据库软件建库一起完成),然后dbca建库,netca建立监听,dbca\netca图形以及静默安装方式都有;

3.1 安装数据库软件(图形化界面)

   图形化安装工具使用的是Xshell,以Oracle用户登陆XShell工具,进入到上面2.7的解压目录database

  1. ./runInstaller

image

一切正常的话就会弹出来Oracle安装界面,也会出现检查不通过,临时空间、交换空间不足,这两个我没有遇到就自行解决啦;

安装过程第一个问题就出现了:

image

解决方案: 

  1. vi /etc/hosts

image

修改添加当前主机名,主机名通过  hostname 命令查看,由于localhost.localdomain我觉得没啥用途,就全删掉改成主机名了

image

再次启动安装命令 ./runInstaller 不警告,通过;

简单通过 LICECap 将之前安装过程中图片做成动画形式,简单记录下安装说明:

1. 将安全更新的√取消 ;

2. 这里暂时只安装数据库软件,不创建实例(服务器VPN不稳定,数据库实例创建时间稍长,所以只安装数据库软件);

3.选择单实例数据库;

4. 语言只选择了英语;

5. 这里安装的是企业版 ;

6. ORACLE_BASE、ORACLE_HOME 在前面2.6环境变量写好了,这里指定ORACLE_BASE为 /data/app/oracle 以及 ORACLE_HOME为/data/app/oracle/product/dbhome_1 ;

7. Inventory目录为清单目录,这最好不要在ORACLE_BASE目录下,安装过程中的日志都在清单目录里面,下面还指定了ORACLE清单组,oinstall就可以了; 

8. 指定DBA组为之前添加的dba组,OSOPER组为之前的oinstall组就可以;

9.依赖检查,这里如果按照之前yum全部安装了,仍然会包缺少依赖,咨询过相关DBA说最好依赖版本相同,但是安装时候gcc版本安装时候 gcc如果不小心安装就会导致系统宕机、崩溃等各种问题;

如果确认之前2.8步骤的yum  install都执行成功,那点击右上角的Ignore All再点击下一步;(没执行2.9的yum install可能会出现一种情况,生成的bin目录里面lsnrctl可能为空,我第一次安装就有这样的问题)

10.安装产品步骤时,快完成时候会跳出来提示框,Root用户下执行两个脚本即可,截图也在下面有;

11.回到安装界面,点击OK,至此Oracle软件安装完成。

1


Step4.Oracle用户  图形化 dbca建库、netca建立监听

环境变量如果之前设置正确,xshell工具 Oracle用户登录后 输入  dbca ,会弹出如下界面进行建库操作:

Create a database  创建数据库 ; 数据库实例名SID 设置,和前面环境变量里的ORACLE_SID一致 (这里有篇文章介绍 环境变量ORACLE_SID的作用 关于环境变量ORACLE_SID简单谈下); 后面有很多具体配置,

Enterprise Manger (企业管理,就会有个类似控制台的东西),SGA、PGA等等,具体自行百度设置;  这里有个不太明白的地方: 前面会先设置一遍 All account的密码,后面建库完毕弹出来的Password Management打开发现密码都是空的, 这里重新设置一遍Sys用户和Sysadmin等用户,点击OK,这样就建库完毕 ( 点击OK之前再开打密码管理器,发现还是空白, 但是后面登陆时候密码确实是设置上的,这块希望有人知道能评论告诉我,)

 4


环境变量设置正确的话,xshell工具 Oracle用户登录后 输入  netcat ,会弹出如下界面进行建库操作:

建立监听的目的是让其他机器可通过PLSQL等工具连接上本机的数据库实例, 具体监听这里有篇资料mark Oracle 监听器 Listener

5

查看监听器是否启动可以通过如下两种方式:

  1. netstat -tnlp |grep 1521

image

或者

  1. lsnrctl status

image


Step5.到这里建库,监听建立都完毕可以测试下,按照以上安装步骤都是没有问题的,本机安装了两次,服务器也装了一次,有什么问题后续会补充;

本机测试连接(后面会有介绍 本机Oracle用户登录SYS用户哪怕不要密码 密码错误都可以登陆):

  1. sqlplus /nolog
  2. conn / as sysdba
  3. select * from v$instance;

 image

可能登陆会有 connected to an idle instance ,启动下数据库实例 startup 即可

image

外部机器测试连接(通过PLSQL测试连接)  数据库访问这么写:192.168.88.114:1521/olcom114DB , 记得Oracle所在机器开放监听端口;

image

image


 

Step6. 图形化安装过程中遇到的几个错误 以及解决方案

问题一. 安装Oracle软件过程指定清单目录时候,报错 Unable to create a new central  Inventory at the specified location.

   问题说明:安装的时候没注意到清单所在目录/data/oracle/oraInventory下面有其他文件,解决方案把该文件夹下面文件清掉或者换个文件夹; 

另外,该目录最好不要在ORACLE_BASE目录下

image

 


问题二. 安装Oracle软件检查依赖时候,交换空间不足

 

  1. /root目录下(目录随意)
  2. dd if=/dev/zero of=swapfree bs=32k count=65515
  3. mkswap swapfree
  4. swapon swapfree
  5. free
  6. /etc/fstab编辑开启自启动交换分区
  7. /root/swapfree swap swap defaults 0 0

之后Check Again就可以通过了

image


问题三.Oracle dbca建库过程中 Tns could not resolve the connect identifier specified

说明DBCA建库为啥会报这种错,一般我以为只有PLSQL连接时候才报错, 这种错误我这里出现情况是设置数据库用户密码中包含了@ 符号,把密码稍微改动下 去掉 @ 试试

image


Step7.静默方式dbca  netca建库

至于为什么采用dbca 静默方式建库呢? 因为服务器需要用VPN连接不太稳定, 好几次建库等进度条的时候VPN断了,尝试了多次VPN死心时候,采用静默dbca建库;

dbca命令在安装完Oracle软件之后就可以使用,配置文件 dbca.rsp到 database/responseFile/dbca.rsp复制过来就可以

  1. [GENERAL]
  2. RESPONSEFILE_VERSION = "11.2.0"
  3.  
  4. OPERATION_TYPE = "createDatabase"
  5.  
  6. [CREATEDATABASE]
  7. GDBNAME = "olcom114DB"
  8.  
  9. SID = "olcom114DB"
  10.  
  11. TEMPLATENAME = "General_Purpose.dbc"
  12.  
  13. SYSPASSWORD = "你的SYS用户密码"
  14.  
  15. SYSTEMPASSWORD = "你的SYSTEM用户密码"
  16.  
  17. DATAFILEDESTINATION = /data/app/oracle/oradata/
  18.  
  19. CHARACTERSET = "ZHS16GBK"
  20.  
  21. NATIONALCHARACTERSET= "UTF8"
  22.  
  23. TOTALMEMORY = "2048"

这是最基础的配置,全局数据库名、实例名、字符集、数据文件存储位置等

 

Oracle用户下执行命令,执行成功就可以在服务器上使用SQLPLUS连接Oracle

  1. dbca -silent -responseFile /data/oracle/dbca.rsp

image


netca建立监听才可以通过其他机器的PLSQL连接本机的ORACLE数据库

  1. netca /silent /responseFile /data/database/responseFile/netca.rsp

image


Step8.好了 文章感觉第一次写这么长的,谢谢你这么好看,还看完这篇,希望能帮到你们,也希望懂的大兄弟告诉下我,之前那块密码安装时候没显示的问题。点我回到问题的地方

 

原文链接:http://www.cnblogs.com/lvbinbin2yujie/p/10496837.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号