在centos7上安裝oracle是一個比較麻煩的事,在安裝前需要做一些服務器的准備工作
我是在虛擬機里測試的所以需要下載centos7的鏡像,可以去官網然后找到中國的鏡像站用迅雷插件下載速度比較快這里我選擇的是64位的,oracle也是64位的
准備一個oracle12c的數據庫,因為現在oracle官網改版了不能下載舊版本的了所以我找了好久都沒找到,然后在一個網盤里扒拉到了一個12201版本的數據庫安裝包,想要安裝包的可以聯系318267433@qq.com
視頻連接:
https://www.bilibili.com/video/BV1nh411q74T?share_source=copy_web
服務器配置
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問題就是在服務器配置的值為他推薦的值