Centos7图形界面安装Oracle11G详细流程

以Centos7为列

创建运行Oracle数据库的系统用户和用户组

 1 #切换root用户
 2 [px@localhost /]$ su - root
 3 [px@localhost /]$ su - root
 4 密码:
 5 #创建用户组oinstall
 6 [root@localhost /]# groupadd oinstall
 7 #创建用户组dba
 8 [root@localhost /]# groupadd dba
 9 #创建oracle用户并加入组oinstall和附加组dba
10 [root@localhost /]# useradd -g oinstall -G dba -m oracle
11 #设置oracle密码
12 [root@localhost /]# passwd oracle
13 #查看新建的oracle用户信息
14 [root@localhost /]# id oracle
15 uid=1002(oracle) gid=1002(oinstall) 组=1002(oinstall),1003(dba)

 创建Oracle数据库安装目录

 1 #oracle数据库安装目录
 2 [root@localhost home]# mkdir -p /home/app/oracle
 3 #oracle数据库配置文件目录
 4 [root@localhost home]# mkdir -p /home/app/oraInventory
 5 #oracle数据库软件包解压目录
 6 [root@localhost home]# mkdir -p /home/app/database
 7 #创建完检查一下
 8 [root@localhost app]# ls
 9 database  oracle  oraInventory
10 #设置目录所有者为oinstall用户组的oracle用户
11 [root@localhost app]# chown -R oracle:oinstall /home/app/oracle
12 [root@localhost app]# chown -R oracle:oinstall /home/app/oraInventory
13 [root@localhost app]# chown -R oracle:oinstall /home/app/database

 修改OS系统标识

1 [root@localhost app]# cat /proc/version 
2 Linux version 3.10.0-327.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu Nov 19 22:10:57 UTC 2015
3 [root@localhost app]# cat /etc/redhat-release 
4 CentOS Linux release 7.2.1511 (Core) 
5 [root@localhost app]# vi /etc/redhat-release 
6 [root@localhost app]# cat /etc/redhat-release 
7 redhat-7

安装oracle的依赖包

 1 #为了确保没问题多找了几个,我都执行了一遍(参考:https://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#BABCFJFG)
 2 
 3 yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp
 4 
 5 
 6 yum -y install binutils-2.* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc++-4.* libstdc++-devel-4.* make-3.* sysstat-7.* unixODBC-2.* unixODBC-devel-2.* pdksh* 
 7 
 8 
 9 binutils-2.23.52.0.1-12.el7.x86_64 
10 compat-libcap1-1.10-3.el7.x86_64 
11 gcc-4.8.2-3.el7.x86_64 
12 gcc-c++-4.8.2-3.el7.x86_64 
13 glibc-2.17-36.el7.i686 
14 glibc-2.17-36.el7.x86_64 
15 glibc-devel-2.17-36.el7.i686 
16 glibc-devel-2.17-36.el7.x86_64 
17 ksh
18 libaio-0.3.109-9.el7.i686 
19 libaio-0.3.109-9.el7.x86_64 
20 libaio-devel-0.3.109-9.el7.i686 
21 libaio-devel-0.3.109-9.el7.x86_64 
22 libgcc-4.8.2-3.el7.i686 
23 libgcc-4.8.2-3.el7.x86_64 
24 libstdc++-4.8.2-3.el7.i686 
25 libstdc++-4.8.2-3.el7.x86_64 
26 libstdc++-devel-4.8.2-3.el7.i686 
27 libstdc++-devel-4.8.2-3.el7.x86_64 
28 libXi-1.7.2-1.el7.i686 
29 libXi-1.7.2-1.el7.x86_64 
30 libXtst-1.2.2-1.el7.i686 
31 libXtst-1.2.2-1.el7.x86_64 
32 make-3.82-19.el7.x86_64 
33 sysstat-10.1.5-1.el7.x86_64
View Code

关闭防火墙

1 --centos7默认用的firewalld作为防火墙
2 #查看防火墙状态
3 [root@localhost /]# systemctl status firewalld
4 #关闭防火墙
5 [root@localhost /]# systemctl stop firewalld
6 #禁止使用防火墙,重启后还是是禁止
7 [root@localhost /]# systemctl disable firewalld.service

关闭selinux(需重启生效)

1 [root@localhost /]# vi /etc/selinux/config
2 #此处修改为disabled
3 [root@localhost /]# cat /etc/selinux/config
4 SELINUX=disabled   

修改内核参数

 1 [root@localhost /]# vi /etc/sysctl.conf
 2 net.ipv4.icmp_echo_ignore_broadcasts = 1
 3 net.ipv4.conf.all.rp_filter = 1
 4 fs.file-max = 6815744 #设置最大打开文件数
 5 fs.aio-max-nr = 1048576
 6 kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024
 7 kernel.shmmax = 2147483648 #最大共享内存的段大小
 8 kernel.shmmni = 4096 #整个系统共享内存端的最大数
 9 kernel.sem = 250 32000 100 128
10 net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围
11 net.core.rmem_default = 262144
12 net.core.rmem_max= 4194304
13 net.core.wmem_default= 262144
14 net.core.wmem_max= 1048576
15 #使配置生效
16 [root@localhost /]# sysctl -p

对oracle用户设置限制,提高软件运行性能

1 #添加如下内容
2 [root@localhost /]# vi /etc/security/limits.conf
3 oracle soft nproc 2047
4 oracle hard nproc 16384
5 oracle soft nofile 1024
6 oracle hard nofile 65536

配置oracle用户的环境变量

 1 [root@localhost /]# vim /home/oracle/.bash_profile
 2 export ORACLE_BASE=/home/app/oracle #oracle数据库安装目录
 3 export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 #oracle数据库路径
 4 export ORACLE_SID=gdlisnet #oracle启动数据库实例名
 5 export ORACLE_TERM=xterm #xterm窗口模式安装
 6 export PATH=/home/app/oracle/product/11.2.0/dbhome_1/bin:$PATH #添加系统环境变量
 7 export LD_LIBRARY_PATH=$ORACLE_HOME/usr:/lib:/usr/lib #添加系统环境变量
 8 export LANG=C #防止安装过程出现乱码
 9 export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK  #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致,如:ZHS16GBK,否则出现数据导入导出中文乱码问题
10 #即时生效
11 [root@localhost /]# source /home/oracle/.bash_profile

上传Oracle安装包

安装包可去下载https://www.oracle.com/database/technologies/oracle-database-software-downloads.html
1
#将安装包上传到/usr/local/src,然后解压 2 [root@localhost /]# cd /usr/local/src/ 3 #可以使用ftp上传,或者用rz,sz,如果没安装进行安装 4 yum -y install lrzsz 5 #上传完后解压 6 [root@localhost src]$ unzip linux.x64_11gR2_database_1of2.zip -d /home/app/database/   7 [root@localhost src]$ unzip linux.x64_11gR2_database_2of2.zip -d /home/app/database/  8 [root@localhost src]# chown -R oracle:oinstall /home/app/database/database/

图形界面登录oracle用户安装

1 #处理界面为英文或者中文,默认英文
2 [root@localhost /]# export LANG="en_US" 
3 #中文
4 [root@localhost /]# export LANG="zh_CN" 
5 #中文后会乱码,需要将中文包zysong.ttf拷入解决
6 [root@localhost /]# cp zysong.ttf /usr/share/fonts/zh_CN/TrueType/
7 #启动oralce安装,到/home/app/database/database/目录下,执行runInstaller
8 [oracle@localhost database]# ./runInstaller

安装检测,遇到问题,按照提示一个一个解决

我遇到交换空间不足问题(有些包是版本高,可直接忽略14)

1 #swap空间不足解决 :(要求2.67G 实际2G)
2 #查看当前虚拟内存
3 [root@localhost /]# free -m  
4 #将当前swap空间由2048M 增加到 3048M 新增一个2014的swap文件
5 [root@localhost /]# dd if=/dev/zero of=/home/swap bs=1024 count=1024000  
6 [root@localhost /]# mkswap /home/swap
7 [root@localhost /]# free -m
8 #增加并启用虚拟内容
9 [root@localhost /]# swapon /home/swap  

如图:直接全部忽略,完成安装

安装到84%时候会出现灰色竖道,直接选中右键关闭即可,后边按提示执行脚本!

配置监听,创建实例

dbca创建数据库之前必须先配置监听,并且启动

 1 #现在root下执行xhost +
 2 [root@localhost ~]# xhost +
 3 xhost:  unable to open display ""
 4 #如果报错,执行如下,然后再执行xhost +
 5 [root@localhost ~]# export DISPLAY=localhost:1
 6 [root@localhost ~]# xhost +
 7 xhost:  unable to open display "localhost:1"
 8 #然后切换到oracle用户
 9 [root@localhost ~]# su - oracle
10 [oracle@localhost ~]$ export DISPLAY=:0.0
11 #建立监听
12 [oracle@localhost bin]$ ./netca
13 #创建监听完成查看监听,必须启动
14 [oracle@localhost bin]$ lsnrctl stat
15 [oracle@localhost bin]$ dbca

 测试连接

 1 [root@localhost /]# su - oracle
 2 [oracle@localhost ~]$ sqlplus /nolog
 3 
 4 SQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 26 13:26:10 2020
 5 
 6 Copyright (c) 1982, 2009, Oracle.  All rights reserved.
 7 
 8 SQL> connect / as sysdba
 9 Connected.
10 SQL> startup
11 ORACLE instance started.
12 
13 Total System Global Area  764121088 bytes
14 Fixed Size            2217264 bytes
15 Variable Size          494930640 bytes
16 Database Buffers      260046848 bytes
17 Redo Buffers            6926336 bytes
18 Database mounted.
19 Database opened.

设置开机自启动

 1  1 #设置开机自启
 2  2 [oracle@centos7 /]$ vim /etc/oratab
 3  3 gdlisnet: /home/app/oracle/product/11.2.0:Y
 4  4 [oracle@centos7 bin]$ vim /home/app/oracle/product/11.2.0/bin/dbstart
 5  5 #将ORACLE_HOME_LISTNER=$1改成
 6  6 ORACLE_HOME_LISTNER=$ORACLE_HOME
 7  7 [root@centos7 bin]# vim /etc/rc.local
 8  8 su - oracle -c '/home/app/oracle/product/11.2.0/bin/lsnrctl start'
 9  9 su - oracle -c '/home/app/oracle/product/11.2.0/bin/dbstart'
10 10 [root@centos7 bin]# chmod +x /etc/rc.d/rc.local
11 11 
12 12 #同步网络时间
13 13 [root@centos7 /]# yum -y install ntp
14 14 [root@centos7 /]# ntpdate -u ntp.api.bz
15 15 [root@centos7 /]# hwclock –w

开启防火墙

 1 #开启防火墙
 2 systemctl start firewalld
 3 #开放指定端口
 4 firewall-cmd --zone=public --add-port=1521/tcp --permanent
 5  #命令含义:
 6 --zone #作用域
 7 --add-port=1521/tcp  #添加端口,格式为:端口/通讯协议
 8 --permanent  #永久生效,没有此参数重启后失效
 9 #重启防火墙
10 firewall-cmd --reload
11 
12 #查看端口号
13 #查看当前所有tcp端口·
14 netstat -ntlp   
15 #查看所有1935端口使用情况·
16 netstat -ntulp |grep 1521
17 
18 #iptables防火墙
19 /sbin/iptables -I INPUT -p tcp --dport 1521 -j ACCEPT

使用命令

lsnrctl status 查看状态

lsnrctl start 启动

lsnrctl stop 停止

 

sqlplus /nolog  //登录sqlplus

connect /as sysdba  //连接oracle

startup //起动数据库

shutdown //关闭数据库 shutdown immediate

exit  //退出sqlplus

 

环境变量改错的话,执行如下:

export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

 

posted @ 2020-08-27 10:16  px_passion  阅读(1280)  评论(0编辑  收藏  举报