Oracle Linux 7.5安装oracle 12cR2数据库
一、 安装Oracle之前的环境准备
-
1.1 预先准备安装oracle所需的RPM包(本次yum安装12cR2的基础环境RPM包进行全部基础包安装和参数设置,需要能访问外网且配置DNS)
- 1.1.1 yum安装oracle官方的12cR2基础环境设置RPM包
yum -y install oracle-database-server-12cR2-preinstall
- 1.1.1 yum安装oracle官方的12cR2基础环境设置RPM包
-
1.2 关闭防火墙以及SELinux,关闭SELinux需要重启
systemctl stop firewalld
systemctl disable firewalld
sed 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
//关闭selinux -
1.3 查看12cR2-preinstall配置日志
其中已经完成:
1)用户和用户组创建
2)系统内核参数配置(/etc/sysctl.conf)
3)用户限制参数配置(/etc/security/limits.con)
查看配置日志:
more /var/log/oracle-database-server-12cR2-preinstall/results/orakernel.log
-
1.4 设置oracle用户密码(本次使用用户密码:oracle/oracle)
passwd oracle
-
1.5 修改hosts文件(添加主机名及IP条目)
vi /etc/hosts 192.168.124.10 oracle-db
-
1.6 重启服务器,使之前部分配置生效(例如SELinux)
reboot
-
1.7 创建安装所需目录
mkdir -p /u01/app/oracle/product/12.2.0.1/dbhome_1
chown -R oracle:oinstall /u01/app
chmod -R 775 /u01/app
备注:
rwx: oracle用户
r-x: 和oracle用户同组的其他用户权限
r-x: 不同组的用户的权限 -
1.8 修改oracle用户的profile文件(环境变量)
确认SID实例名,如作为旧数据库迁移需要的应查询旧数据库实例名(注意大小写),查询语句:select instance_name from v$instance;
增加以下内容:
su - oracle
vi .bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0.1/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
重新读取profile:
source .bash_profile
-
1.9 root用户下解压安装包,修改oracle安装包解压后所属用户组及用户
su - root
cd /u01/software
unzip linuxx64_12201_database.zip
chown -R oracle:oinstall database
-
1.10 PC需要安装Xmanager软件并在Xmanager - Passive的安全性设置中勾选启动访问控制,添加Linux服务器IP地址(192.168.124.10)
-
1.11 切换到oracle用户下使用xhost命令显示运行安装界面给PC
-
- 1.11.1方法一,切换到oracle用户
su - oracle
export DISPLAY=192.168.124.1:0.0
xhost +
cd /u01/software/database
./runInstaller
注:执行xhost +后提示“access control disabled, clients can connect from any host”才正确
- 1.11.1方法一,切换到oracle用户
-
- 1.11.2方法二,使用CRT直接用oracle用户登录
export DISPLAY=192.168.124.1:0.0
xhost +
cd /u01/software/database
./runInstaller
注:执行xhost +后提示“access control disabled, clients can connect from any host”才正确
- 1.11.2方法二,使用CRT直接用oracle用户登录
二、 数据库安装
-
2.1 是否需要安全更新,否,下一步会提示是否继续配置,确认
-
2.2 创建并配置数据库
-
2.3 选择安装服务器类
-
2.4 安装单实例数据库
-
2.5 选择安装类型为高级
-
2.6 安装企业版
-
2.7 设定oracle安装的目录
-
2.8 设定oracle库存管理目录
-
2.9 选择一般用途数据库
-
2.10 设定SID和数据库名并且不创建数据库容器
-
2.11 设定SGA内存和字符集,使用内存的3/4;字符集采用ZHS16GBK,如作为其他数据库迁移需要确认迁移数据库的字符集,数据库字符集查询语句:
select * from nls_database_parameters;
//查看字符集信息(其中NLS_NCHAR_CHARACTERSET为国家字符集,NLS_CHARACTERSET为数据库字符集)
-
2.12 选择数据库存储系统为文件系统,设定路径
-
2.13 管理选项,选择无
-
2.14 数据库闪回区,需要18G空间
-
2.15 设置数据库所有用户的密码,本次使用密码:oracle,会提示密码过于简单继续
-
2.16 选择各功能的用户组
-
2.17 环境检查,SWAP交换分区过小,由于本次测试环境配置较少忽略选择Ignore ALL
-
2.18 汇总页面
-
2.19 开始安装,会提示需要用root用户执行以下2个脚本
后面会提示需要使用root用户,执行以下2个脚本
sh /u01/app/oraInventory/orainstRoot.sh
sh /u01/app/oracle/product/12.2.0.1/dbhome_1/root.sh -
2.20 安装成功,显示有EM控制台访问地址
三、数据库监听状态,数据库启动情况,EM控制台等测试
- 3.1 查看监听状态
查看监听状态,如未启动则使用lsnrctl start命令启动
- 3.2 查看数据库启动情况
- 3.3 EM控制台测试
查看EM控制台运行情况,正在运行
使用IE浏览器访问https://192.168.124.10:5500/em使用sys/oracle登录测试,
进入后界面
四、oracle数据库设置为systemctl服务(自启)
- 4.1 修改oratab文件
su - oracle
vi /etc/oratab
orcl:/u01/app/oracle/product/12.2.0.1/dbhome_1:Y
原来为N - 4.2 创建oracle的systemctl服务
systemctl服务的文件需要注意变量要用一下方式声明:
Environment=“ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/dbhome_1”
创建命令:
su - root
vi /lib/systemd/system/oracle.service
[Unit]
Description=oracle Server
After=network.target
[Service]
Type=forking
User=oracle
Group=oinstall
Environment="ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/dbhome_1"
ExecStart=/u01/app/oracle/product/12.2.0.1/dbhome_1/bin/dbstart $ORACLE_HOME
ExecStop=/u01/app/oracle/product/12.2.0.1/dbhome_1/bin/dbshut $ORACLE_HOME
ExecReload=/u01/app/oracle/product/12.2.0.1/dbhome_1/bin/dbshut $ORACLE_HOME && /u01/app/oracle/product/12.2.0.1/dbhome_1/bin/dbstart $ORACLE_HOME
[Install]
WantedBy=multi-user.target
4.3 改变文件权限,使oracle文件可执行
chmod +x /lib/systemd/system/oracle.service
4.4 刷新systemctl的守护进程并设置oracle为开机启动
systemctl daemon-reload
systemctl enable oracle
4.5 oracle的systemctl服务具体使用方法
systemctl start oracle
//启动oracle
systemctl stop oracle
//关闭oracle
systemctl restart oracle
//重启oracle
systemctl status oracle
//查看oracle运行状态和过程详细日志 - 4.6 重启Linux测试,确认数据库、监听、EM控制台是否启动
五、oracle数据库开机启动(非服务方式)
chmod +x /etc/rc.d/rc.local
vi /etc/rc.d/rc.local
su - oracle -c "/u01/app/oracle/product/12.2.0.1/dbhome_1/bin/dbstart"