小白爬坑的第一天:Oracle數據庫版本11g在Linux無圖形界面下的靜默安裝。

 

       之前在Windows server上安裝Oracle 11g是有圖形界面的對於我這樣的新手是非常友好的。可是今天想要在Linux上使用下Oracle(我自己使用MySQL更多,Oracle使用的很少),雖然centos是可以安裝圖形界面的,但是我們知道大部分的Linux服務器基於資源暫用是不使用圖形界面的,那麼要怎麼在無圖形界面下進行安裝呢。。。下面的我的小段爬坑經歷,有不對的地方還望能夠指出。

一、準備centos系統(centos6與centos7有比較大的區別,具體的系統命令參考各自的手冊就好,當然也可以使用其他Linux)這裏我使用的是centos7.3x

安裝過程省略(我使用的是帶開發工具的最小安裝)

二、下載Oracle 11g R2和其他軟件工具

1.

官方下載地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

選擇64位下載。一共有兩個文件:linux.x64_11gR2_database_1of2.zip 和linux.x64_11gR2_database_2of2.zip

ps:爲保證文件完整性可以測下md5值與官方比對。

2.爲方便操作VMware裏的Linux虛擬機,使用遠程登錄工具進行操作:

xshell和xftp:鏈接: https://pan.baidu.com/s/1MQYcPpgSNLQRNQ7srl7bEA 提取碼: 63fn  (此爲學校or家庭使用的免費版,企業版請購買正版)

putty:鏈接: https://pan.baidu.com/s/1ygPEXSb37laU5g_CwJqDLg 提取碼: w9ui 

ftp工具也可以使用:filezilla(個人認爲也是比較好用的一款工具)

三、安裝

1.安裝依賴包:

yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc   libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel

使用yum方式不能安裝pdksh因此需要自己去下載安裝:

安裝pdksh的RPM包:

cd /opt
wget http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm

ps:有可能會遇到

pdksh和ksh只能保留一個,這裏我們保留pdksh

 

這裏我把yum源改成了國內的yum源使用的是系統自帶的yum源有時候會很慢,更換方法爲:

創建備份

mkdir /back
cd /etc
mv yum.repos.d /back/yum.repos.d.bak

更新阿里的yum源

mkdir yum.repos.d

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum clean all

yum makecache      #生成緩存

 檢查安裝的依賴包,使用rpm -qa 或者再次使用yum來檢查所有包是否安裝。

2.安裝前的環境準備

添加用戶和用戶組:

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle

oinstall爲Oracle的主組,dba設置爲附加組

初始化Oracle用戶密碼:

passwd oracle

在安裝centos時我沒有進行主機名初始化,現在來配置hostname:

vim /etc/hosts

ip地址的查看方式:ifconfig 或者ip addr

修改好了以後:ping 修改的主機名 能ping通就ok!

優化系統內核參數:

因爲是虛擬機的原因我們選擇最小化(具體配置需要根據自己的硬件參照手冊進行修改):

vim /etc/sysctl.conf     #在文本末尾加入

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 4294967295

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 = 1048586

使參數生效:

sysctl -p

設置創建的Oracle用戶權限

vim /etc/security/limits.conf   #末尾加入

oracle              soft    nproc   2047          #oracle 在 linux上打開 proc 數量

oracle              hard    nproc   16384     

oracle              soft    nofile  1024           #oracle 在 linux上打開 file 數量

oracle              hard    nofile  65536

vim /etc/pam.d/login     #末尾加入

session  required   /lib64/security/pam_limits.so

session  required   pam_limits.so

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

創建Oracle安裝路徑:

mkdir -p /app/oracle/product/11.2.0
mkdir -p /app/oracle/inventory
mkdir -p /app/oracle/oradata
chown -R oracle:oinstall /app

配置Oracle環境變量

vim ~oracle/.bash_profile

 

ps:

export ORACLE_BASE=app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1 #path路徑設置方法與jdk基本一致
export ORACLE_SID=orcl # 最多 8個字符 ; 操作系統和 oracle實例關聯的紐帶 ;ORACLE_HOME+ORACLE_SID==>hash==> 共享內存段
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin #將安裝後的 oracle 命令追加到執行搜索路徑
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #動態庫的位置
export nls_lang="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" #客戶端字符集設置

到此重啓系統:

reboot 
init 6
shutdown -r now
#上面3個命令都可以用於重啓。

hostname等設置已經生效

3.開始安裝

 使用xftp或者其他ftp工具上傳從官網下載的安裝包:(也可以直接使用wget工具直接將安裝包下載到Linux)這是上傳到/opt路徑下

分別解壓2個壓縮包:

[root@centos7 opt]# unzip linux.x64_11gR2_database_1of2.zip
[root@centos7 opt]# unzip linux.x64_11gR2_database_2of2.zip
[root@centos7 opt]# cd ./database/
[root@centos7 database]# ls
doc  install  response  rpm  runInstaller  sshsetup  stage  welcome.html
[root@centos7 database]# cd ./response/
[root@centos7 response]# ls
dbca.rsp  db_install.rsp  netca.rsp
[root@centos7 response]#

