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;