1. 程式人生 > >CentOS 7靜默安裝Oracle 11g(記一次最小化CentOS 7安裝Oracle 11g的經歷)

CentOS 7靜默安裝Oracle 11g(記一次最小化CentOS 7安裝Oracle 11g的經歷)

1.最小化安裝CentOS 7後首先設定一下固定IP

可以先查詢一下自己的網絡卡裝置的名稱,是ens33,所以網絡卡配置檔名稱就是ifcfg-ens33(前面的ifcfg-不用管,固定的)

ip addr

開啟網絡卡配置檔案:

vi /etc/sysconfig/network-scripts/ifcfg-ens33

按需修改(新增)如下幾行:

BOOTPROTO="static"
IPADDR=192.168.80.254      #填寫你自己需要設定的IP地址
NETMASK=255.255.255.0    #子網掩碼
GATEWAY=192.168.80.2     #閘道器
DNS1=8.8.8.8                      #DNS按需填寫
ONBOOT="yes"                  #開機啟動該網絡卡

儲存後重啟一下網絡卡

service network restart

配置一下本機-IP的對映

vi /etc/hosts

在最後一行填寫本機IP地址和你喜歡的本機名


這個時候其實你就可以通過相關的遠端工具連線到該CentOS 7 進行遠端配置,會方便很多很多,我使用的是SecureCRT


2.安裝Oracle需要的依賴包(執行以下程式碼)

yum -y install 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

出現Complete!字樣後檢測依賴包安裝情況(執行以下程式碼)

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"

當出現紅色not installed的時候就說明有些依賴包沒有安裝成功

單獨安裝一次發現CentOS 7預設沒有pdksh這個依賴包

然後只能去網上找pdksh的依賴包下載下載後手動安裝,因為是最小化安裝沒有wget,所以先安裝wget,然後再下載pdksh(分別執行下面兩段程式碼)

yum install wget -y
wget http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm

安裝下載好的 pdksh-5.2.14-37.el5_8.1.x86_64.rpm

rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm

再次檢測Oracle依賴包情況,沒有出現任何內容就說明都安裝好了。

3.建立Oracle安裝使用者組與oracle使用者

groupadd oinstall -g 2000 && groupadd dba -g 2001 && groupadd asmadmin -g 2002 && groupadd asmdba -g 2003
useradd oracle -g oinstall -G dba,asmdba

檢視oracle使用者建立情況

id oracle

設定oracle密碼

passwd oracle

4.優化核心引數

vi /etc/sysctl.conf

在裡面新增:

fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.shmall=419430  #單位為4K,我的虛擬機器記憶體4G,所以linux預設的shm是2G,我給了2G的80%給oracle就是419430
kernel.shmmni=4096
kernel.shmmax = 1073741824
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=1048586

oracle官方文件也貼出來http://www.oracle.com/technetwork/articles/servers-storage-admin/ginnydbinstallonlinux-488779.html

設定完成後重新載入

/sbin/sysctl -p

限制oracle使用者許可權,在limits.conf、login、profile加入限制(這三個限制暫未在官網文件裡面找到出處,不過本著空穴來風的精神,還是做了,就算不做應該也不影響安裝)

vi /etc/security/limits.conf

oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536

vi /etc/pam.d/login
session  required   /lib64/security/pam_limits.so

session  required   pam_limits.so

vi /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

5.建立安裝目錄並賦予許可權,配置oracle環境變數


su oracle
vi ~/.bashrc
export ORACLE_HOSTNAME=oracle
export ORACLE_BASE=/db/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH
export LC_ALL="en_US"
export LANG="en_US"
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"

export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

cd ~ && source .bashrc

6.去官網下載相關的Oracel安裝包到本地windows上,我的是64位所以就下載了:

linux.x64_11gR2_database_1of2.zip

linux.x64_11gR2_database_2of2.zip

這兩個東東,下載完成後傳入CenOS 7,我使用的是lrzsz.x86_64,因為最小化沒有安裝該軟體,先安裝lrzsz.x86_64

su root
 yum install lrzsz unzip -y

然後cd到tmp,使用rz進行上傳下載好的linux壓縮包

cd /tmp && rz
7.解壓oracle壓縮包,按照自己前面設定的內容修改安裝引數
unzip linux.x64_11gR2_database_1of2.zip && unzip  linux.x64_11gR2_database_2of2.zip
vi database/response/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=oracle
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/db/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/db/oracle/product/11.2.0
ORACLE_BASE=/db/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true

reboot

8.開始安裝

su oracle
cd /tmp/database
./runInstaller -silent -ignorePrereq -responseFile /tmp/database/response/db_install.rsp

以root執行提示的兩個指令碼

中途我把解壓出來的database資料夾拷貝到了/db下,這個不拷貝也是可以的

cp -R /tmp/database /db
配置監聽
netca /silent /responsefile /db/database/response/netca.rsp

檢視監聽埠

netstat -tnulp | grep 1521

有紅字說明正常監聽


修改配置引數,建立資料庫

vi /db/database/response/dbca.rsp
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/db/oracle/oradata
RECOVERYAREADESTINATION=/db/oracle/recovery
CHARACTERSET = "AL32UTF8"

TOTALMEMORY = "1638"  #給了記憶體的40%

vi /db/oracle/product/11.2.0/dbs/init.ora

把裡面所有的<ORACLE_BASE>改成真正的ORACLE_BASE,即:/db/oracle後建庫

dbca -silent -responseFile /db/database/response/dbca.rsp

完成後即可使用sqlplus連線資料庫