主頁 > 知識庫 > Centos下Oracle11gR2安裝教程與自動化配置腳本的方法

Centos下Oracle11gR2安裝教程與自動化配置腳本的方法

熱門標簽:杭州網(wǎng)絡(luò)外呼系統(tǒng)運營商 網(wǎng)貸外呼系統(tǒng)合法嗎 安陽企業(yè)電銷機器人供應(yīng)商 地圖標注坐標圖標 汽車4s店百度地圖標注店 電銷套路機器人 鶴壁電話機器人價格 手機地圖標注門店 地圖標注效果的制作

系統(tǒng)環(huán)境準備

開發(fā)組件與依賴庫安裝

安裝centos時選擇Server with GUI,右面的可以不勾選,后面統(tǒng)一來裝

配置本地yum源

以上包如果缺乏可配置本地yum源進行安裝

sudo mount /dev/cdrom /mnt/

[galen@localhost yum.repos.d]$ sudo vim /etc/yum.repos.d/cdrom.repo
[galen@localhost yum.repos.d]$ cat cdrom.repo 
[c7-media]
name=isofile
baseurl=file:///mnt
enable=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[galen@localhost yum.repos.d]$ sudo mv CentOS-Base.repo CentOS-Base.repo-bak
[galen@localhost yum.repos.d]$ sudo mv CentOS-Media.repo CentOS-Media.repo-bak
[galen@localhost yum.repos.d]$ sudo mv cdrom.repo CentOS-Media.repo

配置好yum源后開始安裝依賴庫,如下

yum install glibc glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh compat-libcap1  compat-libstdc++ elfutils-libelf-devel gcc-c++

關(guān)閉防火墻

[galen@localhost ~]$ systemctl stop firewalld.service 
[galen@localhost ~]$ systemctl disable firewalld.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

關(guān)閉selinux

編輯/etc/sysconfig/selinux文件,保存退出后執(zhí)行 setenforce 0命令

vim /etc/sysconfig/selinux
SELINUX=disabled
#SELINUXTYPE=targeted  #注釋掉

創(chuàng)建oracle用戶、修改系統(tǒng)參數(shù)

創(chuàng)oracle建用戶和組

[root@localhost galen]# groupadd oinstall
[root@localhost galen]# groupadd dba
[root@localhost galen]# useradd -g oinstall -G dba oracle
[root@localhost galen]# passwd oracle

[root@localhost galen]# id oracle
uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)

系統(tǒng)參數(shù)設(shè)置

官方推薦值:

fs.aio-max-nr = 1048576  
fs.file-max = 6815744  
kernel.shmall = 2097152 
kernel.shmmax = 536870912 #推薦超過一半的物理內(nèi)存
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 

通過 /sbin/sysctl -a |grep xxx 查看系統(tǒng)各參數(shù),如果大于官方推薦值不修改,如果小于官方推薦值則修改為官方推薦值,寫入/etc/sysctl.conf文件中,使用sysctl -p使其生效,示例如下

[root@localhost etc]# cat sysctl.conf
fs.aio-max-nr = 6815744
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

修改資源限制如下

[root@localhost etc]# vim /etc/security/limits.conf
oracle		soft		nproc		2048
oracle		hard		nproc		16384
oracle		soft		nofile		1024
oracle		hard		nofile		65536
oracle		soft		stack		10240 

添加以下內(nèi)容到/etc/pam.d/login

[root@localhost ~]# vim /etc/pam.d/login
session required  pam_limits.so

添加以下內(nèi)容到/etc/profile

[root@localhost ~]# vim /etc/profile
if [[ $USER = "oracle" ]]; then
	if [[ $SHELL = "/bin/ksh" ]]; then
		ulimit -p 16384
		ulimit -n 65536
	else
		ulimit -u 16384 -n 65536
	fi
fi

保存后執(zhí)行source /etc/profile生效

配置oracle用戶環(huán)境變量,在/home/oracle/.bash_profile中加入如下內(nèi)容

[root@localhost ~]# vim /home/oracle/.bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH
export LANG="en_US.UTF-8"
export NLS_LANG=american_AMERICA.UTF8
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

創(chuàng)建oracle安裝目錄

mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01/app
chmod -R 775 /u01/app

