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

img

img

選擇第二項高級安裝,next

img

添加中文語言

img

填上SCAN信息,其中Cluster name自定義,SCAN name是hosts文件中配置

img

添加節點

img

點擊ssh connectivity配置ssh等效性

img

根據hosts文件的配置選擇網卡用戶

img

選擇將OCR文件放在ASM中

img

建立ASM磁盤組,添加之前為OCR准備的裸盤文件,冗余方式選擇external

img

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

img

選擇用戶組

img

選擇安裝路徑

img

選擇inventory目錄,默認即可

img

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

img

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

img

確認無誤開始安裝

img

安裝完畢按提示在兩個節點分別以root用戶執行腳本

img

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

img

3.2 安裝database軟件(BXDB1上)

  • 以 grid 用戶運行安裝程序

# xhost +

# 解壓安裝軟件

# su – grid

$ export DISPLAY=客戶機ip:0.0

$ ./runInstaller

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

img

跳過軟件更新

img

選擇只安裝數據庫軟件

img

選擇集群模式安裝

img

點擊ssh connectivity配置用戶等效性

img

img

添加中文語言

img

選擇安裝企業版

img

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

mkdir -p /oracle/app/oracle

chown oracle:oinstall /oracle/app/oracle

img

選擇安裝軟件組

img

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

img

以下錯誤可以忽略

img

檢查無誤開始安裝

img

安裝完畢,按提示以root用戶在兩個節點執行腳本即可

img

執行相應腳本完成安裝

img

3.3 創建數據庫

  • 以 grid 用戶建立ASM磁盤組

# xhost +

# su – grid

$ export DISPLAY=客戶機ip:0.0

$ asmca

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

img

  • 以 oracle 用戶建立集群數據庫

# xhost +

# su – oracle

$ export DISPLAY=客戶機ip:0.0

$ dbca

選擇集群數據庫

img

選擇建立數據庫

img

選擇自定義數據庫

img

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

img

選擇配置EM

img

為用戶配置密碼,這里密碼全部為1qaz.oracle,若提示密碼不夠安全,點擊yes即可

img

選擇數據文件存儲方式,選擇ASM,並填入之前建好的磁盤組名,會要求輸入ASMSNMP密碼,輸入1qaz.oracle即可

img

配置快速恢復區,選擇之前建好的ASM磁盤組,填入大小,這里是900g,勾選激活歸檔

img

去除不必要的組件

img

配置內存大小,勾選自動內存管理,該值可以在建完庫后根據實際情況修改

img

配置塊大小和連接數

img

配置字符集,選擇AL32UTF8

img

按照默認選擇專有模式即可

img

配置數據文件,每個節點分配4組,將redo大小改為512M

img

確認無誤開始建庫

img

開始建庫

img

至此數據庫安裝完畢

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


免責聲明!

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



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