【Linux】手把手教你在 Linux 环境下部署 Oracle 数据库!
來源:公眾號【杰哥的IT之旅】
作者:三笠
相信大家第一次接觸 Oracle 數(shù)據(jù)庫時,大多數(shù)是在 windows 環(huán)境下安裝,方便快捷,基本上可以說是一直下一步就能順利安裝成功。然而企業(yè)級的數(shù)據(jù)庫,基本上都是安裝在 Linux 服務(wù)器上,安全且高效。
沒接觸過在 Linux 環(huán)境下安裝 Oracle 數(shù)據(jù)庫的朋友也不用怕,跟著本篇文章一步步操作也能搭建成功。
下面我就來手把手教大家如何在 Linux 上部署 Oracle 數(shù)據(jù)庫。
一、前期準(zhǔn)備
1、虛擬機安裝
Windows 主機推薦虛擬機:VMware Workstation
下載地址:
https://www.vmware.com/go/getworkstation-win
MacOS 主機推薦虛擬機:Parallels Desktop 16 for Mac
下載地址:
https://www.parallels.cn/products/desktop/trial/
2、Oracle軟件安裝包
oracle 官網(wǎng)下載地址:
https://www.oracle.com/database/technologies/oracle-database-software-downloads.html
3、Linux系統(tǒng)安裝包
一般有三種Linux系統(tǒng)比較常用:RedHat 、 OracleLinux 、Centos 。
RedHat下載:
https://developers.redhat.com/products/rhel/download
OracleLinux下載:
https://yum.oracle.com/oracle-linux-isos.html
Centos下載:
https://vault.centos.org/
Linux系統(tǒng)安裝詳情可參考:
教你三步在 MacOS 上安裝 Linux 系統(tǒng):
https://blog.csdn.net/m0_50546016/article/details/117414290
Windows 主機如何玩轉(zhuǎn)虛擬機 Linux 安裝:
https://blog.csdn.net/m0_50546016/article/details/117415206
4、Linux 遠(yuǎn)程連接工具
本文將使用 XShell 和 Xftp 工具;
通過 RedHat Linux 7.6 版本安裝 Oracle 11GR2 版本數(shù)據(jù)庫。
主機內(nèi)存 2G,硬盤 50G 即可。
二、Linux主機配置
使用 XShell 工具連接 Linux 主機 root 用戶:
1、主機名配置
如果安裝時沒有配置主機名,或者想要修改主機名,可以通過以下命令修改:
hostnamectl?set-hostname?orcl2、網(wǎng)絡(luò)配置
如果安裝時沒有配置網(wǎng)絡(luò),或者想要修改網(wǎng)絡(luò),可以通過以下命令修改:
nmcli?connection?modify?eth0?ipv4.addresses?10.211.55.188/24?ipv4.gateway?10.211.55.1?ipv4.method?manual?autoconnect?yes nmcli?connection?up?eth03、配置Hosts文件
根據(jù)上面配置好的主機名和IP,配置hosts文件:
cat?<<EOF?>>/etc/hosts ##OracleBegin## ##Public?IP 10.211.55.188?????orcl ##OracleEnd## EOF4、防火墻配置
systemctl?stop?firewalld systemctl?disable?firewalld5、Selinux配置
selinux修改后需要重啟主機生效:
sed?-i?'s/SELINUX=enforcing/SELINUX=disabled/g'?/etc/selinux/config6、ISO鏡像源配置
需要先掛載主機鏡像:
Parallels Desktop掛載Linux主機鏡像:
VMware Workstation掛載Linux鏡像:
mount?/dev/cdrom?/mntcat?<<EOF>/etc/yum.repos.d/local.repo [local] name=local baseurl=file:///mnt gpgcheck=0 enabled=1 EOF7、安裝Oracle依賴包
如下依賴包從Oracle官方文檔推薦獲取:
yum?install?-y?bc?\ binutils?\ compat-libcap1?\ compat-libstdc++-33?\ gcc?\ gcc-c++?\ elfutils-libelf?\ elfutils-libelf-devel?\ glibc?\ glibc-devel?\ ksh?\ libaio?\ libaio-devel?\ libgcc?\ libstdc++?\ libstdc++-devel?\ libxcb?\ libX11?\ libXau?\ libXi?\ libXtst?\ libXrender?\ libXrender-devel?\ make?\ net-tools?\ nfs-utils?\ smartmontools?\ sysstat?\ e2fsprogs?\ e2fsprogs-libs?\ fontconfig-devel?\ expect?\ unzip?\ openssh-clients?\ readline*?\ psmisc?--skip-broken檢查是否安裝成功:
rpm?-q?bc?binutils?compat-libcap1?compat-libstdc++-33?gcc?gcc-c++?elfutils-libelf?elfutils-libelf-devel?glibc?glibc-devel?ksh?libaio?libaio-devel?libgcc?libstdc++?libstdc++-devel?libxcb?libX11?libXau?libXi?libXtst?libXrender?libXrender-devel?make?net-tools?nfs-utils?smartmontools?sysstat?e2fsprogs?e2fsprogs-libs?fontconfig-devel?expect?unzip?openssh-clients?readlineLinux7需要手動安裝compat-libstdc++依賴包:
rpm?-ivh?compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm8、配置ZeroConf
##關(guān)閉Zeroconf?service的服務(wù)守護(hù)進(jìn)程 systemctl?stop?avahi-daemon.socket systemctl?stop?avahi-daemon.service systemctl?disable?avahi-daemon.service systemctl?disable?avahi-daemon.socket##關(guān)閉NOZEROCONF cat?<<EOF?>>/etc/sysconfig/network #OracleBegin NOZEROCONF=yes #OracleEnd EOF9、關(guān)閉透明大頁和numa
sed?-i?'s/quiet/quiet?transparent_hugepage=never?numa=off/'?/etc/default/grub grub2-mkconfig?-o?/boot/grub2/grub.cfg10、配置系統(tǒng)參數(shù)文件
##計算shmall和shmmax值 memTotal=$(grep?MemTotal?/proc/meminfo?|?awk?'{print?$2}') totalMemory=$((memTotal?/?2048)) shmall=$((memTotal?/?4)) if?[?$shmall?-lt?2097152?];?thenshmall=2097152 fi shmmax=$((memTotal?*?1024?-?1)) if?[?"$shmmax"?-lt?4294967295?];?thenshmmax=4294967295 fi echo?$shmall echo?$shmmax##配置系統(tǒng)參數(shù) cat?<<EOF?>>/etc/sysctl.conf #OracleBegin ##shmmal's Calculation formula: physical memory 8G:(8*1024*1024*1024)/4096=2097152 ##shmmax's Calculation formula: physical memory 8G:(8/2)*1024*1024*1024 -1=4294967295 fs.aio-max-nr?=?1048576 fs.file-max?=?6815744 kernel.shmall?=?$shmall kernel.shmmax?=?$shmmax 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 EOF##系統(tǒng)參數(shù)生效 sysctl?-p11、配置系統(tǒng)資源限制
cat?<<EOF?>>/etc/security/limits.conf #OracleBegin oracle?soft?nofile?1024 oracle?hard?nofile?65536 oracle?soft?stack?10240 oracle?hard?stack?32768 oracle?soft?nproc?2047 oracle?hard?nproc?16384 oracle?hard?memlock?134217728 oracle?soft?memlock?134217728 #OracleEnd EOFcat?<<EOF?>>/etc/pam.d/login #OracleBegin session?required?pam_limits.so? session?required?/lib64/security/pam_limits.so #OracleEnd EOF12、創(chuàng)建用戶和組
/usr/sbin/groupadd?-g?54321?oinstall /usr/sbin/groupadd?-g?54322?dba /usr/sbin/groupadd?-g?54323?oper/usr/sbin/useradd?-u?54321?-g?oinstall?-G?dba,oper?oracle echo?oracle?|?passwd?--stdin?oracle13、創(chuàng)建Oracle安裝目錄
mkdir?-p?/u01/app/oracle/product/11.2.0/db mkdir?-p?/u01/app/oraInventory mkdir?-p?/oradata chown?-R?oracle:oinstall?/oradata chown?-R?oracle:oinstall?/u01/app chmod?-R?775?/u01/app14、配置用戶環(huán)境變量
cat?<<EOF?>>/home/oracle/.bash_profile ################OracleBegin######################### umask?022 export?TMP=/tmp export?TMPDIR=\$TMP export?NLS_LANG=AMERICAN_AMERICA.AL32UTF8 export?ORACLE_BASE=/u01/app/oracle export?ORACLE_HOME=/u01/app/oracle/product/11.2.0/db export?ORACLE_HOSTNAME=orcl export?ORACLE_TERM=xterm export?TNS_ADMIN=\$ORACLE_HOME/network/admin export?LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib export?ORACLE_SID=orcl export?PATH=/usr/sbin:\$PATH export?PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH alias?sas='sqlplus?/?as?sysdba' export?PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$?' EOF三、Oracle軟件安裝
1、Oracle軟件包上傳
[root@orcl?soft]#?ll -rw-r--r--.?1?root?root?1395582860?May?31?16:56?p13390677_112040_Linux-x86-64_1of7.zip -rw-r--r--.?1?root?root?1151304589?May?31?16:56?p13390677_112040_Linux-x86-64_2of7.zip2、解壓Oracle軟件安裝包
需要按順序解壓1,2安裝包:
cd?/soft unzip?-q?p13390677_112040_Linux-x86-64_1of7.zip unzip?-q?p13390677_112040_Linux-x86-64_2of7.zip##授權(quán)/soft給oracle讀寫權(quán)限 chown?-R?oracle:oinstall?/soft3、安裝VNC軟件
yum?install?-y?tigervnc*su?-?oracle vncserver ##輸入密碼4、連接VNC遠(yuǎn)程工具或者直接打開虛擬機圖形化界面
右鍵打開終端工具:
進(jìn)入/soft/database開始安裝Oracle軟件:
./runInstaller?-jreLoc?/etc/alternatives/jre_1.8.0上傳pdksh-5.2.14-37.el5.x86_64.rpm依賴包,安裝:
rpm?-e?ksh-20120801-142.el7.x86_64 rpm?-ivh?pdksh-5.2.14-37.el5.x86_64.rpm點擊再次檢查,忽略swap警告:
解決方案:
su?-?oracle sed?-i?'s/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1?-lnnz11/g'?$ORACLE_HOME/sysman/lib/ins_emagent.mk執(zhí)行完點擊retry重試:
root用戶下執(zhí)行腳本:
/u01/app/oraInventory/orainstRoot.sh /u01/app/oracle/product/11.2.0/db/root.shreboot重啟主機。
四、創(chuàng)建數(shù)據(jù)庫
1、打開監(jiān)聽
su?-?oracle lsnrctl?start lsnrctl?status2、連接VNC遠(yuǎn)程工具或者直接打開虛擬機圖形化界面
dbca這里填寫數(shù)據(jù)庫實例名稱和dbname,本次填寫orcl。
不安裝EM工具。
這里輸入SYS和SYSTEM用戶的密碼,需要記住。
這里選擇前面建好的/oradata目錄用來存放數(shù)據(jù)文件。
不開啟閃回日志,不開啟歸檔日志,可以建好庫之后再手動修改。
數(shù)據(jù)庫內(nèi)存分配,選擇手動分配,占用物理內(nèi)存70%左右。
block_size根據(jù)實際情況選擇,一旦建庫無法修改,默認(rèn)8K。
字符集根據(jù)需要進(jìn)行選擇,默認(rèn)AL32UTF8。
等待建庫完成即可。
五、連接數(shù)據(jù)庫
確保監(jiān)聽正常啟動,并監(jiān)聽數(shù)據(jù)庫
1、通過數(shù)據(jù)庫主機連接
su?-?oracle sqlplus?/?as?sysdba select?sysdate?from?dual;##創(chuàng)建數(shù)據(jù)庫用戶 create?user?test?identified?by?test; grant?dba?to?test; conn?test/test##創(chuàng)建表 create?table?test?(id?number?not?null,name?varchar2(100)); insert?into?test?values?(1,'lucifer'); commit;2、通過PL/SQL連接test用戶
最后
本文是讀者:三笠在 CSDN 平臺創(chuàng)作的一篇文章,寫的非常詳細(xì),歡迎大家關(guān)注。
博客地址:https://blog.csdn.net/m0_50546016(點擊文末左側(cè)的閱讀原文可直達(dá),或 PC 端訪問)
原創(chuàng)不易,如果你覺得這篇文章對你有點用的話,麻煩你為本文點個贊、在看、留言或轉(zhuǎn)發(fā)一下,因為這將是我輸出更多優(yōu)質(zhì)文章的動力,感謝!我們下期再見!
往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機器學(xué)習(xí)在線手冊深度學(xué)習(xí)筆記專輯《統(tǒng)計學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載機器學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)專輯溫州大學(xué)《機器學(xué)習(xí)課程》視頻 本站qq群851320808,加入微信群請掃碼:總結(jié)
以上是生活随笔為你收集整理的【Linux】手把手教你在 Linux 环境下部署 Oracle 数据库!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度技术win11 64位正版系统v20
- 下一篇: linux 其他常用命令