本文已参与「新人创作礼」活动,一起开启掘金创作之路。
- 官网下载oracle 19c
Database Software Downloads | Oracle
- 创建用户组及用户
[root@localhost ~]# groupadd oinstall
[root@localhost ~]# groupadd dba
[root@localhost ~]# useradd -g oinstall -g dba -m oracle
[root@localhost ~]# passwd oracle
#wyh2....0
- 创建目录
[root@localhost ~]# mkdir -p /data/oracle #oracle安装目录
[root@localhost ~]# mkdir -p /data/oraInventory #oracle配置文件目录
[root@localhost ~]# mkdir -p /data/database #oracle软件包解压目录
- 更改目录权限
[root@localhost data]# chown -R oracle:oinstall /data/oracle
[root@localhost data]# chown -R oracle:oinstall /data/oraInventory
[root@localhost data]# chown -R oracle:oinstall /data/database
- 安装所需要的依赖包
[root@localhost ~]# yum -y install binutils* compat-libcap1* compat-libstdc++* gcc* gcc-c++* glibc* glibc-devel* ksh* libaio* libaio-devel* libgcc* libstdc++* libstdc++-devel* libXi* libXtst* make* sysstat* elfutils* unixODBC*
- 查看防火墙状态
[root@localhost ~]# systemctl status firewalld
- 关闭防火墙
[root@localhost ~]# systemctl stop firewalld.service
- 设置禁用防火墙
[root@localhost ~]# systemctl disable firewalld.service
- 关闭selinux(修改/etc/selinux/config文件中的SELINUX设置为disabled)
修改之后需要重启,重启之后查看selinux的状态:
[root@localhost ~]# sestatus -v
SELinux status: disabled
- 修改内核参数,添加如下配置
[root@localhost etc]# cat /etc/sysctl.conf
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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
执行如下命令使上述配置生效:
[root@localhost etc]# sysctl -p
- 设置oracle用户的限制,修改/etc/security/limits.conf文件,添加如下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
- 要使配置生效,需要编辑文件/etc/pam.d/login,添加如下配置:
session required pam_limits.so
- 修改/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
- 切换为oracle用户
[root@localhost etc]# su oracle
- 修改/home/oracle/.bash_profile文件,添加如下内容:
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
- 切换到root用户
[oracle@localhost ~]$ su root
执行如下命令使上述配置生效:
[root@localhost oracle]# source /home/oracle/.bash_profile
- 将先前下载的oracle安装包传送到机器上
- 将压缩包解压至$ORACLE_HOME目录下,这一点与11c不同。
先创建$ORACLE_HOME目录:
[root@localhost oracle]# mkdir -p /data/oracle/product/19.3/db_1
解压:
[root@localhost data]# cd /home/oracle/;ll
total 2987996
-rw-r--r-- 1 root root 3059705302 Nov 27 20:03 LINUX.X64_193000_db_home.zip
[root@localhost oracle]#
[root@localhost oracle]# unzip LINUX.X64_193000_db_home.zip -d /data/oracle/product/19.3/db_1
- 给安装目录赋予oracle用户权限
[root@localhost oracle]# chown -R oracle:oinstall /data/oracle
切换至oracle用户
[root@localhost oracle]# su oracle
- 进入到解压后的目录:
[oracle@localhost ~]$ cd /data/oracle/product/19.3/db_1
- 启动oracle
[oracle@localhost db_1]$ ./runInstaller
- 调出图形化界面后进行配置(调用图形化界面的步骤参考:使用putty连接linux安装oracle图形化界面遇到的坑_QYHuiiQ-CSDN博客)
根据上面的缺失信息去安装缺失的依赖包,添加缺失的参数:
[root@localhost ~]# yum install smartmontools -y
上面提示的Pysical Memory的warning将内存调为2G即可,不需要重启:
对于shmmax的值经过调整之后并没有什么效果还改成了原来的值,最后变成了swap的报错,按照这篇(oracle 19c安装检查过程中swap size failed_QYHuiiQ-CSDN博客)操作调整swap之后check成功。
至此,oracle19c安装成功。
创建数据库实例
- 以oracle用户执行命令
[oracle@localhost ~]$ netca
前提是要保证xming已经启动了,才可以调出图形化界面。
点击finish。
- 以oracle用户启动监听
[oracle@localhost ~]$ lsnrctl start
- 进入到$ORACLE_HOME目录下,启动oracle
[oracle@localhost bin]$ pwd
/data/oracle/product/19.3/db_1/bin
[oracle@localhost bin]$ ./dbca
- 尝试执行sql
[oracle@localhost db_1]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Tue Nov 30 20:48:32 2021
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL> select * from dual;
DU
--
X
SQL> select name from v$database;
NAME
------------------
ORCL
至此,数据库实例创建完成。