安裝oracle 11g

掛載oracle11g安裝包iso(也可以通過其他方式將oracle安裝包傳到主機),將安裝文件復(fù)制到oracle home目錄下,修改文件權(quán)限給oracle用戶

[root@localhost /]# mkdir /mnt/oracle11g
[root@localhost /]# mount /dev/cdrom /mnt/oracle11g/
[root@localhost /]# cp -r /mnt/oracle11g /home/oracle/
# 復(fù)制到oracle home目錄下并修改權(quán)限
[root@localhost oracle]# chown -R oracle:oinstall /home/oracle/oracle11g/
[root@localhost oracle]# chmod -R 775 /home/oracle/oracle11g/

接下來使用oracle用戶登錄桌面

執(zhí)行./runInstaller開始安裝,Centos 7安裝的時候錯誤彈框有時候會變成一條豎線,安裝無法進行下去,所以運行時執(zhí)行

./runInstaller -jreLoc /etc/alternatives/jre_1.8.0

每項操作如下

[Configure Security Updates] 取消勾選 I wish to receive security updates via My Oracle Support,Next

[Installation Option] Install database software only,Next

[Grid Options] Next

[Product Languages] Next

[Enterprise Edition] Next

[Installation Location] Next

[Create Inventory] Next

[Operating System Groups] Next

[Prerequisite Checks] Next

[Summary] Finish,開始安裝oracle 11g

安裝到84%的時候可能會出現(xiàn)ins_ctx.mk相關(guān)的錯誤,如下

修改/u01/app/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk文件

# 源文件
ctxhx: $(CTXHXOBJ)
    $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
# 修改為
ctxhx: $(CTXHXOBJ)
    -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a

修改/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk文件

# 源文件
$(SYSMANBIN)emdctl:
    $(MK_EMAGENT_NMECTL)
# 修改為
$(SYSMANBIN)emdctl:
    $(MK_EMAGENT_NMECTL) -lnnz11

retry繼續(xù)安裝到94%時,彈出

使用root用戶ssh到主機到上述目錄分別執(zhí)行orainstRoot.sh與root.sh,執(zhí)行root.sh時根據(jù)提示填入路徑

/u01/app/oracle/product/11.2.0/dbhome_1/bin,執(zhí)行完成后到UI點擊OK,安裝完成

環(huán)境配置腳本

  1. 使用root用戶登錄
  2. 確保系統(tǒng)iso驅(qū)動器已連接(/dev/cdrom可mount)
  3. 復(fù)制腳本到主機并給予可執(zhí)行權(quán)限,執(zhí)行腳本完成后即可開始安裝oracle 11g

oracle 11g環(huán)境配置腳本

#!/bin/bash

# 配置yum源為本地iso
function set_yum_media() {
  cd /etc/yum.repos.d/
  for repo_file in `ls /etc/yum.repos.d/ | grep -v Media`
  do
    new_file=$repo_file.bak
    mv $repo_file $new_file
  done
  mkdir -p /mnt/media-dir
  mount /dev/cdrom /mnt/media-dir
  sed -i -e 's/baseurl=file:\/\/\/.*/baseurl=file:\/\/\/mnt\/media-dir\//g' -e 's/enabled=0/enabled=1/g' `ls /etc/yum.repos.d/ | grep Media`
  cd -
	rm -rf /var/run/yum.pid
  yum -y update
}

function install_packages() {
  for package in glibc glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh compat-libcap1  compat-libstdc++ elfutils-libelf-devel gcc-c++
  do
    yum -y install $package
  done
}

function create_oracle_user() {
	groupadd oinstall
	groupadd dba
	useradd -g oinstall -G dba oracle
	# 設(shè)置oracle用戶密碼為oracle
	echo oracle|passwd --stdin oracle
}

