一. 安装包下载
下载地址: https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#db_ee
选择Oracle Database 19c for Linux x86-64, 下载ZIP包
二. 环境配置
关闭防火墙和selinux
1 2 3 4 5 6 7 8 9
| systemctl stop firewalld.service systemctl disable firewalld.service systemctl status firewalld.service
setenforce 0 sed -i '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config getenforce
|
2.1 安装依赖库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| cat > /etc/yum.repos.d/CentOS-Base.repo << EOF [base] name=CentOS-$releasever - Base baseurl=http://linuxsoft.cern.ch/centos-vault/7.6.1810/os/$basearch/ gpgcheck=1 gpgkey=http://linuxsoft.cern.ch/centos-vault/7.6.1810/os/x86_64/RPM-GPG-KEY-CentOS-7 [updates] name=CentOS-$releasever - Updates baseurl=http://linuxsoft.cern.ch/centos-vault/7.6.1810/updates/$basearch/ gpgcheck=1 gpgkey=http://linuxsoft.cern.ch/centos-vault/7.6.1810/os/x86_64/RPM-GPG-KEY-CentOS-7 [extras] name=CentOS-$releasever - Extras baseurl=http://linuxsoft.cern.ch/centos-vault/7.6.1810/extras//$basearch/ gpgcheck=1 gpgkey=http://linuxsoft.cern.ch/centos-vault/7.6.1810/os/x86_64/RPM-GPG-KEY-CentOS-7 [centosplus] name=CentOS-$releasever - Plus baseurl=http://linuxsoft.cern.ch/centos-vault/7.6.1810/centosplus//$basearch/ gpgcheck=1 enabled=0 EOF
yum install -y unzip compat-libcap1 compat-libstdc++-33 gcc-c++ ksh libaio-devel libstdc++-devel elfutils-libelf-devel fontconfig-devel libXrender-devel libXtst-devel rlwrap
|
2.2 创建用户, 修改用户变量
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| groupadd oinstall groupadd dba groupadd oper useradd -g oinstall -G dba,oper oracle echo "oracle" | passwd --stdin oracle
vi ~oracle/.bash_profile PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH
export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.3/db_home1 export TMP=/tmp export TMPDIR=/tmp export ORACLE_SID=orcl export PATH=$ORACLE_HOME/bin:$PATH export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK export BATCH_HOME=/home/oracle/operate/batch/dispatch export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS" export LANG=en_US export LC_ALL=en_US
|
2.3 创建目录并授权
1 2 3 4
| mkdir -p /u01/app/oraInventory mkdir -p /u01/app/oracle/product/19.3/db_home1 chown -R oracle:oinstall /u01/ chmod -R 775 /u01/
|
2.3 修改内核参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| vi /etc/sysctl.conf net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.all.secure_redirects = 0 net.ipv4.tcp_max_syn_backlog = 4096 net.ipv4.tcp_keepalive_time = 150 net.ipv4.tcp_keepalive_probes = 5 net.ipv4.tcp_keepalive_intvl = 6
kernel.shmmax = 68719476736 kernel.shmall = 4294967296 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128
fs.aio-max-nr = 1048576 fs.file-max = 6815744
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
|
生效配置
PS: kernel.shmall 和 kernel.shmmax 根据实际物理内存修改,保证oracle数据库SGA 小于系统上的 shmmax,具体如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| 1. kernel.shmall :
当内存为 12G 时, kernel.shmall = 3145728 当内存为 16G 时, kernel.shmall = 4194304 当内次为 32G 时, kernel.shmall = 8388608 当内存为 64G 时, kernel.shmall = 16777216 当内存为 128G 时, kernel.shmall = 33554432
2. kernel.shmmax :
内存为 12G 时,该值为 12*1024*1024*1024-1 = 12884901887 内存为 16G 时,该值为 16*1024*1024*1024-1 = 17179869183 内存为 32G 时,该值为 32*1024*1024*1024-1 = 34359738367 内存为 64G 时,该值为 64*1024*1024*1024-1 = 68719476735 内存为 128G 时,该值为 128*1024*1024*1024-1 = 137438953471
|
2.4 修改用户限制
1 2 3 4 5 6 7 8 9 10 11 12
| vi /etc/security/limits.conf oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
oracle soft stack 10240 oracle soft stack 10240
oracle hard memlock 8421772 oracle soft memlock 8421772
|
三. 安装Oracle服务
3.1 配置安装文件
切换oracle用户
上传安装包, 并解压
1
| unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.3/db_home1/
|
配置静默安装文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| vim $ORACLE_HOME/install/response/db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0 oracle.install.option=INSTALL_DB_SWONLY UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oraInventory ORACLE_HOME=/u01/app/oracle/product/19.3/db_home1 oracle.install.db.InstallEdition=EE oracle.install.db.OSDBA_GROUP=dba oracle.install.db.OSOPER_GROUP=opre oracle.install.db.OSBACKUPDBA_GROUP=oinstall oracle.install.db.OSDGDBA_GROUP=oinstall oracle.install.db.OSKMDBA_GROUP=oinstall oracle.install.db.OSRACDBA_GROUP=oinstall oracle.install.db.rootconfig.executeRootScript=true oracle.install.db.rootconfig.configMethod=ROOT
|
3.2 安装数据库服务
执行安装
1
| $ORACLE_HOME/runInstaller -force -silent -noconfig -ignorePrereq -responseFile $ORACLE_HOME/install/response/db_install.rsp
|
监控安装日志
1
| 日志位置: /u01/app/oraInventory/logs
|
执行root脚本
1 2 3 4 5
| su - root cd /u01/app/oraInventory/ sh orainstRoot.sh cd /u01/app/oracle/product/19.3/db_home1/ sh root.sh
|
四. 创建监听
4.1 创建默认监听
修改用户变量文件
1 2 3 4
| vi ~oracle/.bash_profile // 修改监听SID, 根据实际情况修改 export ORACLE_SID=orcl
|
1 2 3 4 5 6 7
| su - oracle
netca -silent -responsefile $ORACLE_HOME/assistants/netca/netca.rsp 查看监听: lsnrctl status 启动监听: lsnrctl start
|
4.2 监听配置文件
1 2 3 4 5 6 7 8
| vim $ORACLE_HOME/network/admin/listener.ora LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 本机IP或者hosts域名)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )
|
1 2 3 4 5 6 7 8 9 10 11 12 13
| vim $ORACLE_HOME/network/admin/tnsnames.ora LISTENER_ORCL = (ADDRESS = (PROTOCOL = TCP)(HOST = 本机IP或者hosts域名)(PORT = 1521))
ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 本机IP或者hosts域名)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )
|
LNNX配置样例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| cat .bash_profile
if [ -f ~/.bashrc ]; then . ~/.bashrc fi
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/db_home1 export TMP=/tmp export TMPDIR=/tmp export ORACLE_SID=loandb export PATH=$ORACLE_HOME/bin:$PATH export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK export BATCH_HOME=/home/oracle/operate/batch/dispatch export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS" ---------------------------------------------------------------------------------------- cat listener.ora LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ccmssitdb1)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) ----------------------------------------------------------------------------------------- cat tnsnames.ora LOANDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ccmssitdb1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = loandb) ) )
LISTENER_LOANDB = (ADDRESS = (PROTOCOL = TCP)(HOST = ccmssitdb1)(PORT = 1521))
LISTENER_ORCL = (ADDRESS = (PROTOCOL = TCP)(HOST = czsj)(PORT = 1521))
|
五. 安装实例
实例名称: orcl
5.1 实例配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| vim $ORACLE_HOME/assistants/dbca/dbca.rsp
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v19.0.0 gdbName=orcl sid=orcl
databaseConfigType=SI
templateName=General_Purpose.dbc oracleHomeUserPassword=oracle sysPassword=oracle systemPassword=oracle
datafileDestination=/u01/app/oracle/oradata recoveryAreaDestination=/u01/app/oracle/flash_recovery_area
characterSet=ZHS16GBK nationalCharacterSet=AL16UTF16 totalMemory=2048
listeners=LISTENER sampleSchema=true databaseType=OLTP emConfiguration=NONE
|
5.2 创建实例
1
| $ORACLE_HOME/bin/dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile $ORACLE_HOME/assistants/dbca/dbca.rsp
|