一直以爲oracle18c安裝和以前的11g差不多,最近採坑踩大了,這次總結出來。本文儘量把我遇到的坑都寫出來。
!!!!!!!!!!! 一些問題的說明!!!!!!!!!!!
1.這裏主要討論靜默安裝(-silent)的方式。
2.RPM安裝,經過測試和資料查找,是無法修改默認安裝路徑的,也就是說,如果你的默認安裝路徑,好像是/opt,不太確定,如果空間不夠的話,建議採取本文介紹的可以修改安裝路徑的方式。
3.如果要修改默認安裝路徑(安裝到指定路徑) ,那麼只能通過下載zip安裝包的方式來進行。
流程大致如下:
- 確定系統是否滿足要求
- 下載oracle18c的zip安裝包
- 安裝依賴包
- 配置oracle安裝路徑和用戶
- 配置環境變量
- 安裝
- 測試
開始之前,先簡單介紹一下oracle的安裝方式。常見的安裝方式有兩種,一種在圖形化界面下安裝,另一種在命令行安裝。圖形化界面安裝的教程較多,主要要注意編碼方式、依賴包問題。本文主要用命令行形式進行靜默安裝。
確定系統是否滿足要求
一般默認爲滿足要求,具體要求如下:
-
RHEL 7 系統,18.3C 要求操作系統版高於 3.10.0-123.el7.x86_64 或更高版本。
-
物理內存和交換分區不能小於 8G,否則在安裝前檢查項報警告。
安裝依賴包
以root身份安裝依賴包
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp
#以下,如果是準備默認將oracle安裝到opt,可以使用preinstall.rpm,特別是進行RPM安裝,需要這一步,就不用自己創建oracle用戶和組了,preinstall都提前創建好。單是zip包的同學們還是跳過,手動創建一下比較好。
# 安裝依賴包 oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm。curl下載,yum安裝
#curl -o oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm
#yum -y localinstall oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm
#也有說結束後/opt 下自動生成 oracle目錄 並且 系統自動創建oracle user 和oinstall group,理論上是這樣,但是沒有具體測試 可參考: https://blog.csdn.net/qq_39908296/article/details/84961251?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
# 檢查安裝是否完整
rpm -q \
binutils \
compat-libstdc++-33 \
elfutils-libelf \
elfutils-libelf-devel \
expat \
gcc \
gcc-c++ \
glibc \
glibc-common \
glibc-devel \
glibc-headers \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
make \
pdksh \
sysstat \
unixODBC \
unixODBC-devel | grep "not installed"
這裏尤其要注意這個包:pdksh,可能會提示已安裝,單是實際上不是pdksh,會導致缺包問題,要另行下載,把原來很像的好像是ksh(不確定),卸載以後,進行安裝,至此纔算完全安裝完了相關包。
配置oracle安裝路徑和用戶
新建oracle用戶和用戶組
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
修改密碼
passwd oracle
配置本機IP映射
vi /etc/hosts
192.168.154.154 oracledb
創建oracle安裝目錄。這裏將oracle安裝到指定目錄/home/oracle用戶空間下
mkdir /home/oracle/app/product/18c/dbhome_1
mkdir /home/oracle/data
mkdir /home/oracle/fast_recovery_area
#安裝過程的日誌空間,沒發現怎麼修改,只好默認,但是需要自己創建
mkdir /opt/oracle/oraInventory
mkdir /opt/oracle/oraInventory/logs
chown -R oracle:oinstall /opt/oracle/
cd /opt/oracle/oraInventory
#在目錄下建立.loc文件
vi oraInst.loc
#輸入
inventory_loc=/opt/oracle/oraInventory
inst_group=oinstall
配置oracle環境變量
vi /etc/profile
# 修改環境變量,在結尾處添加.
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=/home/oracle/app/product/18c/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
將zip安裝包移動到ORACLE_HOME目錄,並在該目錄下解壓。這個是必須,文件必須解壓到這裏,不然無法安裝,這個是oracle18的一個特點。
在這裏,我們用的目錄是:/home/oracle/app/product/18c/dbhome_1
修改rsp文件,這裏貼圖,內容太多,具體說明可以參考以下鏈接:
在/home/oracle/app/product/18c/dbhome_1/install/respose/ 目錄下
https://blog.csdn.net/yinzhipeng123/article/details/53141950
vi /etc/profile
# 修改環境變量,在結尾處添加.
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=/home/oracle/app/product/18c/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
安裝
安裝前先關閉SElinux和防火牆,具體優化配置在後面再討論,不然內容過多。
vim /etc/selinux/config
SELINUX=disabled
#關閉防火牆
systemctl stop firewalld.service
sudo systemctl disable firewalld.service
#切換到oracle用戶
su - oracle
#安裝rpm文件
cd /home/oracle/app/product/18c/dbhome_1
./runInstaller -silent -responseFile install/response/db_install.rsp
即可正式開始安裝。
測試
sqlplus 命令應該可用,嘗試登陸數據庫,創建用戶等操作
不太會寫操作手冊,有問題請留言共同探討。