RHEL 7.6 安装oracle database 18c

2023-10-29 15:58
文章标签 oracle 安装 database rhel 7.6 18c

本文主要是介绍RHEL 7.6 安装oracle database 18c,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 硬件信息

cpu:8core

memory:24G

storage:150G

2 软件环境

2.1 操作系统

rhel-server-7.6-x86_64-dvd

Red Hat Enterprise Linux Server release 7.6 (Maipo)

2.2 软件版本

2.2.1 oracle软件

LINUX.X64_180000_db_home.zip

2.2.2 Opatch补丁

p28822489_180000_Linux-x86-64.zip

3 部署规划

系统安装调整 

[oracle@n1 bin]$ df -h
Filesystem                Size  Used Avail Use% Mounted on
/dev/mapper/root-root00    20G  4.7G   16G  24% /
devtmpfs                   12G     0   12G   0% /dev
tmpfs                      12G  4.0K   12G   1% /dev/shm
tmpfs                      12G   11M   12G   1% /run
tmpfs                      12G     0   12G   0% /sys/fs/cgroup
/dev/sda1                 289M  148M  142M  52% /boot
tmpfs                     2.4G   60K  2.4G   1% /run/user/1000
tmpfs                     2.4G     0  2.4G   0% /run/user/0
/dev/mapper/data-ora       30G   20G   11G  66% /ora
/dev/mapper/data-oradata   50G   69M   50G   1% /oradata
/dev/sr0                  4.2G  4.2G     0 100% /mnt
/dev/mapper/data-arch      10G   33M   10G   1% /arch
tmpfs                     2.4G     0  2.4G   0% /run/user/54321

ora:软件安装目录,oradata:数据文件目录,arch:归档日志目录

安装目录规划

ORACLE_BASE=/ora/oracle
ORACLE_HOME=$ORACLE_BASE/product/18.3.0/dbhome_1mkdir -p /ora/oracle/product/18.3.0/dbhome_1

 注:需提前创建好全路径,否则安装软件时检测不到路径。软件会安装在runInstaller所在路径。

4 安装前准备

4.1 安装18c最低硬件要求

建议不小于2GB的RAM

建议至少1024x768的显示分辨率,从而确保OUI显示正确

建议SWAP:RAM在2.5GB~16GB之间SWAP设置为相同的大小的RAM,RAM大于16GB时SWAP设置为16GB

建议至少留给OracleBase7.5GB空间

4.2 验证硬件信息

RAM:24GB

SWAP:20GB

kernel:3.10.0-957.el7.x86_64

shm:12GB

4.3 系统安装包检查

使用下面命令检查软件包是否安装

rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' bc \
binutils \
compat-libcap1 \
compat-libstdc++-33 \
glibc \
glibc-devel \
ksh \
libaio \
libaio-devel \
libX11 \
libXau \
libXi \
libXtst \
libXrender-devel \
libXrender \
libgcc \
libstdc++ \
libstdc++-devel \
libxcb \
make \
nfs-utils \
net-tools \
python \
python-configshell \
python-rtslib \
python-six \
smartmontools \
sysstat \
targetcli

安装软件包

yum install bc binutils compat-libcap1 compat-libstdc++-33 glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender-devel libXrender libgcc libstdc++  libstdc++-devel libxcb make nfs-utils net-tools python python-configshell8 python-rtslib python-six  smartmontools sysstat targetcli

RedHat7.*的镜像文件中没有compat-libstdc包,需要手动安装

compat-libstdc++-33-3.2.3-72.el7.i686.rpm

compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

4.4 确认用户及相应权限设置

/usr/sbin/groupadd -g 54321 oinstall
/usr/sbin/groupadd -g 54322 dba
/usr/sbin/groupadd -g 54323 oper
/usr/sbin/useradd -u 54321 -g oinstall -G dba,oper oracle
passwd oracle

配置环境变量

[oracle@n1 ~]$ more .bash_profile
# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programsPATH=$PATH:$HOME/.local/bin:$HOME/binexport PATHORACLE_SID=eighteenc;export ORACLE_SID  
ORACLE_UNQNAME=eighteenc;export ORACLE_UNQNAME
JAVA_HOME=/usr/local/java; export JAVA_HOME
ORACLE_BASE=/ora/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/18.3.0/dbhome_1; export ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="YYYY:MM:DDHH24:MI:SS"; export NLS_DATE_FORMAT
#NLS_LANG=american_america.ZHS16GBK; export NLS_LANG
export NLS_LANG=AMERICAN_AMERICA.UTF8
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
umask 022
export DISPLAY=10.6.0.243:0.0
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'

4.5 系统参数配置

配置linux内核参数

fs.aio-max-nr = 1048576
fs.file-max = 6815744
#kernel.shmall = 2097152
#kernel.shmmax = 4294967295
kernel.shmall = 4294967296
kernel.shmmax = 12640516096
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

shmall大于或等于shmmax的值,以页为单位。shmmax物理内存大小的一半(以字节为单位) 
用root用户执行sysctl -p 使修改生效。

