Redhat7.4安装Oracle11g详细步骤

一.安装RedHat7.4系统

1.安装Redhat7.4,进入安装界面选择Install Red Hat Enterprise Linux 7.4,按Enter。
Redhat7.4安装Oracle11g详细步骤_第1张图片
2.语言选择English,Continue
Redhat7.4安装Oracle11g详细步骤_第2张图片
3.时区选择Shanghai,并调整时间。
Redhat7.4安装Oracle11g详细步骤_第3张图片
4.SOFTWARE SELECTION,安装Server with GUI,额外环境勾选如下两项:
Redhat7.4安装Oracle11g详细步骤_第4张图片
5.MANUAL PARTITIONING分区如下,也可以选择自动分区(我的硬盘为40GB,内存2GB)
Redhat7.4安装Oracle11g详细步骤_第5张图片
6.关闭KDUMP,网络打开,点击Begin Installation:
Redhat7.4安装Oracle11g详细步骤_第6张图片
7.设置root账户密码及创建的新用户(这里创建的新用户可以是oracle):
Redhat7.4安装Oracle11g详细步骤_第7张图片
8.如果你设置的密码强度较弱,需要双击Done。
Redhat7.4安装Oracle11g详细步骤_第8张图片
9.安装完成,选择Reboot重启:
Redhat7.4安装Oracle11g详细步骤_第9张图片
10.接受LICENSE,FINISH CONFIGURATION:
Redhat7.4安装Oracle11g详细步骤_第10张图片
11.RedHat7.4安装完成,选择账户登录,点击Not listed?,选择root账户登录。
Redhat7.4安装Oracle11g详细步骤_第11张图片
12.Next,Next,Next,Skip设置完成,进入桌面:
Redhat7.4安装Oracle11g详细步骤_第12张图片
二.配置网络ip

1.鼠标在桌面上右键,选择Open Terminal,打开终端:

2.在终端中使用vi编辑器配置网卡ip地址配置文件

# vi /etc/sysconfig/network-scripts/ifcfg-ens33

i进入编辑模式,修改内容为:
Redhat7.4安装Oracle11g详细步骤_第13张图片

ESC退出编辑模式,按:x保存退出。
设置DNS:

# vi /etc/resolv.conf
Redhat7.4安装Oracle11g详细步骤_第14张图片

保存退出后,使用systemctl restart network重启网络,使用ifconfig查看网络信息:
Redhat7.4安装Oracle11g详细步骤_第15张图片
三.可选操作

大多数Oracle安装文章中,都会选择关闭防火墙和SeLinux,具体是否这样做,请阅读另一位小伙伴的文档 《Oracle与iptables和SELinux禁用关系说明》。
关闭防火墙:

# systemctl stop firewalld     #停止防火墙服务
# systemctl disable firewalld  #禁止开机启动

关闭SELINUX:

# vim /etc/sysconfig/selinux
SELINUX=disabled
#SELINUXTYPE=targeted   #注释掉

重启系统,然后查看SELinux状态

#/usr/sbin/sestatus -v     #查看SELinux状态

四.设置本地ISO源

1.在 /mnt下创建cdrom目录:

# mkdir /mnt/cdrom

2.挂载光盘到/mnt/cdrom

# mount /dev/cdrom /mnt/cdrom

3.使用vi创建cdrom.repo文件:

# vi /etc/yum.repos.d/cdrom.repo

添加:

[CDROM]
name=isofile
baseurl=file:///mnt/cdrom
enable=1
gpgcheck=0
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

4.清除yum缓存:yum clean all
安装gcc测试:yum install gcc
5.为了使下次开机后,ISO镜像能自动挂载,在/etc/fstab文件添加:

/dev/sr0	/mnt/cdrom	iso9660	defaults	0 0
Redhat7.4安装Oracle11g详细步骤_第16张图片
# mount –a 		#挂载fstab文件所有设备

注意:本例中,是把光驱中的Redhat安装光盘(dev/cdrom)挂载到/mnt/cdrom目录,如果您要把Redhat安装镜像ISO文件上传至root目录下,只需把第5步中的/dev/sr0改为/root/Redhat.***.iso,执行mount –a即可。

五.修改主机名及ip映射

1.修改主机名为Server:

# vi /etc/hostname

2.添加ip主机名映射:

# vi /etc/hosts
Redhat7.4安装Oracle11g详细步骤_第17张图片

注销下,重新登录,配置即可生效。

六.开始为安装Oracle做准备

1.安装所需软件包:

binutils-2.23.52.0.1-12.el7.x86_64   
compat-libcap1-1.10-3.el7.x86_64   
gcc-4.8.2-3.el7.x86_64   
gcc-c++-4.8.2-3.el7.x86_64   
glibc-2.17-36.el7.i686   
glibc-2.17-36.el7.x86_64   
glibc-devel-2.17-36.el7.i686   
glibc-devel-2.17-36.el7.x86_64   
ksh  
libaio-0.3.109-9.el7.i686   
libaio-0.3.109-9.el7.x86_64   
libaio-devel-0.3.109-9.el7.i686   
libaio-devel-0.3.109-9.el7.x86_64   
libgcc-4.8.2-3.el7.i686   
libgcc-4.8.2-3.el7.x86_64   
libstdc++-4.8.2-3.el7.i686   
libstdc++-4.8.2-3.el7.x86_64   
libstdc++-devel-4.8.2-3.el7.i686   
libstdc++-devel-4.8.2-3.el7.x86_64   
libXi-1.7.2-1.el7.i686   
libXi-1.7.2-1.el7.x86_64   
libXtst-1.2.2-1.el7.i686   
libXtst-1.2.2-1.el7.x86_64   
make-3.82-19.el7.x86_64   
sysstat-10.1.5-1.el7.x86_64  

安装i686软件包时,可把x86_64修改成i686,如图:

Redhat7.4安装Oracle11g详细步骤_第18张图片

下面的两个软件包可以在RedHat6镜像里找到,Redhat7不包含,可使用XFTP上传到root用户的家目录:

compat-libstdc++-33-3.2.3-71.el7.i686
compat-libstdc++-33-3.2.3-71.el7.x86_64

安装:

# rpm –ivh compat-libstdc++-33-3.2.3-71.el7.i686
# rpm –ivh compat-libstdc++-33-3.2.3-71.el7.x86_64

如果使用ODBC,你必须安装ODBC包依赖:

# yum install unixODBC-2.3.1-11.el7.x86_64
# yum install unixODBC-2.3.1-11.el7.i686
# yum install unixODBC-devel-2.3.1-11.el7.x86_64
# yum install unixODBC-devel-2.3.1-11.el7.i686

额外需要安装的包:

# yum install elfutils-libelf-0.168-8.el7.x86_64
# yum install elfutils-libelf-devel-0.168-8.el7.x86_64

2.安装最新的Linux-PAM库,使系统管理员能够选择应用程序如何对用户进行身份验证,添加以下内容到/etc/pam.d/login

#vi /etc/pam.d/login 		#在最下面加入如下内容
session required /lib64/security/pam_limits.so
session required pam_limits.so

3.修改/etc/profile

# vi /etc/profile

将以下代码新增到profile , pathmunge ()下方。添加代码的时候,千万注意,在这里的语法中,if[]之间,还有=两边,都是需要空格的,如果不加空格,之后执行到这里的代码的时候会报错。

if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
        ulimit -p 16384
        ulimit -n 65536
    else
        ulimit -u 16384 -n 65536
    fi
fi

4.创建要求的用户和组

# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# id oracle

如果oracle用户存在,这命令展示信息关于该用户属于哪个组,输出类似如下,显示oinstall是主要组,dba是次要组:
uid=440(oracle) gid=200(oinstall) groups=201(dba),202(oper)
如果您安装Redhat7.4时创建的新用户是oracle,但是它首选组不是oinstall或者它不是dba组中的一员,执行下面命令:

# /usr/sbin/usermod -g oinstall -G dba oracle	

如果您安装Redhat7.4时创建的新用户不是oracle,使用下面命令创建它:

