Linux rh7环境下安装Oracle数据库

时间:2023-03-08 17:00:47

1、修改Linux系统的参数

1)检查系统的版本

# more /etc/redhat-release

2)关闭SELinux,需要restart

# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

3)关闭防火墙

# systemctl is-active firewalld

# systemctl disable firewalld

# systemctl stop firewalld

4)修改/etc/sysctl.conf文件,添加下面内容到该文件中,不然安装oracle的时候检查os kernel会出现很多warning

kernel.sysrq = 0

kernel.core_uses_pid = 1

net.ipv4.tcp_syncookies = 1

kernel.msgmnb = 65536

kernel.msgmax = 65536

kernel.shmmax = 4294967295

kernel.shmall = 268435456

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

fs.file-max = 6815744

fs.aio-max-nr = 1048576

/sbin/sysctl -p

5)重启服务

#init 6

2、检查硬件参数

1)在本地磁盘上要求最小4.7GB空闲空间

2)使用root登录

3)检查内存大小,最小要求1GB,推荐是使用2GB或者更大

使用命令查看内存大小:

#grep "Mem" /proc/meminfo

MemTotal:       131746360 kB

MemFree:        129482536 kB

MemAvailable:   129273660 kB

5)检查/tmp目录空闲空间,要求大于400MB

#df -h /tmp

Filesystem                     Size   Used  Avail  Use% Mounted on

/dev/mapper/rhel-root  130G   16G  115G  12%

6)检查交换区大小

如果物理内存大小是1GB到16GB,那么交换区大小必须是该内存大小的1.5倍;

如果物理内存大小大于16GB,那么交换区大小必须与该内存大小相同;

#free -m

total        used    free      shared   buff/cache   available

Mem:  128658  3089   114357   3211     11211      121391

Swap: 131071    0        131071

7)检查Linux内核

#getconf LONG_BIT

64

3、装前检查

1)在安装oracle数据库之前确保依赖包已经被安装,可以使用 rpm -qa|grep xxx或者rpm -q一次查询

# rpm -q binutils compat-db compat-libstdc++-33 dos2unix elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel zlib-devel pdksh

2)在官网上找到oracle 11g安装在rh7需要的依赖包,然后从本地传到/tmp目录下,可以一个个执行rpm -ivh xxx或者rmp -ivh所有的依赖包,注意的是一个个执行的时候,可能存在依赖包之间相互的依赖关系,也就是如果一个没装之前安装另一个会提示失败

# rpm -ivh xxx...

3)vim /etc/security/limits.conf添加下面的内容:

session required /lib64/security/pam_limits.so

session required pam_limits.so

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

4)vim /etc/profile添加下面内容:

if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

4、安装准备

一般有关操作oracle文件的需要用oracle用户操作

1)创建DBA用户组:oinstall和dba

oinstall是主要的组,用于安装数据库

dba是次要的组,用于管理数据库

#groupadd oinstall

#groupadd dba

2)添加一个用户名oracle,并设置密码,一个用户可与属于多个用户组,能指定一个组为主组

useradd:创建用户,把/opt/oracle目录作为oracle用户的主目录或登录默认目录,-g表示这个用户的主组初始组为oinstall,-G表示oracle用户同时属于dba组,做数据维护,和数据库管理工作

#useradd -d /opt/oracle -g oinstall -G dba oracle

#echo oracle|passwd --stdin oracle       *密码设置为oracle

#chown -R             *-R: 对目前目录下的所有文件与子目录进行相同的拥有者变更

3)安装准备

1. oracle用户通过SSH Secure file Transfer将oracle 11g程序文件上传到服务器,或者将root用户下的文件复制oracle用户

2. 通过安装VNC Viewer软件,支持远程操作Linux GUI

执行以下命令:

#rpm -ivh tigervnc-server-1.8.0-1.el7.x86_64.rpm

#vncserver

#vncpasswd

#vncserver -list

Expected output, for example

[root@BLRDB01 lib]# vncserver -list

TigerVNC server sessions:

X DISPLAY #    PROCESS ID

:4               161451

3.安装完成之后,使用vncviwer登录,格式server IP:4

登录进去之后桌面显示:

Linux rh7环境下安装Oracle数据库

4. vim /opt/oracle/.bash_profile添加下面内容:

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

export ORACLE_SID=orcl

export ORACLE_BASE=/opt/oracle/app

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:ORACLE_HOME/lib

export ORACLE_HOME=/opt/oracle/app/product/11.2.0/dbhome_1

export ORACLE_HOME_LISTNER=$ORACLE_HOME

PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin

umask 022

export PATH

5.解压程序文件,解压完成之后产生database文件

#su - oracle

#cd /opt/Orgin_files/oracle/

#unzip -oq p13390677_112040_Linux-x86-64_1of7.zip

#unzip -oq p13390677_112040_Linux-x86-64_2of7.zip

5、开始安装

#su - oracle

#cd /opt/Orgin_files/database/