设置 Oracle 用户的 Shell 限制

oracle  soft  nproc  2047
oracle  hard  nproc  16384
oracle  soft  nofile  1024
oracle  hard  nofile  65536
oracle  soft  stack  10240
oracle  hard  stack  32768
oracle soft memlock 3145728
oracle hard memlock 3145728

设置PAM

session required pam_limits.so

5 安装数据库软件

解压软件包

unzip LINUX.X64_180000_db_home.zip -d database

运行runInstaller.sh

创建配置单实例数据库 or 仅安装软件

单实例数据库安装

安装企业版

编辑ORACLE_BASE

编辑oraInventory目录,配置oracle安装权限组

配置oracle权限组

安装前检查,最大的内存segment的参数推荐12G。

 内存参数shmmax配置为12640516096,检查通过。

 点击install,安装oracle软件

 登录root账号执行脚本

[root@n1 ~]# /ora/oraInventory/orainstRoot.sh
Changing permissions of /ora/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.Changing groupname of /ora/oraInventory to oinstall.
The execution of the script is complete.
[root@n1 ~]# /ora/database/root.sh
Performing root user operation.The following environment variables are set as:ORACLE_OWNER= oracleORACLE_HOME=  /ora/databaseEnter the full pathname of the local bin directory: [/usr/local/bin]: 
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Do you want to setup Oracle Trace File Analyzer (TFA) now ? yes|[no] : 
yes
Installing Oracle Trace File Analyzer (TFA).
Log File: /ora/database/install/root_n1_2019-01-25_09-34-27-421115179.log
Finished installing Oracle Trace File Analyzer (TFA)

 oracle 18c软件安装完成

6 创建数据库实例

执行dbca,18c安装启动logo

创建数据库实例

 点选高级配置

 创建单实例数据库,选择Custom Database

 虽然bash_profile已经配置了SID变化,但安装程序好像没有自动识别。

 手动配置SID

文件系统安装,此处显示的ORACLE_HOME为/ora/database。但bash_profile中配置的ORACLE_HOME是/ora/oracle/product/18.3.0/dbhome_1,此问题由于product/18.3.0/dbhome_1不存在,安装软件时候自动配置为runInstaller所在目录。

 配置fra和arch目录

 创建监听程序eighteenc

选择oracle标准组件

 配置oracle 内存管理

 配置oracle数据块大小,默认8K。processes配置为1500

配置数据块字符集 

 配置数据块链接模式

 配置模板schema

 不安装OEM,使用GC同一管理

 配置数据块管理员密码,由于密码复杂度过于简单报错

 密码复杂度:需字母与数字混配

 创建数据库实例,生成脚本和模板文件

 点选Save Response File保存rsp文件

 

 点击finish创建实例

 数据库实例创建ing

 数据库实例创建完成

7 创建监听程序

执行netca

 添加监听程序

 配置监听名:eighteenc

 选择TCP协议

 配置监听端口号:1521

 监听程序配置完成

至此18c安装完成。

oracle进程启动正常。

这篇关于RHEL 7.6 安装oracle database 18c的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/301710

相关文章

SQL注入漏洞扫描之sqlmap详解

《SQL注入漏洞扫描之sqlmap详解》SQLMap是一款自动执行SQL注入的审计工具,支持多种SQL注入技术,包括布尔型盲注、时间型盲注、报错型注入、联合查询注入和堆叠查询注入... 目录what支持类型how---less-1为例1.检测网站是否存在sql注入漏洞的注入点2.列举可用数据库3.列举数据库

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

Mysql虚拟列的使用场景

《Mysql虚拟列的使用场景》MySQL虚拟列是一种在查询时动态生成的特殊列,它不占用存储空间,可以提高查询效率和数据处理便利性,本文给大家介绍Mysql虚拟列的相关知识,感兴趣的朋友一起看看吧... 目录1. 介绍mysql虚拟列1.1 定义和作用1.2 虚拟列与普通列的区别2. MySQL虚拟列的类型2

mysql数据库分区的使用

《mysql数据库分区的使用》MySQL分区技术通过将大表分割成多个较小片段,提高查询性能、管理效率和数据存储效率,本文就来介绍一下mysql数据库分区的使用,感兴趣的可以了解一下... 目录【一】分区的基本概念【1】物理存储与逻辑分割【2】查询性能提升【3】数据管理与维护【4】扩展性与并行处理【二】分区的

MySQL中时区参数time_zone解读

《MySQL中时区参数time_zone解读》MySQL时区参数time_zone用于控制系统函数和字段的DEFAULTCURRENT_TIMESTAMP属性,修改时区可能会影响timestamp类型... 目录前言1.时区参数影响2.如何设置3.字段类型选择总结前言mysql 时区参数 time_zon

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

使用SQL语言查询多个Excel表格的操作方法

《使用SQL语言查询多个Excel表格的操作方法》本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和... 目录如何用SQL语言查询多个Excel表格如何使用sql查询excel内容1. 简介2. 实现思路3

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,