Oracle 19c installation documentation

Download address of the resources used in the article: https://pan.baidu.com/s/1G3FO5iZ4TbdUIVdlpQ-6zg Extraction code: nwyb

1. Matters needing attention

  1. Best to use Centos7 system, this tutorial is based on CentOS-7-x86_64-Minimal-2009

  2. Server memory should not be less than 2G, although 1G can run Oracle, but it is more card

  3. The default system kernel parameters are not applicable and running Oracle recommends to modify the kernel parameters

  4. If you cannot access, please make sure that the firewall allows the default port 1521, if you don’t know, just close the firewall

    systemctl stop firewalld.service     # 关闭防火墙
    systemctl disable firewalld.service  # 禁用自启动
    
  5. There is a password configuration in steps 10 and 12, this article uses 123456as a password, modify it during installation

  6. When the user is created, it is DsiCHFuZ5used as the user password, mainly considering that no password is entered

Two installation tutorial

01. Turn off the firewall

systemctl stop firewalld && systemctl disable firewalld

02. Install dependencies

  1. Offline installation tutorial

    # 上传依赖包, 这里采用的是内网传输的方式
    curl -o /root/package.tar.gz http://10.100.2.130:1234/package.tar.gz
    # 解压依赖包
    tar -zvxf /root/package.tar.gz
    # 安装依赖包
    rpm -Uvh --force --nodeps /root/package/*.rpm
    
  2. Online installation tutorial

    # 更新下载源(非必须)
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    yum clean all
    yum makecache
    
    # 安装依赖包
    yum install -y wget vim unzip bc binutils compat-libcap1 compat-libstdc++-33 dtrace-utils
    yum install -y elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh
    yum install -y libaio libaio-devel libdtrace-ctf-devel libXrender libXrender-devel libX11
    yum install -y libXau libXi libXtst libgcc librdmacm-devel libstdc++ libstdc++-devel libxcb
    yum install -y make net-tools nfs-utils python python-configshell python-rtslib python-six
    yum install -y targetcli smartmontools sysstat unixODBC
    

03. Create users and groups

groupadd -g 54321 oinstall
groupadd -g 54322 dba
#groupadd -g 54323 oper
#groupadd -g 54324 backupdba
#groupadd -g 54325 dgdba
#groupadd -g 54326 kmdba
#groupadd -g 54327 asmdba
#groupadd -g 54328 asmoper
#groupadd -g 54329 asmadmin
#groupadd -g 54330 racdba
useradd -u 54321 -g oinstall -G dba oracle
echo 'DsiCHFuZ5' | passwd --stdin oracle

04. Create installation directory

mkdir -p /u01
# mount /dev/sdb1 /u01
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
mkdir -p /u01/app/oracle/oradata
mkdir -p /u01/app/oraInventory

05. Add environment variables

echo 'export ORACLE_HOSTNAME=server.oracle' >> /home/oracle/.bashrc
echo 'export ORACLE_UNQNAME=cdb1' >> /home/oracle/.bashrc
echo 'export ORACLE_BASE=/u01/app/oracle' >> /home/oracle/.bashrc
echo 'export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1' >> /home/oracle/.bashrc
echo 'export ORA_INVENTORY=/u01/app/oraInventory' >> /home/oracle/.bashrc
echo 'export ORACLE_SID=orcl' >> /home/oracle/.bashrc
echo 'export PDB_NAME=orclpdb' >> /home/oracle/.bashrc
echo 'export DATA_DIR=$ORACLE_BASE/oradata' >> /home/oracle/.bashrc
echo 'export PATH=/usr/sbin:/usr/local/bin:$PATH' >> /home/oracle/.bashrc
echo 'export PATH=$ORACLE_HOME/bin:$PATH' >> /home/oracle/.bashrc
echo 'export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib' >> /home/oracle/.bashrc
echo 'export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib' >> /home/oracle/.bashrc
source /home/oracle/.bashrc

06. Modify kernel parameters

export SYSCTL_CONFIG=/etc/sysctl.d/98-oracle.conf
echo 'kernel.shmmax = 2147483648' >> $SYSCTL_CONFIG
echo 'kernel.shmmni = 4096' >> $SYSCTL_CONFIG
echo 'kernel.shmall = 2097152' >> $SYSCTL_CONFIG
echo 'kernel.sem = 250 32000 100 128' >> $SYSCTL_CONFIG
echo 'fs.file-max = 6815744' >> $SYSCTL_CONFIG
echo 'fs.aio-max-nr = 1048576' >> $SYSCTL_CONFIG
echo 'kernel.panic_on_oops = 1' >> $SYSCTL_CONFIG
echo 'net.ipv4.ip_local_port_range = 9999 65000' >> $SYSCTL_CONFIG
echo 'net.core.rmem_default = 262144' >> $SYSCTL_CONFIG
echo 'net.core.rmem_max = 262144' >> $SYSCTL_CONFIG
echo 'net.core.wmem_default = 262144 ' >> $SYSCTL_CONFIG
echo 'net.core.wmem_max = 262144' >> $SYSCTL_CONFIG
sysctl -p $SYSCTL_CONFIG && export -n SYSCTL_CONFIG
echo 'oracle   soft   nofile   10240' >> /etc/security/limits.conf
echo 'oracle   hard   nofile   65536' >> /etc/security/limits.conf
echo 'oracle   soft   nproc    16384' >> /etc/security/limits.conf
echo 'oracle   hard   nproc    16384' >> /etc/security/limits.conf
echo 'oracle   soft   stack    10240' >> /etc/security/limits.conf
echo 'oracle   hard   stack    32768' >> /etc/security/limits.conf
echo 'oracle   hard   memlock  134217728' >> /etc/security/limits.conf
echo 'oracle   soft   memlock  134217728' >> /etc/security/limits.conf

07. Download the installer

# 下载安装程序包, 也可以使用其他方式上传到linux, 这里采用的是内网传输的方式
wget -P /root http://10.100.2.130:1234/LINUX.X64_193000_db_home.zip

08. Unzip the installer

# 解压安装程序到之前创建的目录下
unzip -o /root/LINUX.X64_193000_db_home.zip -d $ORACLE_HOME

09. Modify user permissions

# 赋予oracle用户和oinstall用户组控制/u01/app目录的权限
chown -R oracle.oinstall /u01/app && chmod -R 775 /u01/app

10. Start the installation program

su oracle               # 切换到oracle用户

# 开始安装, 此步骤有点久,是异步安装, 安装好后有提示切换到oracle用户并允许下面2行命令
# 以下涉及到数据库密码, 该文章使用的是123456作为 sys system 的密码, 请自行修改名密码
$ORACLE_HOME/runInstaller -ignorePrereq -waitforcompletion -silent \
  -responseFile ${ORACLE_HOME}/install/response/db_install.rsp     \
  oracle.install.option=INSTALL_DB_SWONLY                          \
  ORACLE_HOSTNAME=${ORACLE_HOSTNAME}                               \
  UNIX_GROUP_NAME=oinstall                                         \
  INVENTORY_LOCATION=${ORA_INVENTORY}                              \
  SELECTED_LANGUAGES=en,zh_CN                                      \
  ORACLE_HOME=${ORACLE_HOME}                                       \
  ORACLE_BASE=${ORACLE_BASE}                                       \
  oracle.install.db.InstallEdition=EE                              \
  oracle.install.db.OSDBA_GROUP=dba                                \
  oracle.install.db.OSOPER_GROUP=dba                               \
  oracle.install.db.OSBACKUPDBA_GROUP=dba                          \
  oracle.install.db.OSDGDBA_GROUP=dba                              \
  oracle.install.db.OSKMDBA_GROUP=dba                              \
  oracle.install.db.OSRACDBA_GROUP=dba                             \
  oracle.install.db.config.starterdb.globalDBName=orcl             \
  oracle.install.db.config.starterdb.SID=orcl                      \
  oracle.install.db.config.starterdb.memoryLimit=512               \
  oracle.install.db.config.starterdb.password.ALL=123456           \
  oracle.install.db.config.starterdb.password.SYS=123456           \
  oracle.install.db.config.starterdb.password.SYSTEM=123456        \
  DECLINE_SECURITY_UPDATES=true
exit                    # 切换到root用户
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.0.0/dbhome_1/root.sh

11. Start the listener

su oracle -lc 'lsnrctl start'

12. Create a database

su oracle                    # 切换到oracle用户

# 以下涉及到数据库密码, 该文章使用的是123456作为 sys system 的密码, 请自行修改名密码
dbca -silent -createDatabase -ignorePreReqs                                    \
     -templateName General_Purpose.dbc                                         \
     -gdbname ${ORACLE_SID} -sid  ${ORACLE_SID} -responseFile NO_VALUE         \
     -characterSet AL32UTF8                                                    \
     -sysPassword 123456                                                       \
     -systemPassword 123456                                                    \
     -createAsContainerDatabase true                                           \
     -numberOfPDBs 1                                                           \
     -pdbName ${PDB_NAME}                                                      \
     -pdbAdminPassword 123456                                                  \
     -databaseType MULTIPURPOSE                                                \
     -memoryMgmtType auto_sga                                                  \
     -totalMemory 2000                                                         \
     -storageType FS                                                           \
     -datafileDestination "${DATA_DIR}"                                        \
     -redoLogFileSize 50                                                       \
     -emConfiguration NONE

# 如果提示没有实例正在运行, 运行下面命令
su oracle -lc 'dbstart'

13. Set auto-start after power-on

exit      # 切换到root用户

# 替换/etc/oratab文件的实例重启标志改为Y
sed -i 's/:N/:Y/g' /etc/oratab

14. One-click script execution

vim /root/oracle
#! /bin/bash
# chkconfig: 234 61 61
# description: Oracle 11g AutoRun Service
# /etc/rc.d/init.d/oracle

case "$1" in
    start)
        # starts oracle listener and instance
        echo "Starting Oracle Database:"
        su oracle -lc "lsnrctl start"
        su oracle -lc dbstart
        ;;
    stop)
        # shutdown oracle listner and instance
        echo "Shuting down Oracle Database:"
        su oracle -lc "lsnrctl stop"
        su oracle -lc dbshut
        ;;
    reload|restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: {start|stop|reload|restart}"
        exit 1
esac
exit 0
chmod 770 /root/oracle

Three other documents

01. Reference article

linux install oracle database

https://oracle-base.com/articles/19c/oracle-db-19c-installation-on-oracle-linux-7

Switch Centos data source

https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11fhySEa

After the server restarts, start the database

https://www.cnblogs.com/mingforyou/p/7374565.html

Offline RPM package download and installation

https://my.oschina.net/daodaotest/blog/4373517

linux tar file decompression tool

https://blog.csdn.net/kkw1992/article/details/80000653

02. Linux commands

Command: lsblk [View Partition Details]

用法:
 lsblk [选项] [<设备> ...]

选项:
 -a, --all            打印所有设备
 -b, --bytes          以字节为单位而非易读的格式来打印 SIZE
 -d, --nodeps         不打印从属设备(slave)或占位设备(holder)
 -D, --discard        打印时丢弃能力
 -e, --exclude <列表> 根据主设备号排除设备(默认:内存盘)
 -I, --include <列表> 只显示有指定主设备号的设备
 -f, --fs             输出文件系统信息
 -h, --help           使用信息(此信息)
 -i, --ascii          只使用 ascii 字符
 -m, --perms          输出权限信息
 -l, --list           使用列表格式的输出
 -n, --noheadings     不打印标题
 -o, --output <列表>  输出列
 -p, --paths          打印完整设备路径
 -P, --pairs          使用 key=“value” 输出格式
 -r, --raw            使用原生输出格式
 -s, --inverse        反向依赖
 -t, --topology       输出拓扑信息
 -S, --scsi           输出有关 SCSI 设备的信息

 -h, --help     显示此帮助并退出
 -V, --version  输出版本信息并退出

Command: fdisk [hard disk partition tool]

用法:
 fdisk [选项] <磁盘>    更改分区表
 fdisk [选项] -l <磁盘> 列出分区表
 fdisk -s <分区>        给出分区大小(块数)

选项:
 -b <大小>             扇区大小(512、1024、2048或4096)
 -c[=<模式>]           兼容模式:“dos”或“nondos”(默认)
 -h                    打印此帮助文本
 -u[=<单位>]           显示单位:“cylinders”(柱面)或“sectors”(扇区,默认)
 -v                    打印程序版本
 -C <数字>             指定柱面数
 -H <数字>             指定磁头数
 -S <数字>             指定每个磁道的扇区数

Guess you like

Origin blog.csdn.net/qq_44132240/article/details/113331575