Oracle11g數據庫快速安裝


關於Oracle數據庫安裝的文章網上到處都是,百度一下就能找到很多,例如:

在這里插入圖片描述

能百度到的Oracle安裝是常規的方法,我就不講了,本文向大家介紹一種更簡單的非常規的安裝方法,這種方法適用於初學者。

一、Oracle安裝存在的問題

Oracle數據庫系統對服務器的硬件和軟件要求比較嚴格,一般來說,用於Oracle生產環境的服務器配置非常好,內存在16GB以上,在圖形界面中安裝Oracle非常容易,極少失敗。

但是,對初學者來說,學習資源有限,一般是在VMWare虛擬機上安裝CentOS操作系統,或租用最低配置的雲服務器(1核1G/2G內存),不可能有那么好的服務器來安裝Oracle,也可能沒有圖形界面。在虛擬機或低配置的雲服務器上安裝Oracle問題很多,莫名其妙,根本找不到問題的原因和解決方法,困難重重,讓人欲哭無淚。

二、如何解決Oracle安裝的問題

解決虛擬機或低配置的雲服務器上安裝Oracle的方法有兩種:

1)不用圖形界面,采用靜默方式安裝,這種方法的技術難度比較大,Oracle的DBA經常采用這種方法,而普通程序員很難掌握。

2)把已經安裝好的Oracle軟件、數據庫實例和環境參數打包壓縮,然后在目標服務上解壓恢復,對初學者來說,這是搭建Oracle數據庫學習環境的最佳方案,也是本文采用的方案。

在安裝Oracle之前,您必須已經掌握了Linux的常用命令,具備Oracle數據庫系統的基礎知識。

三、獲得Oracle壓縮包

登錄C語言技術網,在“資源下載”欄目中下載軟件安裝包,文件名是oracle11gR2.tgz。

四、軟件需求

建議采用CentOS7系列版本的操作系統,CentOS6和CentOS7在系統配置和操作上有較大差別,CentOS8以上版本對初學者來說沒有必要。

建議先把CentOS7操作系統的字符集設置為zh_CN.gbk。

五、硬件需求

1、查看內存和交換區的大小

采用free -m命令查看系統的內存和交換區,如下:

在這里插入圖片描述

Mem:行顯示的是物理內存的大小和使用情況,Swap:行顯示的是交換區的大小和使用情況,單位是MB。

安裝Oracle的物理內存要求在1024MB以上,交換區的要求如下:

可用內存 交換區大小
1024MB到2048MB之間。 1.5倍於物理內存。
2049MB到8192MB之間。 1倍於物理內存。
大於8192MB。 0.75倍於物理內存。

2、創建交換區

如果沒有交換區或交換區太小,先創建交換區,交換區的大小見上表的對應關系,以下步驟將創建一個2048M的交換區。

1)用root用戶執行dd命令創建/swap1文件。

dd if=/dev/zero of=/swap1 bs=1024 count=2048000

如下:

在這里插入圖片描述

2)把/swap1文件設置成交換區。

/sbin/mkswap /swap1

如下:

在這里插入圖片描述

3)把/swap1交換區設置為有效狀態。

/sbin/swapon /swap1

如下:

在這里插入圖片描述

4)用free -m命令查看交換區,確認已生效。

如下:

在這里插入圖片描述

5)修改/etc/fstab文件,讓CentOS操作系統在每次重啟時自動加載/swap1交換區。

在/etc/fstab文件中增加以下內容。

/swap1 swap swap defaults 0 0

如下:

在這里插入圖片描述

6)重啟操作系統,重啟后再確認一下交換區/swap1是否已加載。

3、刪除交換區

如果創建的交換區不符合要求,可以用以下步驟刪除它。

1)停止正在使用的swap分區。

swapoff /swap1

2)刪除swap分區文件。

rm /swap1

3)修改/etc/fstab文件,刪除開機自動掛載/swap1的命令。

六、安裝對應的依賴包

安裝Oracle之前,還需要安裝一些CentOS的軟件包,用以下命令執行安裝(用root用戶執行)。

yum install -y binutils* compat-libstdc* elfutils-libelf* gcc* glibc* ksh* libaio* libgcc* libstdc* make* sysstat* libXp*  glibc-kernheaders ksh binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl sysstat libXp unixODBC unixODBC-devel

這些軟件包依賴關系比較復雜,不管它,多執行幾次以上命令,直到全部的軟件包都是最新版本。

七、修改系統核心參數

1、修改/etc/sysctl.conf文件

/etc/sysctl.conf是操作系統的核心參數配置文件,在文件最后增加以下行。

fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax= 2147483648
kernel.shmmni= 4096
kernel.sem = 250 32000100 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

注意,kernel.shmmax參數的值為操作系統內存的一半,單位是字節。例如,操作系統總內存如果是1024MB,那么kernel.shmmax的值應該是512*1024*1024=536870912,即kernel.shmmax=536870912

其它的參數照抄。

2、 修改/etc/security/limits.conf文件

/etc/security/limits.conf是操作系統對用戶使用資源的配置文件,在文件最后增加以下行。

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