進入響應文件夾有3個文件分別是數據庫靜默響應文件、數據庫安裝響應文件以及監聽響應文件。

修改安裝響應文件:

[root@centos7 response]# vim ./db_install.rsp

修改以下選項:

29 oracle.install.option=INSTALL_DB_SWONLY  #安裝選項
37 ORACLE_HOSTNAME=centos7 #hostname
42 UNIX_GROUP_NAME=oinstall #主組
47 INVENTORY_LOCATION=/app/oracle/inventory
78 SELECTED_LANGUAGES=en,zh_CN 

83 ORACLE_HOME=/app/oracle/product/11.2.0

88 ORACLE_BASE=/app/oracle

   99 oracle.install.db.InstallEdition=EE    #版本

   108 oracle.install.db.isCustomInstall=true

   142 oracle.install.db.DBA_GROUP=dba   #admin管理組名

   147 oracle.install.db.OPER_GROUP=dba   #oper操作員組名

   160 oracle.install.db.config.starterdb.type=GENERAL_PURPOSE

   170 oracle.install.db.config.starterdb.SID=orcl

   200 oracle.install.db.config.starterdb.memoryLimit=800      #根據自己設定的物理內存設置,一般爲物理內存的40%-60%

   233 oracle.install.db.config.starterdb.password.ALL=123456   #設置所有用戶密碼,方便後面更改。

開始靜默安裝:

[root@centos7 response]# su oracle
[oracle@centos7 response]$ ls
dbca.rsp  db_install.rsp  netca.rsp
[oracle@centos7 response]$ cd ../
[oracle@centos7 database]$ ls
doc  install  response  rpm  runInstaller  sshsetup  stage  welcome.html
[oracle@centos7 database]$ ./runInstaller -silent -ignorePrereq -responseFile /opt/database/response/db_install.rsp

另起一個終端查看安裝實時日誌:

注意安裝過程會持續一會,沒有出現[FATAL]或者[error]安裝程序仍在運行。也可通過安裝日誌來確定安裝進程:

 看到如下表示安裝成功:

按要求運行腳本:

到此Oracle 11g r2就安裝成功了!

4.配置Oracle。

配置監聽:

 在Oracle用戶下執行:

[oracle@centos7 ~]$ netca /silent /responseFile /opt/database/bakrsp/netca.rsp

我這裏備份了response裏的文件,bakrsp是備份目錄,不需要備份直接從response文件夾中的文件執行!

結果反饋:

檢查監聽狀態:

[oracle@centos7 ~]$ netstat -tnulp | grep 1521
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6       0      0 :::1521                 :::*                    LISTEN      18790/tnslsnr

創建數據庫:

[oracle@centos7 ~]$ dbca -silent -responseFile /opt/database/bakrsp/dbca.rsp

dbca.rsp可以根據自己的安裝情況修改,大致需要修改的選項差不多有:

GDBNAME
SID
SYSPASSWORD
SYSTEMPASSWORD
SYSMANPASSWORD
DBSNMPPASSWORD
DATAFILEDESTINATION
CHARACTERSET = "AL32UTF8"
TOTALMEMORY = "1638"     #物理內存的40-80%,一般80%

查看監聽狀態:

[oracle@centos7 ~]$ lsnrctl status

結果爲:

如果遇到:上圖中的實例狀態REDAY爲“UNKNOW”則需要檢查自己的監聽配置,或者查看/app/oracle/product/11.2.0/network/admin目錄下的監聽文件參考自己的情況進行排查。

最後,登錄數據庫:

[oracle@centos7 ~]$ lsnrctl start
[oracle@centos7 ~]$ sqlplus / as sysdba

常見問題:

  1. startup後出現:

    解決方法:參考:https://www.linuxidc.com/Linux/2012-12/76976.htm

  2. 無法使用
    sqlplus / as sysdba 登錄,解決方法在/app/oracle/product/11.2.0/network/admin中編輯sqlnet文件加入SQLNET.AUTHENTICATION_SERVICES=(ALL)
  3. startup後出現:

 

 這個情況比較複雜具體參考:https://www.linuxidc.com/Linux/2016-10/135746.htm

看到這個基本就問題不大了:

嘗試遠程連接:

由於是在虛擬機內,可以關掉防火牆:

[root@centos7 ~]# systemctl stop firewalld

連接成功。。。。爬坑第一天到此結束啦。。。

PS:至於增加開機啓動添加到服務等事宜,大家可以參考論壇等,或者我也會在開一個隨筆來記錄下。下一篇就說說簡單點的MySQL的安裝配置吧。

 

原文出處:https://www.cnblogs.com/observe/p/10405608.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章