#chmod u+x runInstaller

#./runInstaller

1.Select Installation Option

Linux rh7环境下安装Oracle数据库

2.Grid Installation Options

Linux rh7环境下安装Oracle数据库

3. Select Product Language

Linux rh7环境下安装Oracle数据库

4. Select Database Edition

Linux rh7环境下安装Oracle数据库

5. Specify Installation Location

Linux rh7环境下安装Oracle数据库

6. Create Inventory

Linux rh7环境下安装Oracle数据库

7.Privileged Operating System Group

Linux rh7环境下安装Oracle数据库

8.Perform Prerequisite Checks

Linux rh7环境下安装Oracle数据库

9.Summery

Linux rh7环境下安装Oracle数据库

当出现 Error in invoking target 'agent nmhs' of makefile '/u01/app/oracle/product/11.2.0.4/sysman/lib/ins_emagent.mk'.

解决办法:

Vi $ORACLE_HOME/sysman/lib/ins_emagent.mk

搜索:$(MK_EMAGENT_NMECTL)

替换:$(MK_EMAGENT_NMECTL) -lnnz11

然后点击retry

10.Execute Configuration scripts

Linux rh7环境下安装Oracle数据库

打开一个新的窗口,切换到root,使用以下命令执行scripts:

#cd /home/oracle/oraInventory

#chmod u+x orainstRoot.sh

#./orainstRoot.sh

#cd /home/oracle/app/product/11.2.0/dbhome_1

#chmod u+x root.sh

#./root.sh    --->回车

scripts执行完成之后,点击OK

11.Finish

Linux rh7环境下安装Oracle数据库

6、创建数据库实例

1.Database Configuration Assistant:Welcome

Linux rh7环境下安装Oracle数据库

2.Database Configuration Assistant: Operations

Linux rh7环境下安装Oracle数据库

3.Database Configuration Assistant: Database Templates

Linux rh7环境下安装Oracle数据库

4.Database Configuration Assistant: Database Identification

Linux rh7环境下安装Oracle数据库

5.Database Configuration Assistant: Management Options

Linux rh7环境下安装Oracle数据库

6.Database Configuration Assistant: Database Credentials

Linux rh7环境下安装Oracle数据库

7.Database Configuration Assistant: Database File Locations

Linux rh7环境下安装Oracle数据库

8.Database Configuration Assistant: Recovery Configuration

Linux rh7环境下安装Oracle数据库

9.Database Configuration Assistant: Database Content

Linux rh7环境下安装Oracle数据库

10. Initialization Parameters-Memory

Linux rh7环境下安装Oracle数据库

11.Initialization Parameters-Character Sets

Linux rh7环境下安装Oracle数据库

12. Database Storage

Linux rh7环境下安装Oracle数据库

13. Creation Options

Linux rh7环境下安装Oracle数据库

14.confirmation

Linux rh7环境下安装Oracle数据库

15.​​​​​​ Database Configuration Assistant

Linux rh7环境下安装Oracle数据库

16. Database Configuration Assistant

Linux rh7环境下安装Oracle数据库

17.​​​​​​​ Oracle Net Configuration Assistant: Welcome

Linux rh7环境下安装Oracle数据库

18.Listener Configuration,Listener

Linux rh7环境下安装Oracle数据库

19.Listener Configuration,Listener Name

Linux rh7环境下安装Oracle数据库

20.Listener Configuration,Select Protocols

Linux rh7环境下安装Oracle数据库

21.Listener Configuration,TCP/IP Protocol

Linux rh7环境下安装Oracle数据库

22.​​​​​​​ Listener Configuration,More Listener

Linux rh7环境下安装Oracle数据库

23.Oracle Net Configuration Assistant:Welcome

Linux rh7环境下安装Oracle数据库

24.Net Service Name Configuration

Linux rh7环境下安装Oracle数据库

25.Net Service Name Configuration,Service Name

Linux rh7环境下安装Oracle数据库

26.Net Service Name Configuration,Select Protocols

Linux rh7环境下安装Oracle数据库

27.Net Service Name Configuration,TCP/IP Protocol

Linux rh7环境下安装Oracle数据库

28.​​​​​​​ Net Service Name Configuration,Test

Linux rh7环境下安装Oracle数据库

29.Net Service Name Configuration,Connecting

Linux rh7环境下安装Oracle数据库

30.​​​​​ Net Service Name Configuration,Net Service Name

Linux rh7环境下安装Oracle数据库

31.Net Service Name Configuration,Another

Linux rh7环境下安装Oracle数据库

32.Net Service Name Configuration,Done

Linux rh7环境下安装Oracle数据库

7、验证数据库

#sqlplus / as sysdba

登录正常

8、修改数据库参数

#su - oracle

#sqlplus orcl/orcl as sysdba

SQL>alter system set deferred_segment_creation=false scope=spfile;

SQL>shutdown immediate;

SQL>startup;

SQL>exit;