1. 程式人生 > 其它 >Oracle DBA-01_Oracle 11G R2 for Solaris 10(Spac)安裝實施報告

Oracle DBA-01_Oracle 11G R2 for Solaris 10(Spac)安裝實施報告

1 系統環境需求

1.1 安裝前的系統環境準備

  • 檢查Solaris伺服器安裝完成並打上最新的補丁集
  • 網路環境連通並除錯正常。
  • 磁碟陣列安裝完成並按ORACLE系統進行磁碟劃分。

1.2 硬體要求

  • 記憶體:> 2G。
  • SWAP區:2G。通常等於實體記憶體,最低不少於1G。
  • 硬碟容量:資料庫軟體 > 4G。資料庫 > 2G。
  • /tmp:臨時目錄空間大於500M。

1.3 軟體要求

  • 作業系統及Patches:

Solaris 10補丁

SUNWarc  SUNWbtool SUNWhea SUNWlibC SUNWlibm SUNWlibms SUNWmfrun SUNWsprot SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt SUNWcsl SUNWxcu4

2 準備工作

2.1 檢查作業系統執行環境

  • 檢查是否包含所需Patch。命令:
pkginfo -i SUNWarc  SUNWbtool SUNWhea SUNWlibC SUNWlibm SUNWlibms SUNWmfrun SUNWsprot SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt SUNWcsl SUNWxcu4
  • 檢查作業系統的版本
# uname -r
  • 檢查實際可用記憶體,命令:
# /usr/sbin/prtconf | grep "Memory size"
  • 檢查交換區大小。命令:
# /usr/sbin/swap -s
  • 檢查檔案系統可用空間和臨時目錄/tmp可用空間。命令:
# df -h /tmp

# df -h
  • 檢查作業系統核心架構
# /bin/isainfo -kv
  • 檢查網路
# hostname
# ifconfig –a
# ping

伺服器的hosts檔案內容:

#public IP
172.16.10.1   BXDB1
172.16.10.2   BXDB2

#private IP
172.16.1.3    BXDB1-priv
172.16.1.4    BXDB2-priv

#VIP
172.16.10.7    BXDB1-vip
172.16.10.8    BXDB2-vip

#SCAN
172.16.10.9    BXDB-scan
  • 檢查節點時間保證同步
# date

2.2 使用者的準備工作(BXDB1和BXDB2相同)

  • 修改UDP引數
$ vi /etc/rc2.d/S99ndd

新增

ndd -set /dev/udp udp_xmit_hiwat 65536
ndd -set /dev/udp udp_recv_hiwat 65536
  • 建立所需的組
/usr/sbin/groupadd -g 1000 oinstall
/usr/sbin/groupadd -g 1100 asmadmin
/usr/sbin/groupadd -g 1200 dba
/usr/sbin/groupadd -g 1201 oper
/usr/sbin/groupadd -g 1300 asmdba
/usr/sbin/groupadd -g 1301 asmoper
  • 建立所需的使用者
# mkdir -p /export/home/grid
# useradd -u 1100 -g oinstall -G dba,asmadmin,asmdba,asmoper -d /export/home/grid -s /usr/bin/bash grid

# mkdir -p /export/home/oracle
# useradd -u 1101 -g oinstall -G asmdba,dba,oper -d /export/home/oracle -s /usr/bin/bash  oracle

修改新建使用者的密碼 密碼1qaz.oracle

# passwd grid
# passwd oracle
  • 修改環境變數

Grid使用者

# su – grid
$ vi .profile

新增

# ORACLE_SID (節點2上要寫ORACLE_SID=+ASM2)

ORACLE_SID=+ASM1; export ORACLE_SID
ORACLE_BASE=/oracle/app/grid; export ORACLE_BASE
ORACLE_HOME=/oracle/app/11.2.0/grid; export ORACLE_HOME
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH
NLS_LANG=AMERICAN_AMERICA.UTF8;export NLS_LANG
umask 022

oracle使用者

# su – oracle
$ vi .profile

新增

# ORACLE_SID (節點2上要寫ORACLE_SID=boss2)

ORACLE_SID=boss1; export ORACLE_SID
ORACLE_BASE=/oracle/app/oracle; export ORACLE_BASE
ORACLE_HOME=/oracle/app/oracle/product/11.2.0/dbhome_1; export ORACLE_HOME
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH
NLS_LANG=AMERICAN_AMERICA.UTF8;export NLS_LANG
umask 022
  • 修改系統引數(root使用者)
# vi /etc/system

新增

set noexec_user_stack=1
set semsys:seminfo_semmni=100
set semsys:seminfo_semmns=1024
set semsys:seminfo_semmsl=256
set semsys:seminfo_semvmx=23767
set shmsys:shminfo_shmmax=107374182400
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmset=10

執行

# projmod -sK "project.max-shm-memory=(privileged,100G,deny)" default

重啟伺服器

  • 配置等效性

以下是grid使用者,oracle使用者配置方式一樣

$ chmod 755 /export/home (該目錄許可權必須是755)

◆以下兩個RAC節點都執行

-bash-3.00$ mkdir -p ~/.ssh
-bash-3.00$ chmod 700 ~/.ssh
-bash-3.00$ /usr/bin/ssh-keygen -t rsa

提示輸入輸入密碼時,保持為空回車即可,使用空密碼操作簡單一些。

◆以下只在RAC節點1執行

-bash-3.00$ touch ~/.ssh/authorized_keys
-bash-3.00$ ssh BXDB1 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
-bash-3.00$ ssh BXDB2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
-bash-3.00$ scp ~/.ssh/authorized_keys BXDB2:.ssh/authorized_keys

◆以下兩個RAC節點都執行

-bash-3.00$ chmod 600 ~/.ssh/authorized_keys

測試等效性,不提示輸入密碼即配置成功(第一次要求輸入密碼是正常的)

ssh BXDB1 "date;hostname"
ssh BXDB2 "date;hostname"
  • 配置裸盤(root使用者)
# format
AVAILABLE DISK SELECTIONS:
0. c0t5000CCA03C70E8B4d0 <HITACHI-H106030SDSUN300G-A2B0 cyl 46873 alt 2 hd 20 sec 625>  solaris
scsi_vhci/disk@g5000cca03c70e8b4
1. c0t5000CCA03C709A38d0 <HITACHI-H106030SDSUN300G-A2B0 cyl 46873 alt 2 hd 20 sec 625>  solaris
scsi_vhci/disk@g5000cca03c709a38
2. c0t600000E00D11000000111430000D0000d0 <FUJITSU-ETERNUS_DXL-0000 cyl 254 alt 2 hd 64 sec 256>
scsi_vhci/ssd@g600000e00d11000000111430000d0000
3. c0t600000E00D1100000011143000040000d0 <FUJITSU-ETERNUS_DXL-0000-409.00GB>
scsi_vhci/ssd@g600000e00d1100000011143000040000
4. c0t600000E00D1100000011143000060000d0 <FUJITSU-ETERNUS_DXL-0000-409.00GB>
scsi_vhci/ssd@g600000e00d1100000011143000060000
5. c0t600000E00D1100000011143000070000d0 <FUJITSU-ETERNUS_DXL-0000-409.00GB>
scsi_vhci/ssd@g600000e00d1100000011143000070000
6. c0t600000E00D1100000011143000050000d0 <FUJITSU-ETERNUS_DXL-0000-409.00GB>
scsi_vhci/ssd@g600000e00d1100000011143000050000
7. c0t600000E00D1100000011143000030000d0 <FUJITSU-ETERNUS_DXL-0000 cyl 58878 alt 2 hd 128 sec 256>
scsi_vhci/ssd@g600000e00d1100000011143000030000
8. c0t600000E00D1100000011143000020000d0 <FUJITSU-ETERNUS_DXL-0000 cyl 58878 alt 2 hd 128 sec 256>
scsi_vhci/ssd@g600000e00d1100000011143000020000
9. c0t600000E00D1100000011143000010000d0 <FUJITSU-ETERNUS_DXL-0000 cyl 58878 alt 2 hd 128 sec 256>
scsi_vhci/ssd@g600000e00d1100000011143000010000
10. c0t600000E00D1100000011143000000000d0 <FUJITSU-ETERNUS_DXL-0000 cyl 58878 alt 2 hd 128 sec 256>
scsi_vhci/ssd@g600000e00d1100000011143000000000
Specify disk (enter its number)[7]: 2
selecting c0t600000E00D11000000111430000D0000d0
[disk formatted]
format> p

PARTITION MENU:
0    - change `0' partition
1    - change `1' partition
2    - change `2' partition
3    - change `3' partition
4    - change `4' partition
5    - change `5' partition
6    - change `6' partition
7    - change `7' partition
select - select a predefined table
modify - modify a predefined partition table
name  - name the current table
print  - display the current table
label  - write partition map and label to the disk
!<cmd> - execute <cmd>, then return
quit
partition> 0
Part    Tag   Flag   Cylinders    Size       Blocks
0    root   wm    0        0     (0/0/0)     0