function set_system_parm() {
	sed -i '$a\fs.aio-max-nr = 1048576' /etc/sysctl.conf
	sed -i '$a\fs.file-max = 6815744' /etc/sysctl.conf
	sed -i '$a\kernel.shmall = 2097152' /etc/sysctl.conf
	sed -i '$a\kernel.shmmax = 536870912' /etc/sysctl.conf
	sed -i '$a\kernel.shmmni = 4096' /etc/sysctl.conf
	sed -i '$a\kernel.sem = 250 32000 100 128' /etc/sysctl.conf
	sed -i '$a\net.ipv4.ip_local_port_range = 9000 65500' /etc/sysctl.conf
	sed -i '$a\net.core.rmem_default = 262144' /etc/sysctl.conf
	sed -i '$a\net.core.rmem_max = 4194304' /etc/sysctl.conf
	sed -i '$a\net.core.wmem_default = 262144' /etc/sysctl.conf
	sed -i '$a\net.core.wmem_max = 1048586' /etc/sysctl.conf
	sysctl -p
}

function set_system_limit_parm() {
	sed -i '$a\oracle		soft		nproc		2048' /etc/security/limits.conf
	sed -i '$a\oracle		hard		nproc		16384' /etc/security/limits.conf
	sed -i '$a\oracle		soft		nofile		1024' /etc/security/limits.conf
	sed -i '$a\oracle		hard		nofile		65536' /etc/security/limits.conf
	sed -i '$a\oracle		soft		stack		10240' /etc/security/limits.conf
}

function set_profile_parm() {
	sed -i '$a\session required  pam_limits.so' /etc/pam.d/login
	sed -i '$a\if [[ $USER = "oracle" ]]; then' /etc/profile
	sed -i '$a\  if [[ $SHELL = "/bin/ksh" ]]; then' /etc/profile
	sed -i '$a\    ulimit -p 16384' /etc/profile
	sed -i '$a\    ulimit -n 65536' /etc/profile
	sed -i '$a\  else' /etc/profile
	sed -i '$a\    ulimit -u 16384 -n 65536' /etc/profile
	sed -i '$a\  fi' /etc/profile
	sed -i '$a\fi' /etc/profile
	source /etc/profile
}

function set_oracle_env() {
	sed -i '$a\export ORACLE_BASE=/u01/app/oracle' /home/oracle/.bash_profile
	sed -i '$a\export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1' /home/oracle/.bash_profile
	sed -i '$a\export ORACLE_SID=orcl' /home/oracle/.bash_profile
	sed -i '$a\export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH' /home/oracle/.bash_profile
	sed -i '$a\export LANG="en_US.UTF-8"' /home/oracle/.bash_profile
	sed -i '$a\export NLS_LANG=american_AMERICA.UTF8' /home/oracle/.bash_profile
	sed -i '$a\export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"' /home/oracle/.bash_profile
	source /home/oracle/.bash_profile
}

function create_oracle_dir() {
	mkdir -p /u01/app/oracle/product/11.2.0/db_1
	chown -R oracle:oinstall /u01/app
	chmod -R 775 /u01/app
}

function disable_firewall() {
	systemctl stop firewalld.service
	systemctl disable firewalld.service
	sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux
	setenforce 0
}

if [ `whoami` == "root" ]
then
	set_yum_media
	install_packages
	create_oracle_user
	echo "set system parm"
	set_system_parm
	echo "set limits"
	set_system_limit_parm
	echo "set /etc/profile"
	set_profile_parm
	echo "set oracle env"
	set_oracle_env
	echo "create oracle dir"
	create_oracle_dir
	echo "disable firwall"
	disable_firewall
fi

到此這篇關(guān)于Centos下Oracle11gR2安裝教程與自動化配置腳本的方法的文章就介紹到這了,更多相關(guān)Oracle11gR2安裝與自動化配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • centos7下安裝oracle11gR2的詳細步驟
  • linux系統(tǒng)下oracle11gR2靜默安裝的經(jīng)驗分享
  • Oracle11g r2 卸載干凈重裝的詳細教程(親測有效已重裝過)
  • oracle11gR2使用exp導(dǎo)出命令時報EXP-00011錯誤的解決方法
  • Oracle11g R2 安裝教程完整版

標簽:南陽 焦作 梧州 銀川 河源 酒泉 泰安 柳州

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Centos下Oracle11gR2安裝教程與自動化配置腳本的方法》,本文關(guān)鍵詞  Centos,下,Oracle11gR2,安裝,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Centos下Oracle11gR2安裝教程與自動化配置腳本的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于Centos下Oracle11gR2安裝教程與自動化配置腳本的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章