Linux rh7环境下安装Oracle数据库

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

登录进去之后桌面显示:

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

2.Grid Installation Options

3. Select Product Language

4. Select Database Edition

5. Specify Installation Location

6. Create Inventory 

7.Privileged Operating System Group

8.Perform Prerequisite Checks

9.Summery

当出现 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

打开一个新的窗口,切换到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

6、创建数据库实例

1.Database Configuration Assistant:Welcome

2.Database Configuration Assistant: Operations

3.Database Configuration Assistant: Database Templates

4.Database Configuration Assistant: Database Identification

5.Database Configuration Assistant: Management Options

6.Database Configuration Assistant: Database Credentials

7.Database Configuration Assistant: Database File Locations

8.Database Configuration Assistant: Recovery Configuration

9.Database Configuration Assistant: Database Content

10. Initialization Parameters-Memory

11.Initialization Parameters-Character Sets

12. Database Storage

13. Creation Options

14.confirmation

15.​​​​​​ Database Configuration Assistant

16. Database Configuration Assistant

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

18.Listener Configuration,Listener

19.Listener Configuration,Listener Name

20.Listener Configuration,Select Protocols

21.Listener Configuration,TCP/IP Protocol

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

23.Oracle Net Configuration Assistant:Welcome

24.Net Service Name Configuration

25.Net Service Name Configuration,Service Name

26.Net Service Name Configuration,Select Protocols

27.Net Service Name Configuration,TCP/IP Protocol

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

29.Net Service Name Configuration,Connecting

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

31.Net Service Name Configuration,Another

32.Net Service Name Configuration,Done

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; 

原文地址:https://www.cnblogs.com/lujingxia/p/10765389.html