Table of Contents
物理需求
硬件需求
內存:6G+
# grep MemTotal /proc/meminfo
交換分區:等于內存值或內存值的兩倍
# grep SwapTotal /proc/meminfo
存儲:100G+
系統需求
系統架構
uname -m
/tmp: 1G+
df -h /tmp
/dev/shm:取決于內存大小
df -h /dev/shm
關閉防火墻
systemctl stop firewalld.service
systemctl disable firewalld.service
關閉selinux
# 臨時關閉:輸入命令setenforce 0,重啟系統后還會開啟。
# 永久關閉:輸入命令vim /etc/selinux/config,將SELINUX=enforcing改為SELINUX=disabled,然后保存退出。
準備階段
軟件安裝
bc
binutils
elfutils-libelf
elfutils-libelf-devel
fontconfig-devel
glibc
glibc-devel
ksh
libaio
libaio-devel
libXrender
libX11
libXau
libXi
libXtst
libgcc
libnsl
librdmacm
libstdc++
libstdc++-devel
libxcb
libibverbs
make
policycoreutils
policycoreutils-python-utils
smartmontools
sysstat
unixODBC
gcc
gcc-c++
gcc-info
gcc-locale
gcc48
gcc48-info
gcc48-locale
gcc48-c++
用戶與組
查看是否安裝有Oracle軟件
# more /etc/oraInst.loc
查看是否已存在相關用戶
$ grep oinstall /etc/group
創建oinstall與dba用戶組
# /usr/sbin/groupadd -g 54321 oinstall
# /usr/sbin/groupadd -g 54322 dba
創建oracle用戶
# /usr/sbin/useradd -u 54321 -g oinstall -G dba oracle
修改內核參數
cat >> /etc/sysctl.conf << EOF
# add for oracle
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
EOF
使之生效
/sbin/sysctl -p
資源限制
cat >> /etc/security/limits.d/20-nproc.conf << !
* soft nproc 4096
root soft nproc unlimited
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728
!
配置用戶環境變量
vi ~/.bash_profile
# 加入以下配置到文件尾
export TMP=/tmp#日志存放位置
export TMPDIR=$TMP
export ORACLE_HOSTNAME=centos#主機名
export ORACLE_UNQNAME=oracle#庫名稱
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0.1/db_1
export ORACLE_SID=oracle#庫名稱
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
創建相關文件夾
mkdir /oracle
mkdir /oradata
mkdir /oracle/oraInventory
mkdir -p /oracle/product/12.2.0.1/db_1
chown -R oracle:oinstall /oracle
chown -R oracle:oinstall /oradata
chmod -R 775 /oracle
chmod -R 775 /oradata
hostname
確認主機名與配置的$ORACLE_HOSTNAME相同
echo $ORACLE_HOSTNAME
cat /etc/hostname
修改hostname與環境變量中一致
vim /etc/hostname
安裝Oracle軟件
下載安裝文件
上傳文件
上傳安裝文件至$ORACLE_HOME文件夾后解壓
復制編輯rsp文件
db_install.rsp文件
cd $ORACLE_HOME/install/response
cp db_install.rsp /tmp
vim /tmp/db_install.rsp
修改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=/oracle/oraInventory
ORACLE_HOME=/oracle/product/12.2.0.1/db_1
ORACLE_BASE=/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
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.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.SID=oracle
靜默安裝Oracle軟件
cd $ORACLE_HOME
./runInstaller -silent -responseFile /tmp/db_install.rsp -ignorePrereq
# 安裝結束后需要以root用戶執行以下兩個腳本
/oracle/oraInventory/orainstRoot.sh
/oracle/product/12.2.0.1/db_1/root.sh
配置監聽
編輯監聽配置文件或直接使用/oracle/product/12.2.0.1/db_1/assistants/netca/netca.rsp文件
cat >>/tmp/netca.rsp <<!
[GENERAL]
RESPONSEFILE_VERSION="19.0"
CREATE_TYPE="CUSTOM"
[oracle.net.ca]
INSTALLED_COMPONENTS={"server","net8","javavm"}
INSTALL_TYPE=""typical""
LISTENER_NUMBER=1
LISTENER_NAMES={"LISTENER"}
LISTENER_PROTOCOLS={"TCP;1521"}
LISTENER_START=""LISTENER""
NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
NSN_NUMBER=1
NSN_NAMES={"EXTPROC_CONNECTION_DATA"}
NSN_SERVICE={"PLSExtProc"}
NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}
!
靜默配置監聽
netca -silent -responseFile /tmp/netca.rsp
安裝數據庫
編輯dbca.rsp安裝文件
responseFileVersion=/home/oracle/rspfmt_dbca_response_schema_v19.0.0
gdbName=oracle
sid=oracle
sysPassword=oracle
oracleHomeUserPassword=oracle
templateName=General_Purpose.dbc
emExpressPort=5500
totalMemory=1500
sysPassword=Oracle123
systemPassword=Oracle123
datafileDestination=/oradata
characterSet=ZHS16GBK
nationalCharacterSet=AL16UTF16
databaseType=OLTP
靜默安裝數據庫
dbca -silent -createDatabase -responseFile /tmp/dbca.rsp
檢查狀態
監聽狀態
lsnrctl status
數據庫與實例狀態
sqlplus / as sysdba
select name,db_unique_name,open_mode from v$database;
select instance_name,status from v$instance;
最后修改時間:2023-02-07 15:19:30
「喜歡這篇文章,您的關注和贊賞是給作者最好的鼓勵」
關注作者
【版權聲明】本文為墨天輪用戶原創內容,轉載時必須標注文章的來源(墨天輪),文章鏈接,文章作者等基本信息,否則作者和墨天輪有權追究責任。如果您發現墨天輪中有涉嫌抄襲或者侵權的內容,歡迎發送郵件至:contact@modb.pro進行舉報,并提供相關證據,一經查實,墨天輪將立刻刪除相關內容。