Enter partition id tag[root]:
Enter partition permission flags[wm]:
Enter new starting cyl[0]:
Enter partition size[0b, 0c, 0e, 0.00mb, 0.00gb]:
partition> p
Current partition table (unnamed):
Total disk cylinders available: 254 + 2 (reserved cylinders)

Part    Tag   Flag   Cylinders    Size       Blocks
0 unassigned   wm    0        0     (0/0/0)     0
1    swap   wu    0        0     (0/0/0)     0
2   backup   wu    0 - 253     1.98GB   (254/0/0) 4161536
3 unassigned   wm    0        0     (0/0/0)     0
4 unassigned   wm    0        0     (0/0/0)     0
5 unassigned   wm    0        0     (0/0/0)     0
6     usr   wm    0 - 253     1.98GB   (254/0/0) 4161536
7 unassigned   wm    0        0     (0/0/0)     0

partition> 6
Part    Tag   Flag   Cylinders    Size       Blocks
6     usr   wm    0 - 253     1.98GB   (254/0/0) 4161536

Enter partition id tag[usr]:
Enter partition permission flags[wm]:
Enter new starting cyl[0]: 3
Enter partition size[4112384b, 251c, 253e, 2008.00mb, 1.96gb]:
partition> label
Ready to label disk, continue? y

partition> p
Current partition table (unnamed):
Total disk cylinders available: 254 + 2 (reserved cylinders)

Part    Tag   Flag   Cylinders    Size       Blocks
0 unassigned   wm    0        0     (0/0/0)     0
1    swap   wu    0        0     (0/0/0)     0
2   backup   wu    0 - 253     1.98GB   (254/0/0) 4161536
3 unassigned   wm    0        0     (0/0/0)     0
4 unassigned   wm    0        0     (0/0/0)     0
5 unassigned   wm    0        0     (0/0/0)     0
6     usr   wm    3 - 253     1.96GB   (251/0/0) 4112384
7 unassigned   wm    0        0     (0/0/0)     0

partition> quit

依次將要使用的盤全部格式化分割槽完畢

  • 修改磁碟許可權

在劃分磁碟時若選擇了將空間分配給n號片,對應的碟片就是sn,例如磁碟是c0t600000E00D11000000111430000D0000d0,空間分配到了6號片,最終我們使用的磁碟檔名就是c0t600000E00D11000000111430000D0000d0s6

chown grid:asmadmin /dev/rdsk/c0t600000E00D11000000111430000D0000d0s6
chown grid:asmadmin /dev/rdsk/c0t600000E00D1100000011143000030000d0s6
chown grid:asmadmin /dev/rdsk/c0t600000E00D1100000011143000020000d0s6
chown grid:asmadmin /dev/rdsk/c0t600000E00D1100000011143000010000d0s6
chown grid:asmadmin /dev/rdsk/c0t600000E00D1100000011143000000000d0s6

chmod 660 /dev/rdsk/c0t600000E00D11000000111430000D0000d0s6
chmod 660 /dev/rdsk/c0t600000E00D1100000011143000030000d0s6
chmod 660 /dev/rdsk/c0t600000E00D1100000011143000020000d0s6
chmod 660 /dev/rdsk/c0t600000E00D1100000011143000010000d0s6
chmod 660 /dev/rdsk/c0t600000E00D1100000011143000000000d0s6

3 安裝

3.1 安裝crs軟體(BXDB1上)

  • 以 grid 使用者執行安裝程式

# xhost +

# 解壓安裝軟體

# su – grid

$ export DISPLAY=客戶機ip:0.0

$ ./runInstaller

選擇第一項,next

選擇第二項高階安裝,next

新增中文語言

填上SCAN資訊,其中Cluster name自定義,SCAN name是hosts檔案中配置

新增節點

點選ssh connectivity配置ssh等效性

根據hosts檔案的配置選擇網絡卡使用者

選擇將OCR檔案放在ASM中

建立ASM磁碟組,新增之前為OCR準備的裸盤檔案,冗餘方式選擇external

為ASM帳號設定密碼1qaz.oracle,若提示密碼不夠安全,點選yes即可

選擇使用者組

選擇安裝路徑

選擇inventory目錄,預設即可

開始檢查系統環境是否滿足