# /usr/sbin/useradd -g oinstall -G dba oracle

这个命令创建oracle用户并指定oinstall作为首选组,dba作为次选组.
设置oracle用户密码:

# passwd oracle

七.配置内核参数和限制

验证以下表中所示的内核参数设置为大于或等于所示的最小值的值。下面的过程描述如何验证和设置这些值
注意:
本节中的内核参数和shell限制值仅是最小值。对于生产数据库系统,Oracle建议您调整这些值以优化系统的性能。有关调优内核参数的更多信息,请参考操作系统文档。
①使用/sbin/sysctl -a|grep sem查看系统中semmsl, semmns, semopm, 和semmni的值:

kernel.sem = 250  32000	 32	 128

②使用/sbin/sysctl -a | grep shm查看系统中shmall, shmmax, 和 shmmni的值:

kernel.shmall = 18446744073692774399
kernel.shmmax = 18446744073692774399
kernel.shmmni = 4096

③使用/sbin/sysctl -a | grep file-max查看系统中的file-max值:

fs.file-max = 197244

④使用/sbin/sysctl -a | grep ip_local_port_range查看系统中的
ip_local_port_range的值:

net.ipv4.ip_local_port_range = 32768	60999

⑤使用/sbin/sysctl -a | grep rmem_default查看系统中rmem_default的值:

net.core.rmem_default = 212992

⑥使用/sbin/sysctl -a | grep rmem_max查看系统中rmem_max的值:

net.core.rmem_max = 212992

⑦使用/sbin/sysctl -a | grep wmem_default查看系统中wmem_default的值:

net.core.wmem_default = 212992

⑧使用/sbin/sysctl -a | grep wmem_max查看系统中的wmem_max的值:

net.core.wmem_max = 212992

⑨使用cat /proc/sys/fs/aio-max-nr输出aio-max-nr的值:

1048576

Oracle官方文档推荐值:

fs.aio-max-nr = 1048576   
fs.file-max = 6815744    
kernel.shmall = 2097152  
kernel.shmmax = 536870912  推荐超过一半的物理内存
kernel.shmmni = 4096   
kernel.sem = 250 32000 100 128   
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  

系统中信息的值与官方推荐值不同时,若大于官方值,则不修改。否则修改为官方推荐值,编辑/etc/sysctl.conf文件:
Redhat7.4安装Oracle11g详细步骤_第19张图片
输入以下命令来更改内核参数的当前值:

# /sbin/sysctl -p

检查此命令的输出以验证值是否正确。如果值不正确,请编辑/etc/sysctl.conf文件,然后再次输入此命令.
输入命令/sbin/sysctl -a,以确认正确设置了值.
在/etc/sysctl.conf文件中更新内核参数后,使用sysctl -p使其生效.

八.配置您的操作系统设置资源限制

在Oracle Linux系统上,Oracle推荐安装Oracle预安装RPMs来满足预安装要求如在limits.conf文件中配置您的操作系统设置资源限制。Oracle预安装RPM只为Oracle用户配置limits.conf文件,如果您正在实现Oracle Grid 基础设施作业角色分离,那么在limits.conf文件中将值从oracle用户复制到grid用户
对于每个安装所有者,检查资源限制,使用下面推荐的范围:
Redhat7.4安装Oracle11g详细步骤_第20张图片
检查资源限制:

  1. 切换成oracle安装者账号(oracle用户).
  2. 检查文件描述符设置的软限制和硬限制。确保结果在推荐范围内。例如:
$ ulimit -Sn
1024
$ ulimit -Hn
4096
  1. 检查用户可用的进程数量的软限制和硬限制。确保结果在推荐范围内。例如:
$ ulimit -Su
4096
$ ulimit -Hu
7812
  1. 检查堆栈设置的软限制。确保结果在推荐范围内。例如:
$ ulimit -Ss
8192
$ ulimit -Hs
 unlimited
  1. 为每个Oracle软件安装所有者重复此过程。
    必要时,在/etc/security/limits.conf配置文件中为安装所有者更新资源限制但是,请注意,配置文件是特定于发行版的。请与系统管理员联系以获得特定于分发的配置文件信息。
    如果grid或者oracle用户已登录, 改变limits.conf 不会生效直到注销并再次登录.您必须在使用这些帐户进行安装之前进行此操作。
# vi /etc/security/limits.conf 

添加:

oracle       soft    nofile      1024
oracle       hard    nofile      65536
oracle       soft    nproc       4096
oracle       hard    nproc       16384
oracle       soft    stack       10240
oracle       hard    stack       32768

注销系统,然后登录使配置生效。

九.创建所需目录

# mkdir -p /u01/app/
# chown -R oracle:oinstall /u01/app/
# chmod -R 775 /u01/app 

十.配置Oracle用户环境

1.输入以下命令,以确保X Window应用程序可以在此系统上显示,Server是Redhat系统的主机名,这里也可以是ip地址(192.168.1.130):

$ xhost + Server

2.运行启动脚本

$ . ./.bash_profile

3.切换root账户,安装xclock:

# yum install -y xclock
# xclock

出现时钟,ok。

4.把oracle加入到sudoers:

# chmod u+w /etc/sudoers
# vi /etc/sudoers
Redhat7.4安装Oracle11g详细步骤_第21张图片
# chmod u-w /etc/sudoers
# exit

5.设置TMP和TMPDIR环境变量以在此文件系统上指定临时目录:

$ sudo mkdir /u01/tmp
$ sudo chmod a+wr /u01/tmp
$ exit

输入以下命令来设置TMP和TMPDIR环境变量:

$ TMP=/u01/tmp
$ TMPDIR=/u01/tmp
$ export TMP TMPDIR

6.输入以下命令来设置ORACLE_BASE和ORACLE_SID环境变量:

$ ORACLE_BASE=/u01/app/oracle
$ ORACLE_SID=sales
$ export ORACLE_BASE ORACLE_SID

在这个示例中,/u01/app/oracle是您先前创建或标识的Oracle基本目录,sales是数据库名称(通常不超过5个字符)。

7.输入以下命令以确保ORACLE_HOME和TNS_ADMIN环境变量没有设置:

$ unset ORACLE_HOME
$ unset TNS_ADMIN

如果设置了ORACLE_HOME环境变量, 那么Oracle Universal Installer使用它指定的值作为Oracle主目录的默认路径。但是,如果您设置ORACLE_BASE环境变量,那么Oracle建议您取消设置ORACLE_HOME环境变量,并选择Oracle Universal Installer建议的默认路径。

8.使用XFTP上传Oracle安装文件到Redhat7.4的oracle用户的home目录下:
在终端下切换到安装文件所在位置,使用unzip解压缩:

$ unzip linux.x64_11gR2_database_1of2.zip
$ unzip linux.x64_11gR2_database_2of2.zip 

9.切换到解压后的database目录,执行./runInstaller开始安装Oracle

①取消勾选I wish to receive security updates via My Oracle Support,然后Next。
Redhat7.4安装Oracle11g详细步骤_第22张图片
②选择Create and configure a database,然后Next。
Redhat7.4安装Oracle11g详细步骤_第23张图片
③选择Server Class,然后Next。
Redhat7.4安装Oracle11g详细步骤_第24张图片
④选择Single instance database installation,然后Next。
Redhat7.4安装Oracle11g详细步骤_第25张图片
⑤选择Typical install,然后Next。
Redhat7.4安装Oracle11g详细步骤_第26张图片
⑥Global database name 要和前面设置的ORACLE_SID保持一致,或以ORACLE_SID为前缀的名称(本例中也可以是sales.xxx)。
Redhat7.4安装Oracle11g详细步骤_第27张图片
Redhat7.4安装Oracle11g详细步骤_第28张图片
⑦在内核参数已确认配置好,显示的软件包确认都已安装好时,才可以选择Ignore All,否则打开一个终端,使用yum install 软件包名安装后Check Again。
Redhat7.4安装Oracle11g详细步骤_第29张图片
Redhat7.4安装Oracle11g详细步骤_第30张图片
Redhat7.4安装Oracle11g详细步骤_第31张图片
⑧在Redhat7.4系统中,Oracle安装进程大约在68%时出现错误:
解决方法:在makefile中添加链接libnnz11库的参数

