在centos7上安裝oracle是一個比較麻煩的事,在安裝前需要做一些伺服器的準備工作
我是在虛擬機器裡測試的所以需要下載centos7的映象,可以去官網然後找到中國的映象站用迅雷外掛下載速度比較快這裡我選擇的是64位的,oracle也是64位的
準備一個oracle12c的資料庫,因為現在oracle官網改版了不能下載舊版本的了所以我找了好久都沒找到,然後在一個網盤裡扒拉到了一個12201版本的資料庫安裝包
伺服器配置
1.首先用伺服器的root身份安裝依賴包(如果直接是root使用者登入的就直接執行下邊的,如果不是就開啟終端先執行 su - 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
這個操作可以多做幾遍沒關係確保安裝成功了,做完這一步再測試一下看看安裝成功了沒有
rpm -q binutils compat-libcap1 compat-libstdc++ gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
如果出現包未安裝的提示,請用yum install 包名進行安裝。
例如 yum install compat-libstdc++*
2.建立使用者和組:
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba,oper oracle
echo "123456" | passwd --stdin oracle #oracle使用者的登入密碼,後續登入要用,記著。
3.建立安裝目錄:
mkdir -p /orcl/app/oracle/product/12.1.0/db_1
#建立目錄
chown -R oracle:oinstall /orcl/app
#分配使用者目錄許可權
chmod -R 775 /orcl/app #給目錄分配許可權
上傳安裝包
這裡我用的是winSCP工具上傳的
我們把oracle12cLinux版本的安裝包上傳到
/orcl/app/oracle目錄
4.修改核心引數vim /etc/sysctl.conf,新增:(如果沒有vim 就用vi編輯器)
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4098955264 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
改好後,使之生效
sysctl -p
# kernel.shmmax = 4098955264 這個地方因為每個人機器不一樣所以填的可能也不一樣,到時候看check那一步的時候推薦值是多少再改成多少就行
5.改檔案限制: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
6.以及vi /etc/pam.d/login,新增:
session required pam_limits.so
7.修改ulimit:vi /etc/profile,新增:
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536a else ulimit -u 16384 -n 65536 fi fi
8.修改環境變數。vi ~oracle/.bash_profile,新增:
ORACLE_BASE=/orcl/app/oracle ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1 ORACLE_SID=orcl export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH=$ORACLE_HOME/bin:$PATH
9.如果你的centos有自帶的openjdk就解除安裝掉沒有就不用管
yum remove *openjdk*
再安裝正常版本的jdk去oracle官網下載Linux版的jdk8
然後到下載的目錄執行
rpm -ivh jdk名字.rpm
例如rpm -ivh jdk-8u144-linux-x64.rpm
10.開放伺服器的1521埠
firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd --reload
返回success代表成功期間可能會提示輸入root密碼
做完以上操作之後重啟伺服器
開始安裝oracle12c
- 重啟完伺服器用oracle這個使用者登入伺服器(我們在伺服器配置的第二步裡已經建立了一個名為oracle的使用者密碼為123456)
- 進入到安裝包目錄
cd /orcl/app/oracle
- 解壓安裝包
unzip linuxx64_12201_database.zip
- 進入到解壓目錄
cd /orcl/app/oracle/database
- 執行安裝命令
./runInstaller
安裝過程中可能會碰到的問題
1.swap size問題沒有檢查交換空間
安裝資料庫所需要的交換空間
問題
1.使用dd命令建立一個swap分割槽
dd if=/dev/zero of=/home/swap bs=1024 count=16777216
2.格式化剛才建立的分割槽
mkswap /home/swap
3.再使用swapon命令把這個檔案分割槽變成swap分割槽
swapon /home/swap
4.為了能夠讓swap自動掛載,需要修改etc/fstab檔案
vim /etc/fstab
# 在檔案末尾加上
/home/swap swap swap default 0 0
這樣就算重啟系統,swap分割槽也不用手動掛載了
5. 修改/etc/inittab檔案
vim /etc/inittab
# 在檔案末尾加上
swapon /home/swap
2.kernel.shmmax問題就是在伺服器配置的值為他推薦的值