提示以下條件不滿足,這兩個錯誤可以忽略

確認無誤開始安裝

安裝完畢按提示在兩個節點分別以root使用者執行指令碼

安裝完畢後在檢驗cluster狀態時報錯,這是因為我們沒有配置DNS伺服器來分配VIP和SCANip,而是通過手動分配,該錯誤可以忽略,至此cluster軟體安裝完畢

3.2 安裝database軟體(BXDB1上)

  • 以 grid 使用者執行安裝程式

# xhost +

# 解壓安裝軟體

# su – grid

$ export DISPLAY=客戶機ip:0.0

$ ./runInstaller

不要選擇接收安全補丁資訊,若出現提示選yes即可

跳過軟體更新

選擇只安裝資料庫軟體

選擇叢集模式安裝

點選ssh connectivity配置使用者等效性

新增中文語言

選擇安裝企業版

選擇安裝目錄,由於根目錄屬於grid使用者,因此在兩個節點都手動建好該目錄,並將許可權和屬組賦給oracle使用者

mkdir -p /oracle/app/oracle

chown oracle:oinstall /oracle/app/oracle

選擇安裝軟體組

檢查系統環境是否滿足安裝要求

以下錯誤可以忽略

檢查無誤開始安裝

安裝完畢,按提示以root使用者在兩個節點執行指令碼即可

執行相應指令碼完成安裝

3.3 建立資料庫

  • 以 grid 使用者建立ASM磁碟組

# xhost +

# su – grid

$ export DISPLAY=客戶機ip:0.0

$ asmca

按照下圖建立磁碟組,其中CRS是在安裝CRS軟體時已經建立的

  • 以 oracle 使用者建立叢集資料庫

# xhost +

# su – oracle

$ export DISPLAY=客戶機ip:0.0

$ dbca

選擇叢集資料庫

選擇建立資料庫

選擇自定義資料庫

根據實際情況輸入資料庫名,勾選所有節點

選擇配置EM

為使用者配置密碼,這裡密碼全部為1qaz.oracle,若提示密碼不夠安全,點選yes即可

選擇資料檔案儲存方式,選擇ASM,並填入之前建好的磁碟組名,會要求輸入ASMSNMP密碼,輸入1qaz.oracle即可

配置快速恢復區,選擇之前建好的ASM磁碟組,填入大小,這裡是900g,勾選啟用歸檔

去除不必要的元件

配置記憶體大小,勾選自動記憶體管理,該值可以在建完庫後根據實際情況修改

配置塊大小和連線數

配置字符集,選擇AL32UTF8

按照預設選擇專有模式即可

配置資料檔案,每個節點分配4組,將redo大小改為512M

確認無誤開始建庫

開始建庫

至此資料庫安裝完畢

4 常用維護命令

4.1 啟動和關閉叢集

(1) 啟動叢集件和叢集資料庫

集群系統預設是自動啟動的,手工啟動叢集件的命令是:

-bash-3.00# cd /u01/app/11.2.0/grid/bin (root使用者)

-bash-3.00# ./crsctl start cluster

也可以以下命令(在11.2版本中不建議使用),以grid使用者執行

-bash-3.00# su - grid

-bash-3.00$ crs_start -all

啟動叢集資料庫

-bash-3.00$ su - oracle

-bash-3.00$ srvctl start database -d racdb (啟動全部例項節點)

-bash-3.00$ srvctl start instance -d racdb -n racdb1 (節點1上啟動資料庫例項)

-bash-3.00$ srvctl start instance -d racdb -n racdb2 (節點2上啟動資料庫例項)

(2) 關閉RAC叢集資料庫和叢集件

先關閉叢集資料庫

-bash-3.00$ su - oracle

-bash-3.00$ srvctl stop database -d racdb

再關閉叢集件(root使用者)

-bash-3.00$ su -

-bash-3.00# cd /u01/app/11.2.0/grid/bin

-bash-3.00# ./crsctl stop cluster

4.2 RAC常用命令

集群系統的維護主要使用srvctl命令就可以完成,我們可以使用幫助命令來檢視其使用,在oracle使用者下執行 srvctl -help 來檢視幫助資訊

-bash-3.00# su - oracle

-bash-3.00$ srvctl -help

Usage: srvctl

本文來自部落格園,作者:{超哥},qq:{40671852} ,微信:{ysc13803862469},微信公眾號:{超哥的IT私房菜},轉載請註明原文連結:https://www.cnblogs.com/shuchaoyang/p/15013202.html