1. 程式人生 > >11.2.0.4 rac asm靜默部署

11.2.0.4 rac asm靜默部署

數據庫 Oracle

需要將一套單機庫數據遷移到rac環境中,需要部署一套11.2.0.4 rac asm 環境,特殊環境客戶現場提供的服務器沒有圖形,又不能在服務器上面安裝軟件。系統軟件專人安裝,只能在無圖形下進行安裝,遠程網絡還不給力,多折騰一天。

?

1、安裝軟件包

?? 安裝:yum install? xxx? -y

  • binutils-2.20.51.0.2-5.11.el6 (x86_64)??
  • compat-libcap1-1.10-1 (x86_64)??
  • compat-libstdc++-33-3.2.3-69.el6 (x86_64)??
  • compat-libstdc++-33-3.2.3-69.el6.i686??
  • glibc-2.12-1.7.el6 (i686)??
  • glibc-2.12-1.7.el6 (x86_64)??
  • glibc-devel-2.12-1.7.el6 (x86_64)??
  • glibc-devel-2.12-1.7.el6.i686??
  • gcc-4.4.4-13.el6 (x86_64)??
  • gcc-c++-4.4.4-13.el6 (x86_64)??
  • ksh??
  • libgcc-4.4.4-13.el6 (i686)??
  • libgcc-4.4.4-13.el6 (x86_64)??
  • libstdc++-4.4.4-13.el6 (x86_64)??
  • libstdc++-4.4.4-13.el6.i686??
  • libstdc++-devel-4.4.4-13.el6 (x86_64)??
  • libstdc++-devel-4.4.4-13.el6.i686??
  • libaio-0.3.107-10.el6 (x86_64)??
  • libaio-0.3.107-10.el6.i686??
  • libaio-devel-0.3.107-10.el6 (x86_64)??
  • libaio-devel-0.3.107-10.el6.i686??
  • make-3.81-19.el6??
  • sysstat-9.0.4-11.el6 (x86_64)

驗證軟件是否沒有安裝? 特別是32bit軟件是否安裝上

rpm -q --qf ‘%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n‘ binutils \

compat-libstdc++-33 \

elfutils-libelf \

elfutils-libelf-devel \

gcc \

gcc-c++ \

glibc \

glibc-common \

glibc-devel \

glibc-headers \

ksh \

libaio \

libaio-devel \

libgcc \

libstdc++ \

libstdc++-devel \

make \

sysstat \

unixODBC \

unixODBC-devel

2、建立用戶組

  • groupadd? oinstall?
  • groupadd dba?
  • groupadd oper
  • groupadd asmadmin
  • groupadd asmoper
  • groupadd asmdba
  • useradd -g oinstall -G dba,asmdba,oper oracle
  • useradd -g oinstall -G asmadmin,asmdba,asmoper,oper,dba? grid
  • passwd oracle?
  • passwd grid

?

3、修改操作系統參數

配置 Linux 內核參數,修改/etc/sysctl.conf

  • fs.aio-max-nr = 1048576?
  • fs.file-max = 6815744?
  • kernel.shmall = 2097152?
  • kernel.shmmax = 4294967295?
  • 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?

/sbin/sysctl -p?? --內核參數實時生效

修改/etc/security/limits.conf

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

修改內核參數,修改/etc/profile

  • if [ $USER = "oracle" ]||[ $USER = "grid" ]; then
  • ??? if [ $SHELL = "/bin/ksh" ]; then
  • ?????????? ulimit -p 16384
  • ?????????? ulimit -n 65536
  • ?? else
  • ?????????? ulimit -u 16384 -n 65536
  • ?????? fi
  • ? fi
  • fi

4、建立安裝目錄

  • mkdir? -p /u01/app/oracle/product/11.2.0/db_1
  • mkdir -p /u01/app/grid
  • chown -R oracle:oinstall? /u01/app/
  • chmod -R 775 /u01/app

5、設置用戶環境變量

oracle

  • export ORACLE_SID= ----具體哪個節點配置對應的實例名
  • export ORACLE_BASE=/home/app/oracle
  • export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
  • export LD_LIBRARY_PATH=$ORACLE_HOME/lib
  • export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin

grid

  • export ORACLE_SID=+ASM1 ---具體哪個節點配置對應的實例名
  • export ORACLE_BASE=/home/app/oracle
  • export ORACLE_HOME=/home/11.2.0/grid
  • export GRID_HOME=/home/11.2.0/grid
  • export LD_LIBRARY_PATH=$ORACLE_HOME/lib
  • export THREADS_FLAG=native
  • export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
  • umask 022

6、配置hosts文件

hostname public ip priv ip vip scanip
rac01 172.16.18.245 172.16.28.154 172.16.18.246 172.16.18.249
rac01 172.16.18.247 172.16.28.156 172.16.18.248 172.16.18.249

?

127.0.0.1?? localhost localhost.localdomain localhost4 localhost4.localdomain4
::1???????? localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.18.245 rac01.chaoren.cn rac01
172.16.18.247 rac02.chaoren.cn rac02
172.16.28.154 rac01-priv.chaoren.cn rac01-priv
172.16.28.156 rac02-priv.chaoren.cn rac02-priv
172.16.18.246 rac01-vip.chaoren.cn? rac01-vip
172.16.18.248 rac02-vip.chaoren.cn? rac02-vip
172.16.18.249 racdb-scan.chaoren.cn racdb-scan

7、配置信任關系

  • #ssh-keygen -t rsa
    兩個節點的id_dsa.pub 存放到同一個文件中
    cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

  • scp ~/.ssh/authorized_keys rac02:/home/oracle/.ssh
  • 同理配置grid用戶

RAC所有節點配置時間同步

8、grid安裝響應文件編寫

---grid安裝響應文件

[grid@rac01 ~]$ cat grid.rsp |grep -v ^#|tr -s ‘\n‘? #去空行和註釋

oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v11_2_0
ORACLE_HOSTNAME=rac01.chaoren.cn
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en,zh_CN
oracle.install.option=CRS_CONFIG
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/grid
oracle.install.asm.OSDBA=asmdba
oracle.install.asm.OSOPER=asmoper
oracle.install.asm.OSASM=asmadmin
oracle.install.crs.config.gpnp.scanName=racdb-scan
oracle.install.crs.config.gpnp.scanPort=1521
oracle.install.crs.config.clusterName=rac-cluster
oracle.install.crs.config.gpnp.configureGNS=false
oracle.install.crs.config.gpnp.gnsSubDomain=
oracle.install.crs.config.gpnp.gnsVIPAddress=
oracle.install.crs.config.autoConfigureClusterNodeVIP=false
oracle.install.crs.config.clusterNodes=? \n
rac01.chaoren.cn:rac01-vip.chaoren.cn,rac02.chaoren.cn:rac02-vip.chaoren.cn
oracle.install.crs.config.networkInterfaceList=eth1:172.16.18.0:1,eth2:172.16.28.0:2
oracle.install.crs.config.storageOption=ASM_STORAGE
oracle.install.crs.config.sharedFileSystemStorage.diskDriveMapping=
oracle.install.crs.config.sharedFileSystemStorage.votingDiskLocations=
oracle.install.crs.config.sharedFileSystemStorage.votingDiskRedundancy=NORMAL
oracle.install.crs.config.sharedFileSystemStorage.ocrLocations=
oracle.install.crs.config.sharedFileSystemStorage.ocrRedundancy=NORMAL
??????????????????
oracle.install.crs.config.useIPMI=false
oracle.install.crs.config.ipmi.bmcUsername=
oracle.install.crs.config.ipmi.bmcPassword=
oracle.install.asm.SYSASMPassword=
oracle.install.asm.diskGroup.name=DATA
oracle.install.asm.diskGroup.redundancy=EXTERNAL
oracle.install.asm.diskGroup.AUSize=1
oracle.install.asm.diskGroup.disks=/dev/asm-diskb
oracle.install.asm.diskGroup.diskDiscoveryString=/dev/*
oracle.install.asm.monitorPassword=
oracle.install.crs.upgrade.clusterNodes=
oracle.install.asm.upgradeASM=false
oracle.installer.autoupdates.option=SKIP_UPDATES
oracle.installer.autoupdates.downloadUpdatesLoc=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=
PROXY_HOST=
PROXY_PORT=0
PROXY_USER=
PROXY_PWD=
PROXY_REALM=

?

?

?

9、grid安裝過程

----檢查環境
su - grid
[grid@rac01 grid]$ ./runcluvfy.sh stage -pre crsinst -n rac01,rac02 -fixup -verbose
-----執行安裝
su - grid
[grid@rac01 grid]$ ./runInstaller -showProgress -ignorePrereq -silent -force -responseFile /home/grid/grid/grid_install.rsp
----安裝後執行完root腳本後,需要執行configToolAllCommands

/u01/app/grid/product/11.2.0/cfgtoollogs/configToolAllCommands RESPONSE_FILE=./cfgrsp.properties

?

完成grid安裝是已經建立一個asm diskgroup 用來存放OCR等文件

10、asm建立磁盤組 存放數據

  • su – grid
  • sqlplus / as sysasm
  • create diskgroup DATA3 external redundancy disk? ‘/dev/sdc3‘ ATTRIBUTE ‘compatible.asm‘=‘11.2.0.0.0‘,‘au_size‘=‘1M‘;
  • create diskgroup DATA4 external redundancy disk? ‘/dev/sdc4,dev/sdc5‘ ATTRIBUTE ‘compatible.asm‘=‘11.2.0.0.0‘,‘au_size‘=‘1M‘;
  • SQL> alter diskgroup DATA3? dismount;
  • Diskgroup altered.
  • SQL> alter diskgroup data3 mount;
  • Diskgroup altered.

?

11、Oracle軟件安裝

./runInstaller

-showProgress

-ignorePrereq -silent -force -responseFile /tmp/db_install.rsp

一定要添加

-showProgress 顯示安裝

db_install.rsp響應內容

oracle.install.responseFileVersion=/u01/app/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=pointdb1
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oracle/oraInventory
SELECTED_LANGUAGES=en
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=
oracle.install.db.EEOptionsSelection=false
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,----篇幅1行內容保存成兩行

oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=
oracle.install.db.CLUSTER_NODES=rac01,rac02
oracle.install.db.isRACOneInstall=
oracle.install.db.racOneServiceName=
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=racdb
oracle.install.db.config.starterdb.SID=pointdb
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=700
oracle.install.db.config.starterdb.installExampleSchemas=true
oracle.install.db.config.starterdb.enableSecuritySettings=false
oracle.install.db.config.starterdb.password.ALL=oracle_xxxx
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=ASM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=DATA2
oracle.install.db.config.asm.ASMSNMPPassword=oracle_xxxx
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
PROXY_REALM=
COLLECTOR_SUPPORTHUB_URL=
oracle.installer.autoupdates.option=SKIP_UPDATES
oracle.installer.autoupdates.downloadUpdatesLoc=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=

說明:紅色部分是需要特別註意的修改的地方,密碼復雜度設置高點,減少安裝報錯

安裝完畢後,打PSU補丁,先打grid,再打database,這個根據補丁裏的文檔來就行了。

註意需要使用比較新的opatch

?

?

12、靜默建庫

完成grid? db安裝後?? asm diskgroup已經手工建立好

這時候可以手工建庫或者使用dbca靜默建庫

dbca -silent -responseFile /home/oracle/dbca.rsp

監控響應文件dbca.rsp

--單實例rsp腳本

[GENERAL]

RESPONSEFILE_VERSION = "11.2.0"

OPERATION_TYPE = "createDatabase"

[CREATEDATABASE]

GDBNAME = "prod"

SID = "prod"

TEMPLATENAME = "New_Database.dbt"

SYSPASSWORD = "oracle"

SYSTEMPASSWORD = "oracle"

SYSMANPASSWORD = "man!@#@sysman"

DBSNMPPASSWORD = "dbsn#4)^man"

DATAFILEDESTINATION ="+DATA2"

STORAGETYPE=FS

CHARACTERSET = "AL32UTF8"

DATABASETYPE = "MULTIPURPOSE"

AUTOMATICMEMORYMANAGEMENT = "FALSE"

TOTALMEMORY =8192

根據自己需求修改

?

?

?

問題1:

[FATAL] [INS-40907] 網格安裝的主機名列表中不包括本地節點。
?? 原因: 所提供的主機名列表中缺少本地節點 (在其上運行安裝程序的節點)。
?? 操作: 在網格安裝的主機名列表中包含本地節點。
此會話的日誌當前已保存為: /tmp/OraInstall2018-05-09_06-15-50PM/installActions2018-05-09_06-15-50PM.log。如果要保留此日誌, Oracle 建議將它從臨時位移動到更持久的位置。

修改hosts文件為下面格式? 原來沒有chaoren.cn域名這些

[grid@rac01 grid]$ cat /etc/hosts
127.0.0.1?? localhost localhost.localdomain localhost4 localhost4.localdomain4
::1???????? localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.18.245 rac01.chaoren.cn rac01
172.16.18.247 rac02.chaoren.cn rac02
172.16.28.154 rac01-priv.chaoren.cn rac01-priv
172.16.28.156 rac02-priv.chaoren.cn rac02-priv
172.16.18.246 rac01-vip.chaoren.cn? rac01-vip
172.16.18.248 rac02-vip.chaoren.cn? rac02-vip
172.16.18.249 racdb-scan.chaoren.cn racdb-scan

問題2:

準備從以下地址啟動 Oracle Universal Installer /tmp/OraInstall2018-05-09_06-33-22PM. 請稍候...[grid@rac01 grid]$ [FATAL] [INS-30508] ASM 磁盤無效。
?? 原因: 磁盤 [/dev/sdb1, /dev/sdc1, /dev/sdc2, /dev/sdc3, /dev/sdc4] 無效。
?? 操作: 請選擇或輸入有效的 ASM 磁盤。
ins-30508invalid asm disks

SEVERE: [FATAL] [INS-30508] Invalid ASM disks.
?? CAUSE: The disks [/dev/sdb1] were not valid.
?? ACTION: Please choose or enter valid ASM disks.

?

配置udev 綁定共享存儲:

[root@rac01 rules.d]#? /sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sdb
36000c294d0dfcf8dd24dfb5643b7ebb9
[root@rac01 rules.d]#? /sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc
36000c292b3b04ee86401ec94c6b93016
[root@rac01 rules.d]# vim 99-fuse.rules



[root@rac01 rules.d]# vim 99-orace.rules

KERNEL=="sd*", BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB36000c294d0dfcf8dd24dfb5643b7ebb9",NAME="asm-diskb",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*", BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB36000c292b3b04ee86401ec94c6b93016",NAME="asm-diskb",OWNER="grid",GROUP="asmadmin",MODE="0660"

節點2同時操作~??????????????????????????????????????????????????????????????????????????????????????

添加了asmdisk?? /dev/asm-diskb

?

問題3:

SEVERE: [FATAL] [INS-40937] 以下主機名無效: [rac01, rac02]
?? 原因: 列出的主機名或名稱無效。
?? 操作: 請確保未提供別名, 並且提供的主機名有效。

修改主機名/etc/sysconfig/network? rac01.chaoren.cn

和hosts文件保持一致

?

?

問題4

WARNING: [WARNING] [INS-30011] 輸入的 SYS 口令不符合 Oracle 建議的標準。
?? 原因: Oracle 建議輸入的口令應該至少長為 8 個字符, 至少包含 1 個大寫字符, 1 個小寫字符和 1 個數字 [0-9]。
?? 操作: 提供符合 Oracle 建議標準的口令。
WARNING: [WARNING] [INS-30011] 輸入的 ASMSNMP 口令不符合 Oracle 建議的標準。
?? 原因: Oracle 建議輸入的口令應該至少長為 8 個字符, 至少包含 1 個大寫字符, 1 個小寫字符和 1 個數字 [0-9]。
?? 操作: 提供符合 Oracle 建議標準的口令。

?

問題5:

節點2掛載失敗

技術分享圖片

原因節點2磁盤權限問題

[root@rac02 ~]#? ls -l /dev/sdc*
brw-rw----. 1 root disk 8, 33 5月?? 9 18:58 /dev/sdc1
brw-rw----. 1 root disk 8, 34 5月?? 9 18:58 /dev/sdc2
brw-rw----. 1 root disk 8, 35 5月?? 9 18:58 /dev/sdc3
brw-rw----. 1 root disk 8, 36 5月?? 9 18:58 /dev/sdc4

[root@rac02 ~]# chown grid:asmadmin /dev/sdc*

11.2.0.4 rac asm靜默部署