3、 修改/etc/pam.d/login文件

/etc/pam.d/login是用戶認證文件,在文件最后增加以下行。

session    required     /lib64/security/pam_limits.so

4、 修改/etc/profile文件

/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、 修改/etc/selinux/config文件

/etc/selinux/config是SELinux配置文件,修改SELINUX的值,禁用它。

SELINUX=disabled

7、重啟服務器

init 6reboot

八、創建Oracle用戶和組

Oracle的安裝用戶是oracle,組是dba,oracle用戶的根目錄是/oracle,不能采用其它目錄(注意是小寫的字母),如果/oracle目錄的空間不夠,可以采用軟鏈接的方式,把有/oracle鏈接到其它有足夠空間的目錄。

1)創建dba組。

groupadd dba

2)創建oracle用戶,組名是dba,用戶根目錄是/oracle,不可改變。

useradd -n oracle -g dba -d /oracle

3)修改oracle用戶的密碼。

passwd oracle

九、解開壓縮包

把Oracle的壓縮包文件oracle11gR2.tgz上傳到服務器的/tmp目錄。

采用su - oracle切換到oracle用戶,在根目錄下執行解開壓縮包。

su - oracle
cd /
tar zxvf /tmp/oracle11gR2.tgz
exit;

注意,解壓縮包后,一定要退出oracle用戶,否則oracle用戶的環境變量不會生效。

十、數據庫的參數

oracle11gR2.tgz解壓后,會生成/oracle/.bash_profile文件,包括了Oracle數據庫的安裝參數,內容如下:

export ORACLE_BASE=/oracle/base
export ORACLE_HOME=/oracle/home
export ORACLE_SID=snorcl11g
export NLS_LANG='Simplified Chinese_China.ZHS16GBK'
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:.

十一、數據庫的啟動

用oracle用戶登錄,執行lsnrctl start啟動網絡監聽服務,執行dbstart啟動數據庫系統。

在這里插入圖片描述

在這里插入圖片描述

十二、數據庫的關閉

用oracle用戶登錄,執行lsnrctl stop關閉網絡監聽服務,執行dbshut關閉數據庫系統。

在重啟或關閉服務器操作系統之前,一定要關閉數據庫,否則數據庫損壞的概率非常大。

在這里插入圖片描述

在這里插入圖片描述

十三、采用sqlplus登錄數據庫

用oracle用戶登錄CentOS系統。

執行sqlplus scott/tiger,以scott用戶的身份登錄數據庫。

在這里插入圖片描述

在sqlplus中,輸入exit;退出sqlplus。

在Shell中,執行sqlplus / as sysdba以系統管理員身份登錄數據庫。

在這里插入圖片描述

十四、查詢數據庫的版本

select * from v$version;

在這里插入圖片描述

十五、服務器防火牆配置

Oracle數據庫缺省的通信端口是1521,如果想從遠程連接Oracle數據庫,需要開通服務器防火牆的1521端口。

CentOS7和CentOS6的防火牆設置不同,CentOS7采用以下命令開通1521端口:

firewall-cmd --zone=public --add-port=1521/tcp --permanent

以下是CentOS7防火牆的相關操作命令。

1、查看防火牆的命令

1)查看防火牆的版本。

firewall-cmd --version

2)查看firewall的狀態。

firewall-cmd --state

3)查看firewall服務狀態(普通用戶可執行)。

systemctl status firewalld

4)查看防火牆全部的信息。

firewall-cmd --list-all

5)查看防火牆已開通的端口。

firewall-cmd --list-port

6)查看防火牆已開通的服務。

firewall-cmd --list-service

7)查看全部的服務列表(普通用戶可執行)。

firewall-cmd --get-services

8)查看防火牆服務是否開機啟動。

systemctl is-enabled firewalld.service

2、配置防火牆的命令

1)啟動、重啟、關閉防火牆服務。

#啟動
systemctl start firewalld.service
#重啟
systemctl restart firewalld.service
#關閉
systemctl stop firewalld.service

2)開放、移去端口。

#開放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
#移去80端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent

3)開放、移去服務。

#開放http服務
firewall-cmd --zone=public --add-service=http --permanent
#移去http服務
firewall-cmd --zone=public --remove-service=http --permanent

4)設置開機時啟用、禁用防火牆服務。

#啟用服務
systemctl enable firewalld.service
#禁用服務
systemctl disable firewalld.service

十六、雲平台訪問策略配置

如果Oracle數據庫安裝在雲服務器上,需要登錄雲服務器提供商的管理平台開通訪問策略(或安全組),開通1521端口的訪問策略。

不同雲服務器提供商的管理平台操作方法不同,具體操作方法閱讀操作手冊、或者百度,或者咨詢雲服務器提供商的客服。

十七、版權聲明

C語言技術網原創文章,轉載請說明文章的來源、作者和原文的鏈接。
來源:C語言技術網(www.freecplus.net)
作者:碼農有道

如果文章有錯別字,或者內容有錯誤,或其他的建議和意見,請您留言指正,非常感謝!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM