JVM進階(七)——從GC日志分析堆內存
1751
2025-03-31
前言
一、安裝前配置
1 Linux主機安裝(rac01&rac02)
2 配置yum源并安裝依賴包(rac01&rac02)
3 網絡配置
4 存儲配置(rac01&rac02)
5 hosts文件配置(rac01&rac02)
6 防火墻配置(rac01&rac02)
7 SELinux配置(rac01&rac02)
8 時間同步配置(rac01&rac02)
9 關閉透明大頁和NUMA(rac01&rac02)
10 avahi-daemon配置(rac01&rac02)
11 系統參數配置(rac01&rac02)
12 系統資源限制配置(rac01&rac02)
13 用戶及組、目錄創建(rac01&rac02)
14 環境變量配置(rac01&rac02)
15 安裝介質上傳解壓(rac01)
前言
一、安裝前配置
1 Linux主機安裝(rac01&rac02)
2 配置yum源并安裝依賴包(rac01&rac02)
3 網絡配置
4 存儲配置(rac01&rac02)
5 hosts文件配置(rac01&rac02)
6 防火墻配置(rac01&rac02)
7 SELinux配置(rac01&rac02)
8 時間同步配置(rac01&rac02)
9 關閉透明大頁和NUMA(rac01&rac02)
10 avahi-daemon配置(rac01&rac02)
11 系統參數配置(rac01&rac02)
12 系統資源限制配置(rac01&rac02)
13 用戶及組、目錄創建(rac01&rac02)
14 環境變量配置(rac01&rac02)
15 安裝介質上傳解壓(rac01)
二、安裝Grid軟件(rac01)
三、安裝Oracle軟件
注意:如果需要安裝PSU補丁,建議在建庫之前安裝。
四、創建數據庫實例
五、數據庫優化配置(rac01)
1 開啟數據庫歸檔模式
2 配置定期刪除歸檔計劃任務
3 設置密碼永不過期
詳細可參考:Oracle設置用戶密碼永不過期
在了解了如何一步步安裝Oracle RAC之后,是否有想過通過腳本實現自動化安裝呢?如果有,請關注專欄:Oracle腳本一鍵安裝
前言
Oracle RAC是什么?
Oracle Real Application Clusters (RAC) 允許客戶跨多臺服務器運行單個 Oracle 數據庫,以最大限度地提高可用性并實現水平可擴展性,同時訪問共享存儲。
連接到 Oracle RAC 實例的用戶會話可以在中斷期間進行故障轉移并安全地重放更改,而無需對最終用戶應用程序進行任何更改,從而對最終用戶隱藏了中斷的影響。
Oracle RAC 運行于集群之上,為 Oracle 數據庫提供了最高級別的可用性、可伸縮性和低成本計算能力。
如果集群內的一個節點發生故障,Oracle 將可以繼續在其余的節點上運行。
Oracle 的主要創新是一項稱為高速緩存合并的技術。
高速緩存合并使得集群中的節點可以通過高速集群互聯高效地同步其內存高速緩存,從而最大限度地低降低磁盤 I/O。
高速緩存最重要的優勢在于它能夠使集群中所有節點的磁盤共享對所有數據的訪問,數據無需在節點間進行分區。
特點:
多臺互連計算機組成,使用共享存儲。
用戶無感知,對于最終用戶和應用程序而言,它們似乎是一臺服務器。
高可用,只要有一個節點存活,就能正常對外提供服務,避免單點故障。
高性能,多節點負載均衡。
易伸縮,可以容易地添加、刪除節點,以滿足系統自身的調整。
那么,如何部署一套RAC數據庫環境呢?
大致步驟如下:
安裝兩臺redhat7.3版本Linux系統(物理內存至少2G)
網絡配置(雙網卡,準備IP:Public IP,Virtual IP,Private IP,Scan IP)
存儲配置(6塊5G共享盤做ASM盤,根目錄留50G用于安裝grid和oracle)
預安裝準備(系統參數/etc/sysctl.conf修改,防火墻selinux關閉,ntpd時鐘定時同步,yum源配置安裝
用戶組及用戶、目錄新建,環境變量配置,用戶資源限制/etc/security/limits.conf配置,/etc/pam.d/login修改pam_limits.so等等)
安裝Grid軟件
安裝Oracle軟件并建庫
修改數據庫內存配置,密碼不過期,開啟歸檔,布置歸檔定時刪除腳本,布置rman備份機制)
本文主機配置為 Redhat 7.3 x86_64,內存2G,硬盤100G ,雙網卡 ,iscsi共享存儲盤5G*6
一、安裝前配置
注意:以下標題中(rac01&rac02)代表節點一和節點二都需要執行,(rac01)代表只需要節點一執行。
1 Linux主機安裝(rac01&rac02)
安裝Linux服務器可選擇:Centos,Redhat,Oracle Linux。
RedHat下載:https://developers.redhat.com/products/rhel/download
OracleLinux下載:https://yum.oracle.com/oracle-linux-isos.html
Centos下載:https://vault.centos.org/
Linux系統安裝可參考:
Windows主機如何玩轉虛擬機Linux安裝,只需參透本篇文章
教你三步在MacOS上安裝Linux系統
2 配置yum源并安裝依賴包(rac01&rac02)
Linux遠程連接工具
本文將使用XShell和Xftp工具,安裝包可以在官網下載,也可私信博主獲取。
其他工具也可以,比如:putty,SecureCRT 等等工具。
注意:需要提前掛載系統鏡像iso。
Parallels Desktop掛載Linux主機鏡像:
VMware Workstation掛載Linux鏡像:
安裝依賴包:
##掛載鏡像源 mount /dev/cdrom /mnt ##配置yum源 cat <
3 網絡配置
rac01:
##配置Public IP nmcli connection modify eth0 ipv4.addresses 192.168.56.10/24 ipv4.gateway 192.168.56.1 ipv4.method manual autoconnect yes ##配置Private IP nmcli connection modify eth1 ipv4.addresses 172.0.0.1/24 ipv4.method manual autoconnect yes ##生效 nmcli connection up eth0 nmcli connection up eth1
rac02:
##配置Public IP nmcli connection modify eth0 ipv4.addresses 192.168.56.11/24 ipv4.gateway 192.168.56.1 ipv4.method manual autoconnect yes ##配置Private IP nmcli connection modify eth1 ipv4.addresses 172.0.0.2/24 ipv4.method manual autoconnect yes ##生效 nmcli connection up eth0 nmcli connection up eth1
4 存儲配置(rac01&rac02)
ISCSI共享存儲配置可參考:
一步步教你Windows配置ISCSI共享存儲
##iscsi識別共享存儲 yum install -y iscsi-initiator-utils* ##輸出targetname,10.211.55.18為iscsi共享存儲設備IP地址 iscsiadm -m discovery -t st -p 10.211.55.18 ##連接共享存儲 iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:10.211.55.18-lucifer -p 10.211.55.18 -l lsblk ##安裝multipath yum install -y device-mapper* mpathconf --enable --with_multipathd y ##查看共享盤的scsi_id /usr/lib/udev/scsi_id -g -u /dev/sdb /usr/lib/udev/scsi_id -g -u /dev/sdc /usr/lib/udev/scsi_id -g -u /dev/sdd /usr/lib/udev/scsi_id -g -u /dev/sde /usr/lib/udev/scsi_id -g -u /dev/sdf /usr/lib/udev/scsi_id -g -u /dev/sdg ##配置multipath,wwid的值為上面獲取的scsi_id,alias可自定義,這里配置3塊OCR盤,3塊DATA盤 cat < 5 hosts文件配置(rac01&rac02) cat < 6 防火墻配置(rac01&rac02) systemctl stop firewalld.service systemctl disable firewalld.service systemctl status firewalld.service 7 SELinux配置(rac01&rac02) ##重啟后生效 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config setenforce 0 ##重啟后檢查 getenforce 8 時間同步配置(rac01&rac02) ##禁用chronyd yum install -y chrony timedatectl set-timezone Asia/Shanghai systemctl stop chronyd.service systemctl disable chronyd.service ##禁用ntpd yum install -y ntpdate ##10.211.55.200為時間服務器IP,每天12點同步系統時間 cat < 9 關閉透明大頁和NUMA(rac01&rac02) ##關閉透明大頁和numa,重啟生效 sed -i 's/quiet/quiet transparent_hugepage=never numa=off/' /etc/default/grub grub2-mkconfig -o /boot/grub2/grub.cfg ##重啟后檢查是否生效 cat /sys/kernel/mm/transparent_hugepage/enabled cat /proc/cmdline 10 avahi-daemon配置(rac01&rac02) yum install -y avahi* systemctl stop avahi-daemon.socket systemctl stop avahi-daemon.service pgrep -f avahi-daemon | awk '{print "kill -9 "$2}' ##配置NOZEROCONF=yes cat < 11 系統參數配置(rac01&rac02) ##配置參數文件 memTotal=$(grep MemTotal /proc/meminfo | awk '{print $2}') totalMemory=$((memTotal / 2048)) shmall=$((memTotal / 4)) if [ $shmall -lt 2097152 ]; then shmall=2097152 fi shmmax=$((memTotal * 1024 - 1)) if [ "$shmmax" -lt 4294967295 ]; then shmmax=4294967295 fi cat < 12 系統資源限制配置(rac01&rac02) ##配置limits.conf cat < 13 用戶及組、目錄創建(rac01&rac02) ##組創建 /usr/sbin/groupadd -g 54321 oinstall /usr/sbin/groupadd -g 54322 dba /usr/sbin/groupadd -g 54323 oper /usr/sbin/groupadd -g 54324 backupdba /usr/sbin/groupadd -g 54325 dgdba /usr/sbin/groupadd -g 54326 kmdba /usr/sbin/groupadd -g 54327 asmdba /usr/sbin/groupadd -g 54328 asmoper /usr/sbin/groupadd -g 54329 asmadmin /usr/sbin/groupadd -g 54330 racdba ##用戶創建 /usr/sbin/useradd -u 11012 -g oinstall -G asmadmin,asmdba,asmoper,dba,racdba,oper grid /usr/sbin/useradd -u 54321 -g oinstall -G asmdba,dba,backupdba,dgdba,kmdba,racdba,oper oracle ##修改用戶密碼為oracle echo "oracle" |passwd oracle --stdin echo "oracle" |passwd grid --stdin ##創建軟件目錄 mkdir -p /u01/app/11.2.0/grid mkdir -p /u01/app/grid mkdir -p /u01/app/oracle/product/11.2.0/db mkdir -p /u01/app/oraInventory mkdir -p /backup mkdir -p /home/oracle/scripts chown -R oracle:oinstall /backup chown -R oracle:oinstall /home/oracle/scripts chown -R grid:oinstall /u01 chown -R grid:oinstall /u01/app/grid chown -R grid:oinstall /u01/app/11.2.0/grid chown -R grid:oinstall /u01/app/oraInventory chown -R oracle:oinstall /u01/app/oracle chmod -R 775 /u01 14 環境變量配置(rac01&rac02) grid用戶: cat < 注意:每個節點的ORACLE_SID不一樣(+ASM1/+ASM2),自行修改。 oracle用戶: cat < 注意:每個節點的ORACLE_HOSTNAME(rac01/rac02)和ORACLE_SID(orcl1/orcl2)不一樣,自行修改。 15 安裝介質上傳解壓(rac01) ##創建安裝介質存放目錄 mkdir /soft ##上傳安裝介質到/soft目錄 p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip p13390677_112040_Linux-x86-64_3of7.zip ##解壓安裝介質 cd /soft unzip -q p13390677_112040_Linux-x86-64_1of7.zip unzip -q p13390677_112040_Linux-x86-64_2of7.zip unzip -q p13390677_112040_Linux-x86-64_3of7.zip ##授權目錄 chown -R oracle:oinstall /soft/database chown -R grid:oinstall /soft/grid ##root用戶下,cvuqdisk安裝(rac01&rac02) cd /soft/grid/rpm rpm -ivh cvuqdisk-1.0.9-1.rpm ##傳輸到節點二安裝 scp cvuqdisk-1.0.9-1.rpm rac2:/tmp rpm -ivh /tmp/cvuqdisk-1.0.9-1.rpm 注意:只需要在節點一上傳解壓即可 至此,準備工作已經完成。 二、安裝Grid軟件(rac01) 配置grid用戶vnc圖形界面 ##root用戶下切換到grid用戶 su - grid ##執行vncserver,按提示輸入密碼即可 vncserver ##在vnc客戶端界面輸入192.168.56.10:1,輸入剛才輸入的密碼即可連接。 右鍵打開終端: 開始安裝: ##應用環境變量 source ~/.bash_profile ##進入安裝目錄 cd /soft/grid ##執行安裝程序開始安裝,加上jar包防止彈窗不顯示問題 ./runInstaller -jreLoc /etc/alternatives/jre_1.8.0 跳過版本更新: 選擇集群模式安裝: 自定義模式安裝: 選擇語言: 修改集群名稱和scan名稱: 注意:scan名稱必須與/etc/hosts中配置的scan名稱保持一致。 配置grid用戶節點間互信: 注意:點擊Add添加節點二,pubile hostname為rac02, virtual hostname為rac02-vip,輸入密碼:oracle,點擊setup開始互信。 點擊Test測試互信: 確認網絡信息是否正確: 選擇ASM模式安裝: 填寫OCR裁決盤信息: 注意:OCR裁決盤這里冗余模式External,Normal,High對應磁盤數量為1,3,5。 填寫ASM實例SYS用戶密碼: 不使用IPMI: 選擇用戶組,默認即可: 選擇grid安裝目錄,默認即可: 安裝前預檢查: 開始執行安裝: 執行root腳本:(rac01&rac02) 注意:Linux7安裝11204版本,執行root.sh時存在BUG,需要在執行root.sh之前安裝補丁18370031來修復。 18370031補丁安裝:(rac01&rac02) ##上傳補丁包 p18370031_112040_Linux-x86-64.zip ##解壓補丁包 cd /soft unzip -q p18370031_112040_Linux-x86-64.zip ##授權補丁包 chown -R grid:oinstall /soft/18370031 ##開始安裝補丁,兩個節點都需要執行 opatch napply -oh $ORACLE_HOME -local /soft/18370031 -silent 開始執行root腳本:(rac01&rac02) ##root用戶下執行 /u01/app/oraInventory/orainstRoot.sh /u01/app/11.2.0/grid/root.sh 執行過程太長,不做記錄; 繼續安裝: 沒有配置DNS解析,忽略即可。 Grid集群軟件安裝成功: 添加ASM DATA數據盤: 1、靜默創建 asmca -silent -sysAsmPassword oracle -asmsnmpPassword oracle -oui_internal -configureASM -diskString '/dev/asm*' -diskGroupName DATA -diskList /dev/asm_data_1,/dev/asm_data_2,/dev/asm_data_3 -redundancy NORMAL -au_size 1 2、圖形化創建 asmca 點擊create創建DATA: 點擊OK創建DATA: 建議重啟兩臺主機,檢查重啟后Grid集群是否正常運行。 三、安裝Oracle軟件 配置oracle用戶vnc圖形界面 ##root用戶下切換到grid用戶 su - oracle ##執行vncserver,按提示輸入密碼即可 vncserver ##在vnc客戶端界面輸入192.168.56.10:2,輸入剛才輸入的密碼即可連接。 右鍵打開終端: 開始安裝: ##應用環境變量 source ~/.bash_profile ##進入安裝目錄 cd /soft/database ##執行安裝程序開始安裝,加上jar包防止彈窗不顯示問題 ./runInstaller -jreLoc /etc/alternatives/jre_1.8.0 不接受Oracle更新郵件: 跳過軟件更新: 選擇僅安裝oracle軟件: 配置oracle用戶互信: 輸入密碼,點擊setup開始,成功之后點擊Test。 選擇語言: 選擇企業版安裝: 檢查用戶組,默認即可: 安裝前預檢查: 開始安裝Oracle軟件: 報錯解決: 注意:Linux7安裝11204版本,oracle軟件安裝過程中報錯:ins_emagent.mk,需要修改文件/sysman/lib/ins_emagent.mk來修復。 兩個節點都執行以下命令,然后點擊繼續:(rac01&rac02) sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' "$ORACLE_HOME/sysman/lib/ins_emagent.mk 執行root.sh腳本:(rac01&rac02) 點擊下一步,安裝成功: 至此,Oracle軟件已成功安裝。 安裝補丁語法如下:(rac01&rac02) opatch auto /soft/31718723 -oh $ORACLE_HOME 四、創建數據庫實例 dbca 選擇rac模式: 選擇創建數據庫: 選擇自定義模板: 填寫數據庫實例ID: 關閉EM,保留自動化系統JOB: 填寫SYS密碼,需要記住: 選擇存放數據的ASM盤:DATA 關閉閃回區,建庫可隨時開啟: 選擇自定義組件,默認即可: 配置初始化參數: 注意:如果使用自動管理內存,建議使用70%物理內存,前提是/etc/shm要和物理內存一樣大。 block默認8K,進程數增加到1500: 選擇數據庫字符集,默認AL32UTF8: 開始建庫: 數據庫創建成功: 至此,數據庫實例創建完成。 五、數據庫優化配置(rac01) 1 開啟數據庫歸檔模式 ##關閉數據庫實例 srvctl stop database -d orcl ##開啟單個節點到mount模式 srvctl start instance -d orcl -i orcl1 -o mount ##開啟歸檔 alter database archivelog; ##設置歸檔路徑 ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=+DATA'; ##重啟數據庫實例 srvctl stop instance -d orcl -i orcl1 srvctl start database -d orcl ##檢查歸檔 archive log list 2 配置定期刪除歸檔計劃任務 ##進入oracle用戶 su - oracle ##寫入腳本 { echo '#!/bin/bash' echo 'source ~/.bash_profile' echo 'deltime=`date +"20%y%m%d%H%M%S"`' echo "rman target / nocatalog msglog /home/oracle/scripts/del_arch_\${deltime}.log< 3 設置密碼永不過期 ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 本次分享到此結束啦~ 如果覺得文章對你有幫助, 、、關注、評論 ,一鍵四連支持,你的支持就是我創作最大的動力。 【綻放吧!數據庫】有獎征文火熱進行中:https://bbs.huaweicloud.com/blogs/285617 Linux Oracle 數據庫
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。