目录
2、检查防火墙和selinux是否关闭,若没有关闭则进行关闭
(3)检查selinux设置,因为我是刚装的虚拟机,所以selinux为Enforcing状态。
3、修改内核参数,在/etc/sysctl.conf中添加以下内容
4、对oracle用户设置限定。将以下行添加到/etc/security/limits.d/oracle-rdbms-server-12cR1-preinstall.conf 文件中
7、根据需要创建oracle安装目录,并授权oracle对该目录的所有权
8、为oracle添加环境变量。在/home/oracle/.bash_profile添加以下内容
10、oracle用户下进入oracle安装包解压后的databas目录,我是直接将压缩包上传到了oracle用户的家目录,然后进行解压的,如果用root用户上传,应修改安装包的所属主、组。
(1)若使用XmanagerEnterprise企业版,则启动xmanager-passive
(14) 可为不同的管理用户设置不同的密码,本次使用相同密码
(16)增加交换 交换区域swap大小,交换分区足够请忽略。
(17)以root身份依次执行这两条命令后点ok。(两个脚本的路径因个人的安装目录所在位置有所不同)
https://oracle-base.com/articles/12c/oracle-db-12cr1-installation-on-oracle-linux-7
https://blog.youkuaiyun.com/weixin_42077546/article/details/106568809
https://blog.youkuaiyun.com/qq_23659871/article/details/80680669
https://blog.youkuaiyun.com/qq_41555595/article/details/104447033
https://blog.youkuaiyun.com/click_idc/article/details/80591686
最近安装了好几次Oracle,但是每次静默安装都会出错,索性写一个图形界面安装的笔记,方便以后使用。
本文参考Oracle文档:ORACLE-BASE - Oracle Database 12c Release 1 (12.1) Installation On Oracle Linux 7 (OL7)
所需工具:远程连接工具如xshell等、X仿真工具,如XmanagerEnterprise企业版(付费软件)、MobaXterm
一、Oracle安装先决条件
1、修改hosts文件,添加ip与主机标准名称对应
格式为:
<IP地址> <完全限定的计算机名称> <计算机名称>
注意:完全限定的计算机名称为/etc/hostname中的名称
[root@oracle ~]# cat /etc/hostname
oracle
[root@oracle ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.128 oracle oracle
2、检查防火墙和selinux是否关闭,若没有关闭则进行关闭
(1)检查防火墙
[root@oracle ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since 二 2021-05-04 15:29:15 CST; 1min 45s ago
Docs: man:firewalld(1)
Main PID: 28236 (firewalld)
CGroup: /system.slice/firewalld.service
└─28236 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
(2)关闭防火墙及设置开机不自启
[root@oracle ~]# systemctl stop firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: inactive (dead) since 二 2021-05-04 15:31:45 CST; 18s ago
Docs: man:firewalld(1)
.
.
.
[root@oracle ~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
(3)检查selinux设置,因为我是刚装的虚拟机,所以selinux为Enforcing状态。
[root@oracle ~]# getenforce
Enforcing
(4)设置selinux
①临时设置,重启后将变回Enforcing状态
[root@oracle ~]# setenforce 0
[root@oracle ~]# getenforce
Permissive
②永久生效,打开selinux配置文件,将SELINUX=enforcing改为SELINUX=disabled 将selinux禁用。
[root@oracle ~]# vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
3、修改内核参数,在/etc/sysctl.conf中添加以下内容
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
sysctl -p立即生效
[root@oracle ~]# sysctl -p
4、对oracle用户设置限定。将以下行添加到/etc/security/limits.d/oracle-rdbms-server-12cR1-preinstall.conf 文件中
[root@oracle ~]# vim /etc/security/limits.d/oracle-rdbms-server-12cR1-preinstall.conf
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728
5、安装依赖包
一部分为oracle安装所需要的依赖包,一部分是后续会使用到的工具
centos7执行下列语句
[root@oracle ~]# yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 \
gcc gcc-c++ glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libgcc \
libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 \
libaio libaio.i686 libaio-devel libaio-devel.i686 libXext libXext.i686 libXtst \
libXtst.i686 libX11 libX11.i686 libXau libXau.i686 libxcb libxcb.i686 libXi \
libXi.i686 make sysstat unixODBC unixODBC-devel zlib-devel zlib-devel.i686 \
unzip xorg-x11-utils.x86_64 compat-libcap1.x86_64 0:1.10-7.el7
国产银河麒麟系统
应为依赖包不全,无法使用yum一次性安装需手动按照部分软件包
安装后面需要的远程图像包
yum -y install xorg-x11-utils libnsl
然后rpm强制安装下列包(已打包,需要自行下载,不放心可自己找相关包)
相关依赖包百度网盘地址:https://pan.baidu.com/s/1sH2jEz1P726py7HARQeyOA?pwd=p4cv
安装上方的包
rpm -ivh --nodeps --force oracle-rpm/*.rpm
6、创建用户并设置密码
[root@oracle ~]# groupadd dba
[root@oracle ~]# groupadd oinstall
[root@oracle ~]# groupadd oper
[root@oracle ~]# useradd -g oinstall -G dba,oper oracle
[root@oracle ~]# echo oracle123 | passwd --stdin oracle
更改用户 oracle 的密码 。
passwd:所有的身份验证令牌已经成功更新。
7、根据需要创建oracle安装目录,并授权oracle对该目录的所有权
[root@oracle ~]# mkdir -p /data/oracle
[root@oracle ~]# chown -R oracle.oinstall /data/oracle/
[root@oracle ~]# chmod -R 755 /data/
[root@oracle ~]# ls -ld /data/oracle/
drwxr-xr-x. 2 oracle oinstall 6 5月 4 16:22 /data/oracle/
8、为oracle添加环境变量。在/home/oracle/.bash_profile添加以下内容
这几项按实际需求修改,修改,修改!!!!!!!!!!
[root@oracle ~]# vim /home/oracle/.bash_profile
# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=oracle #主机标准名称
export ORACLE_UNQNAME=cdb1
export ORACLE_BASE=/data/oracle/oracle #安装目录路径
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0.2/db_1
export ORACLE_SID=cdb1
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/jlib:$ORACLE_HOME/rdbms/jlib
9、新开终端登录oracle用户验证环境变量
[root@oracle ~]# su - oracle
上一次登录:二 5月 4 16:34:44 CST 2021pts/0 上
[oracle@oracle ~]$ echo $ORACLE_BASE
/data/oracle/oracle
[oracle@oracle ~]$ echo $ORACLE_HOME
/data/oracle/oacle/product/12.1.0.2/db_1
10、oracle用户下进入oracle安装包解压后的databas目录,我是直接将压缩包上传到了oracle用户的家目录,然后进行解压的,如果用root用户上传,应修改安装包的所属主、组。
[oracle@oracle database]$ pwd
/home/oracle/database
[oracle@oracle database]$ ls
install response rpm runInstaller sshsetup stage welcome.html
11、将语言临时设置为英文,否则后面的安装窗口回呈现乱码
[oracle@oracle database]$ export LANG=en_US
银河麒麟系统若出现上方语句执行时oracle用户被强制下线的问题,则执行下放语句
export LANG=en_US.UTF-8
二、开始安装
1、打开Windows主机上的X仿真工具
如XmanagerEnterprise企业版(付费软件)、MobaXterm。
(1)若使用XmanagerEnterprise企业版,则启动xmanager-passive
(2)若使用MobaXterm则直接启动MobaXterm
2、授予软件安装包权限
为防止因权限不足导致安装失败,最好将database目录下的所有文件赋予所有权限
[oracle@oracle database]$ chmod -R 777 ~/database/*
3、设置X仿真连接变量
格式:DISPLAY=本机ip:0.0,例如我远程的服务器的IP为192.168.0.128,我本机ip为192.168.0.100
[oracle@oracle database]$ export DISPLAY=192.168.0.100:0.0
4、启动安装脚本(注意所在目录)
[oracle@oracle database]$ ./runInstaller
运行后Windows会弹出几次确认提示,点击“是”即可
之后会弹出Oracle的安装界面
5、开始安装oracle
(1)取消邮箱勾选、点击下一步
银河麒麟系统会出现环境不满足提示,点击yes即可
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)更具实际需要选择配置类型
(11)
(12)勾选为自动管理内存
(13)根据需求选择
之后3步默认
(14) 可为不同的管理用户设置不同的密码,本次使用相同密码
(15)
银河麒麟系统会跳过这个页面
(16)增加交换 交换区域swap大小,交换分区足够请忽略。
详细参考:在Linux上增加swap空间的技巧_click_idc的博客-优快云博客_增加swap
[root@oracle /]# mkdir /swap
[root@oracle /]# cd /swap
[root@oracle /]# dd if=/dev/zero of=swapfile bs=1M count=2048
[root@oracle /]# mkswap swapfile
[root@oracle /]# swapon swapfile
[root@oracle /]# vim /etc/fstab
.
.
.
/swap/swapfile swap swap defaults 0 0
[root@oracle /]# mount -a
(17)以root身份依次执行这两条命令后点ok。(两个脚本的路径因个人的安装目录所在位置有所不同)
[root@oracle /]# /data/oracle/oraInventory/orainstRoot.sh
[root@oracle /]# /data/oracle/oracle/product/12.1.0.2/db_1/root.sh
点击ok后会进入下方页面,等待安装即可。
安装完成
三、启动数据库 、测试安装受否成功
1、开启监听
[oracle@oracle database]$ lsnrctl status
LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 04-MAY-2021 21:21:55
Copyright (c) 1991, 2014, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date 04-MAY-2021 20:46:50
Uptime 0 days 0 hr. 35 min. 5 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /data/oracle/oracle/product/12.1.0.2/db_1/network/admin/listener.ora
Listener Log File /data/oracle/oracle/diag/tnslsnr/oracle/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=oracle)(PORT=5500))(Security=(my_wallet_directory=/data/oracle/oracle/admin/orcl/xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "cdb1XDB" has 1 instance(s).
Instance "cdb1", status READY, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s).
Instance "cdb1", status READY, has 1 handler(s) for this service...
Service "pdborcl" has 1 instance(s).
Instance "cdb1", status READY, has 1 handler(s) for this service...
The command completed successfully
2、数据库启停
(1)登录数据库
[oracle@oracle /]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Tue May 4 21:40:29 2021
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
(2)关闭数据库
SQL> shutdown
Database closed.
Database dismounted.
ORACLE instance shut down.
(3)启动数据库
SQL> startup
ORACLE instance started.
Total System Global Area 1191182336 bytes
Fixed Size 2923728 bytes
Variable Size 838861616 bytes
Database Buffers 335544320 bytes
Redo Buffers 13852672 bytes
Database mounted.
Database opened.
(4)设置开机自启
vim /etc/oratab
cdb1:/data/oracle/oracle/product/12.1.0.2/db_1:Y
重启监听
lsnrctl stop
lsnrctl start
lsnrctl status
使用navicat测试连接时使用system用户,密码为安装第14步设置的密码,实在不行用
sqlplus / as sysdba连接数据库
alter user sys identified by 密码; 修改密码
至此Oracle数据库安装成功!!!
参考文献:
ORACLE-BASE - Oracle Database 12c Release 1 (12.1) Installation On Oracle Linux 7 (OL7)
Linux安装Oracle12c数据库图文详解_墨问西东的博客-优快云博客_linux安装oracle12c数据库
Linux安装oracle12c的详解_林夕男的博客-优快云博客_linux安装oracle12c