$ vi /u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk

$(MK_EMAGENT_NMECTL) 修改为:$(MK_EMAGENT_NMECTL) -lnnz11
点击Retry继续安装,安装成功。

10.设置oracle用户的环境变量

$ vi /home/oracle/.bash_profie    #添加以下内容:
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=sales
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

保存后使用如下命令,使设置生效:

$ source /home/oracle/.bash_profile

11.启动数据库实例
Linux 下启动oracle步骤

$ lsnrctl start            		//打开监听
$ sqlplus /nolog    			//进入sqlplus
	SQL> conn /as sysdba        //连接到sysdba
 	SQL> startup 			    //启动数据库实例
 	SQL> shutdown immediate   	//关闭数据库实例
$ lsnrctl stop 			    	//关闭监听

启动或关闭数据库:

$ dbstart/dbshut 

注意要直接通过命令启动关闭数据库需先修改两个地方
修改自动启动和关闭数据库实例和监听

$ vi /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
#把ORACLE_HOME_LISTNER=$1修改为:ORACLE_HOME_LISTNER=$ORACLE_HOME 
$ vi /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshut
#把ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=$ORACLE_HOME 

启动关闭实例:
启动数据库

$ dbstart

关闭数据库

$ dbshut

启动/关闭EM(企业管理):

$ emctl start dbconsole  #启动EM
$ emctl stop dbconsole   #关闭EM

可以使用火狐浏览器根据给出的地址登陆https://192.168.1.130:1158/emhttp://192.168.1.130:1158/em。如果要使用远程的浏览器登录,则需要firewall放出Redhat7.4的1158和1521端口:
①查看开放出的端口

# firewall-cmd --list-ports

②永久放开端口

# firewall-cmd --zone=public --add-port=1158/tcp --permanent
# firewall-cmd --zone=public --add-port=1521/tcp --permanent

③重启firewall

# systemctl restart firewalld

12.登录EM管理
登录em管理,使用SYS,连接身份使用SYSDBA,如果没有配置sys账户密码,则打开终端:

sqlplus /nolog    		  //进入sqlplus
  SQL> conn /as sysdba    //连接到sysdba
  SQL> alter user sys identified by zseR245you; 	//修改sys账户密码为zseR245you
SQL>exit
Redhat7.4安装Oracle11g详细步骤_第32张图片

EM界面按钮乱码问题,参考《Oracle11g EM界面乱码解决方法》。
Oracle启动配置成功,现在可以使用Oracle连接客户端进行连接了。
解锁scott用户:

sqlplus /nolog    		  //进入sqlplus
  SQL> conn /as sysdba    //连接到sysdba
  SQL> alter user scott account unlock;    //解锁scott账户
SQL>alter user scott identified by tiger;  //设置scott账户密码为tiger

使用Navicat 连接数据库
Redhat7.4安装Oracle11g详细步骤_第33张图片
Redhat7.4安装Oracle11g详细步骤_第34张图片
13.扩展
Oracle服务自动启动脚本,参考《Oracle服务自动启动脚本》。
一般oracle11G R2启动主要用到这3个命令:(也可以根据你的要求开启一些其他的服务)
启动关闭代理

emctl start agent   #开启代理
emctl stop agent    #关闭代理

启动关闭实例

startup               #启动实例
shutdown immediate    #关闭实例 

shutdown有四个参数,四个参数的含义如下:
Normal:需要等待所有的用户断开连接
Immediate:等待用户完成当前的语句
Transactional :等待用户完成当前的事务
Abort:不做任何等待,直接关闭数据库
①normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接
②immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。
③transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。
④abort 执行强行断开连接并直接关闭数据库。
前三种方式不会丢失用户数据。第四种在不得已的情况下使用,不建议采用!

你可能感兴趣的:(数据库)