快速静默安装Oracle rac集群软件和rac数据库以及Restart ASM环境脚本集合
Tags: ASMOracleracRestart快速脚本集合集群部署静默安装静默建库高可用
云平台安装rac资源申请
华为云资源申请
参考:https://www.xmmup.com/huaweiyunecsanzhuangoracle-racyunduanziyuanshenqingbuzhou.html
IP规划
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | cat >> /etc/hosts <<"EOF" #Public IP 172.20.7.35 rac1 172.20.7.36 rac2 #Virtual IP 172.20.7.37 rac1-vip 172.20.7.38 rac2-vip #Private IP 1.1.2.1 rac1-priv 1.1.2.2 rac2-priv #Scan IP 172.20.7.39 rac-scan EOF hostnamectl set-hostname rac1 hostnamectl set-hostname rac2 cat >> /etc/hosts <<"EOF" #Public IP 192.168.59.62 raclhr-21c-n1 192.168.59.63 raclhr-21c-n2 #Private IP 192.168.2.62 raclhr-21c-n1-priv 192.168.2.63 raclhr-21c-n2-priv #Virtual IP 192.168.59.64 raclhr-21c-n1-vip 192.168.59.65 raclhr-21c-n2-vip #Scan IP 192.168.59.66 raclhr-21c-scan 192.168.59.67 raclhr-21c-scan 192.168.59.68 raclhr-21c-scan EOF cat >> /etc/hosts <<"EOF" #public ip 172.16.23.11 db1 172.16.23.12 db2 #private ip 172.16.100.11 db1-priv 172.16.100.12 db2-priv #virtual ip 172.16.23.13 db1-vip 172.16.23.14 db2-vip #scan ip 172.16.23.20 db-scan EOF ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 127.0.0.1 db1 |
依赖包
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | ## yum安装常用软件包 yum install -y openssh-clients openssh-server initscripts net-tools telnet which wget \ passwd e4fsprogs lrzsz sudo unzip lvm2 tree traceroute lsof file tar systemd \ bridge-utils mlocate mailx strace less mmv stress stress-ng iotop htop atop nmon \ dstat bcc-tools bcc yum-utils ethtool yum install -y dos2unix rlwrap xdpyinfo xorg-x11-apps nmap numactl numactl-devel \ iproute rsyslog bash-completion screen tmux sysbench vim redhat-lsb smartmontools xinetd \ gcc gcc-c++ make sysstat ksh binutils socat cmake automake autoconf bzr bison libtool deltarpm \ rsync libev pv subversion gnuplot jq oniguruma yum-fastestmirror net-snmp net-snmp-utils \ nfs-utils rpcbind postfix dovecot bind-utils bind bind-chroot dnsmasq haproxy keepalived bzr \ fio bzip2 ntp flex lftp targetd targetcli iscsi-initiator-utils siege aria2 libzstd libzstd-devel \ nethogs vnstat nload iptraf bmon bwm-ng trafshow collectl patch redhat-lsb-core dmidecode \ curl curl-devel lz4 lz4-devel readline readline-devel readline-static libcurl libcurl-devel \ extundelete yum install -y ncurses-devel libgcrypt-devel libaio libaio-devel libevent libevent-devel \ perl perl-Env perl-devel perl-Time-HiRes perl-DBD-MySQL perl-ExtUtils* perl-ExtUtils-MakeMaker perl-TermReadKey \ perl-Config-Tiny perl-Email-Date-Format perl-Log-Dispatch perl-Mail-Sender perl-Mail-Sendmail \ perl-MIME-Lite perl-Parallel-ForkManager perl-Digest-MD5 perl-ExtUtils-CBuilder perl-IO-Socket-SSL \ perl-JSON openssl-devel libverto-devel libsepol-devel libselinux-devel libkadm5 keyutils-libs-devel \ krb5-devel libcom_err-devel cyrus-sasl* perl-DBD-Pg perf slang perl-DBI perl-DBIx-Safe perl-CPAN \ cpan perl-tests xorg-x11-apps libXcursor libXcursor-devel libXrandr-devel libtasn1-devel \ nettle-devel gnutls-devel pcsc-lite-devel coreutils glib2 xfsprogs pam-devel \ libxml2-devel libxslt-devel python-devel tcl-devel openldap-devel jadetex openjade yum install -y compat-libstdc++-33 glibc glibc-common glibc.i686 glibc-devel glibc-devel.i686 \ libgcc libgcc.i686 libstdc++ libstdc++-devel libaio.i686 libaio-devel.i686 \ libXext libXext.i686 libXtst libXtst.i686 libX11 libX11.i686 libXau libXau.i686 \ libxcb libxcb.i686 libXi libXi.i686 unixODBC unixODBC-devel zlib-devel zlib-devel.i686 \ compat-libcap1 libXp libXp-devel libXp.i686 elfutils-libelf elfutils-libelf-devel compat-db \ xscreensaver fontconfig-devel libXrender-devel mkdir /soft chmod 777 /soft mkdir -p ~/.pip cat > ~/.pip/pip.conf << EOF [global] index-url = https://pypi.douban.com/simple/ EOF yum -y install xrdp && yum groupinstall -y Xfce sed -i 's/max_bpp=32/max_bpp=24/g' /etc/xrdp/xrdp.ini echo xfce4-session > /root/.xsession chmod +x /root/.xsession echo xfce4-session > /home/oracle/.xsession chmod +x /home/oracle/.xsession echo xfce4-session > /home/grid/.xsession chmod +x /home/grid/.xsession systemctl restart xrdp && systemctl enable xrdp rm -f /etc/localtime cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime |
用户和环境变量
rac
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | systemctl disable firewalld.service systemctl stop firewalld.service setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config systemctl stop ntpd.service systemctl disable ntpd.service systemctl status ntpd.service mv /etc/ntp.conf /etc/ntp.conf.org systemctl stop avahi-daemon.service systemctl disable avahi-daemon.service echo 'RemoveIPC=no' >> /etc/systemd/logind.conf ## 11和12都可以用 /usr/sbin/groupadd -g 502 oinstall /usr/sbin/groupadd -g 503 dba /usr/sbin/groupadd -g 504 oper /usr/sbin/groupadd -g 505 asmadmin /usr/sbin/groupadd -g 506 asmoper /usr/sbin/groupadd -g 507 asmdba /usr/sbin/useradd -g oinstall -G dba,asmdba,oper,asmadmin oracle /usr/sbin/useradd -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid mkdir -p /u01/app/oracle mkdir -p /u01/app/grid mkdir -p /u01/app/12.2.0/grid mkdir -p /u01/app/oracle/product/12.2.0/dbhome_1 chown -R grid:oinstall /u01/app/grid chown -R grid:oinstall /u01/app/12.2.0 chown -R oracle:oinstall /u01/app/oracle chmod -R 775 /u01 mkdir -p /u01/app/oraInventory chown -R grid:oinstall /u01/app/oraInventory chmod -R 775 /u01/app/oraInventory cat > /etc/oraInst.loc <<"EOF" inventory_loc=/u01/app/oraInventory inst_group=oinstall EOF chown oracle:oinstall /etc/oraInst.loc chmod 664 /etc/oraInst.loc echo "oracle:lhr" | chpasswd echo "grid:lhr" | chpasswd cat >> /home/oracle/.bash_profile <<"EOF" export ORACLE_SID=rac1 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1 export TNS_ADMIN=$ORACLE_HOME/network/admin export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS" alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman' alias sas='sqlplus / as sysdba' EOF cat >> /home/grid/.bash_profile <<"EOF" export ORACLE_SID=+ASM1 export ORACLE_BASE=/u01/app/grid export ORACLE_HOME=/u01/app/12.2.0/grid export TNS_ADMIN=$ORACLE_HOME/network/admin export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS" alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman' alias sas='sqlplus / as sysasm' EOF cat >> /root/.bashrc <<"EOF" export ORACLE_BASE=/u01/app/grid export ORACLE_HOME=/u01/app/12.2.0/grid export GRID_BASE=$ORACLE_BASE export GRID_HOME=$ORACLE_HOME export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export PATH=$PATH:$ORACLE_HOME/bin EOF cat >> /etc/profile <<"EOF" export ORACLE_BASE=/u01/app/grid export ORACLE_HOME=/u01/app/12.2.0/grid export GRID_BASE=$ORACLE_BASE export GRID_HOME=$ORACLE_HOME export PATH=$PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH EOF source /etc/profile |
ASM单机
1 |
其它优化
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | systemctl stop avahi-daemon.service systemctl disable avahi-daemon.service systemctl stop avahi-daemon.socket systemctl disable avahi-daemon.socket systemctl stop ntpd.service systemctl disable ntpd.service systemctl status ntpd.service mv /etc/ntp.conf /etc/ntp.conf.org systemctl list-unit-files|grep chronyd systemctl status chronyd systemctl disable chronyd systemctl stop chronyd mv /etc/chrony.conf /etc/chrony.conf_bak cat >> /etc/rc.local <<"EOF" if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi if test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi dhclient EOF chmod +x /etc/rc.d/rc.local cat /sys/kernel/mm/transparent_hugepage/enabled cat /sys/kernel/mm/transparent_hugepage/defrag echo never > /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/defrag |
内核参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | cat >> /etc/sysctl.conf <<"EOF" fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 kernel.panic_on_oops = 1 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 net.ipv4.conf.all.rp_filter = 2 net.ipv4.conf.default.rp_filter = 2 fs.aio-max-nr = 1048576 EOF sysctl -p cat >> /etc/security/limits.conf <<"EOF" grid soft nproc 2047 grid hard nproc 16384 grid soft nofile 1024 grid hard nofile 65536 grid soft stack 10240 grid hard stack 32768 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32768 * soft memlock -1 * hard memlock -1 EOF echo "session required pam_limits.so" >> /etc/pam.d/login cat >> /etc/profile <<"EOF" if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi EOF echo "RemoveIPC=no" >> /etc/systemd/logind.conf echo 'NOZEROCONF=yes' >> /etc/sysconfig/network |
共享盘
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | fdisk -l | grep dev /usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sda for i in a b c d e ; do echo "KERNEL==\"sd*\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"`/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", SYMLINK+=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\"" >> /etc/udev/rules.d/99-oracleasm.rules done udevadm control --reload-rules udevadm trigger --type=devices --action=change ll /dev/asm* cat > /etc/udev/rules.d/99-oracle-asmdevices.rules << "EOF" KERNEL=="sd*",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="3688860300000fa71fa163b4757408053", RUN+="/bin/sh -c 'mknod /dev/asm-diskb b $major $minor; chown grid:asmadmin /dev/asm-diskb; chmod 0660 /dev/asm-diskb'" KERNEL=="sd*",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36888603000007376fa163b4757408053", RUN+="/bin/sh -c 'mknod /dev/asm-diskc b $major $minor; chown grid:asmadmin /dev/asm-diskc; chmod 0660 /dev/asm-diskc'" KERNEL=="sd*",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36888603000003583fa163b4757408053", RUN+="/bin/sh -c 'mknod /dev/asm-diskd b $major $minor; chown grid:asmadmin /dev/asm-diskd; chmod 0660 /dev/asm-diskd'" KERNEL=="sd*",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="3688860300000fa6afa163b4757408053", RUN+="/bin/sh -c 'mknod /dev/asm-diske b $major $minor; chown grid:asmadmin /dev/asm-diske; chmod 0660 /dev/asm-diske'" KERNEL=="sd*",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="3688860300000fa3ffa163b4757408053", RUN+="/bin/sh -c 'mknod /dev/asm-diskf b $major $minor; chown grid:asmadmin /dev/asm-diskf; chmod 0660 /dev/asm-diskf'" EOF -- 安装grid之前 export LD_LIBRARY_PATH=/soft/grid/stage/ext/lib/:$LD_LIBRARY_PATH /soft/grid/stage/ext/bin/kfod.bin asm_diskstring='/dev/asm*' /soft/grid/stage/ext/bin/kfod asm_diskstring='/dev/asm*' -- 安装grid完成 export GRID_HOME=$ORACLE_HOME $GRID_HOME/bin/kfod disks=asm st=true ds=true cluster=true export ORACLE_HOME=/u01/app/12.2.0/grid export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH /u01/app/12.2.0/grid/bin/kfod.bin asm_diskstring='/dev/asm*' |
grid软件解压
1 2 3 4 5 6 7 8 | -- -- 1和2是database安装包,3是grid的安装包 unzip /soft/p13390677_112040_Linux-x86-64_1of7.zip -d /soft/ && unzip /soft/p13390677_112040_Linux-x86-64_2of7.zip -d /soft/ unzip /soft/p13390677_112040_Linux-x86-64_3of7.zip -d /soft/ -- 1和2是database安装包,3和4是grid的安装包 unzip /soft/12.1.0.2/p17694377_121020_Linux-x86-64_1of8.zip -d /soft/ && unzip /soft/12.1.0.2/p17694377_121020_Linux-x86-64_2of8.zip -d /soft/ unzip /soft/12.1.0.2/p17694377_121020_Linux-x86-64_3of8.zip -d /soft/ && unzip /soft/12.1.0.2/p17694377_121020_Linux-x86-64_4of8.zip -d /soft/ |
配置互信
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | /soft/database/sshsetup/sshUserSetup.sh -user oracle -hosts "db1 db2" -advanced exverify –confirm /soft/database/sshsetup/sshUserSetup.sh -user grid -hosts "db1 db2" -advanced exverify –confirm export CVUQDISK_GRP=oinstall rpm -ivh /u01/app/12.1.0.2/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm scp /u01/app/12.1.0.2/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm oracle@db2:/soft export CVUQDISK_GRP=oinstall rpm -ivh /soft/cvuqdisk-1.0.10-1.rpm -- 预检查 su - grid /soft/grid/runcluvfy.sh stage -pre crsinst -n odsa,odsb -verbose -fixup $ORACLE_HOME/bin/cluvfy stage -pre crsinst -n all -verbose -fixup $ORACLE_HOME/bin/cluvfy stage -pre crsinst -n all -r 11gR2 -verbose -fixup find . -name runcluvfy.sh -- db安装预检查 /soft/grid/runcluvfy.sh stage -pre dbinst -n all -verbose -fixup |
grid安装
11gR2
rac grid
11.2.0.4、11.2.0.3、已测试:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | ./runInstaller -silent -force -noconfig -IgnoreSysPreReqs -ignorePrereq -showProgress \ INVENTORY_LOCATION=/u01/app/oraInventory \ SELECTED_LANGUAGES=en \ ORACLE_BASE=/u01/app/grid \ ORACLE_HOME=/u01/app/11.2.0/grid \ oracle.install.asm.OSDBA=asmdba \ oracle.install.asm.OSOPER=asmoper \ oracle.install.asm.OSASM=asmadmin \ oracle.install.crs.config.storageOption=ASM_STORAGE \ oracle.install.crs.config.sharedFileSystemStorage.votingDiskRedundancy=EXTERNAL \ oracle.install.crs.config.sharedFileSystemStorage.ocrRedundancy=EXTERNAL \ oracle.install.crs.config.useIPMI=false \ oracle.install.asm.diskGroup.name=OCR \ oracle.install.asm.diskGroup.redundancy=NORMAL \ oracle.installer.autoupdates.option=SKIP_UPDATES \ oracle.install.crs.config.gpnp.scanPort=1521 \ oracle.install.crs.config.gpnp.configureGNS=false \ oracle.install.option=CRS_CONFIG \ oracle.install.asm.SYSASMPassword=oracle \ oracle.install.asm.monitorPassword=oracle \ oracle.install.asm.diskGroup.diskDiscoveryString=/dev/asm* \ oracle.install.asm.diskGroup.disks=/dev/asm-diskb,/dev/asm-diskc,/dev/asm-diskd \ oracle.install.crs.config.gpnp.scanName=lhrrac-scan \ oracle.install.crs.config.clusterName=lhr-cluster \ oracle.install.crs.config.autoConfigureClusterNodeVIP=false \ oracle.install.crs.config.clusterNodes=lhrrac1:lhrrac1-vip,lhrrac2:lhrrac2-vip \ oracle.install.crs.config.networkInterfaceList=eth0:192.168.88.0:1,eth1:110.110.20.0:2 \ ORACLE_HOSTNAME=lhrarac1 As a root user, execute the following script(s): 1. /u01/app/oraInventory/orainstRoot.sh 2. /u01/app/11.2.0/grid/root.sh Execute /u01/app/oraInventory/orainstRoot.sh on the following nodes: [lhrarac1, lhrarac2] Execute /u01/app/11.2.0/grid/root.sh on the following nodes: [lhrarac1, lhrarac2] .................................................. 100% Done. Execute Root Scripts successful. As install user, execute the following script to complete the configuration. 1. /u01/app/11.2.0/grid/cfgtoollogs/configToolAllCommands RESPONSE_FILE=<response_file> Note: 1. This script must be run on the same host from where installer was run. 2. This script needs a small password properties file for configuration assistants that require passwords (refer to install guide documentation). Successfully Setup Software. |
root.sh脚本的日志地址:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | --- 11g、12.1.0.2、 日志地址:$GRID_HOME/cfgtoollogs/crsconfig/rootcrs_主机名.log 重置的日志文件:hadelete.log crsdelete_rac1.log root.sh脚本日志:rootcrs_rac2.log -- 例如: tailf /u01/app/11.2.0.4/grid/cfgtoollogs/crsconfig/crsdelete_rac1.log tailf /u01/app/11.2.0.4/grid/cfgtoollogs/crsconfig/rootcrs_rac1.log --- 18c 18c的日志地址:$ORACLE_HOME/install/ 18c的详细日志地址:/u01/app/grid/crsdata/raclhr-18c-n1/crsconfig/ 重置的日志文件:crsdeconfig_raclhr-18c-n1_2019-08-21_11-21-45AM.log root.sh脚本日志:rootcrs_raclhr-18c-n1_2019-08-21_11-15-48AM.log |
RESPONSE_FILE的文件内容:
1 2 3 4 5 6 7 8 9 10 11 12 | -- 以grid用户运行在节点1运行即可 cat > /home/grid/cfgrsp.properties <<"EOF" oracle.assistants.asm|S_ASMPASSWORD=oracle oracle.assistants.asm|S_ASMMONITORPASSWORD=oracle oracle.crs|S_BMCPASSWORD=oracle EOF /u01/app/11.2.0.4/grid/cfgtoollogs/configToolAllCommands RESPONSE_FILE=/home/grid/cfgrsp.properties -- 日志 /u01/app/11.2.0.4/grid/cfgtoollogs/oui/configActions2022-08-05_01-37-00-PM.log |
Restart ASM grid
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | /soft/grid/runInstaller -silent -force -noconfig -IgnoreSysPreReqs -ignorePrereq -showProgress \ ORACLE_HOSTNAME=cictrsdb-dg \ INVENTORY_LOCATION=/u01/app/oraInventory \ SELECTED_LANGUAGES=en \ oracle.install.option=CRS_SWONLY \ ORACLE_BASE=/u01/app/grid \ ORACLE_HOME=/u01/app/11.2.0/grid \ oracle.install.asm.OSDBA=asmdba \ oracle.install.asm.OSOPER=asmoper \ oracle.install.asm.OSASM=asmadmin \ oracle.install.crs.config.storageOption=ASM_STORAGE \ oracle.install.crs.config.sharedFileSystemStorage.votingDiskRedundancy=EXTERNAL \ oracle.install.crs.config.sharedFileSystemStorage.ocrRedundancy=EXTERNAL \ oracle.install.crs.config.useIPMI=false \ oracle.install.asm.SYSASMPassword=oracle \ oracle.install.asm.diskGroup.name=DATA \ oracle.install.asm.diskGroup.redundancy=EXTERNAL \ oracle.install.asm.diskGroup.disks=/dev/asm-diskb \ oracle.install.asm.monitorPassword=oracle \ oracle.installer.autoupdates.option=SKIP_UPDATES As a root user, execute the following script(s): 1. /u01/app/oraInventory/orainstRoot.sh 2. /u01/app/11.2.0/grid/root.sh /u01/app/11.2.0/grid/perl/bin/perl -I/u01/app/11.2.0/grid/perl/lib -I/u01/app/11.2.0/grid/crs/install /u01/app/11.2.0/grid/crs/install/roothas.pl |
报错:
1 | ohasd failed to start at /u01/app/11.2.0/grid/crs/install/roothas.pl line 377, <ALERTLOG> line 73. |
解决:
1 2 | $GRID_HOME/crs/install/roothas.pl -deconfig -force -verbose /u01/app/11.2.0/grid/perl/bin/perl -I/u01/app/11.2.0/grid/perl/lib -I/u01/app/11.2.0/grid/crs/install /u01/app/11.2.0/grid/crs/install/roothas.pl |
在执行root.sh脚本时出现“Adding Clusterware entries to inittab”的时候,在另一个窗口使用root立即执行以下命令:
1 | dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1 |
--(等待root.sh成功执行完毕后可以ctrl+c取消这里的命令)
12.1.0.2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | cat > /etc/oraInst.loc <<"EOF" inventory_loc=/u01/app/oraInventory inst_group=oinstall EOF chown oracle:oinstall /etc/oraInst.loc chmod 664 /etc/oraInst.loc su - grid /soft/grid/runInstaller -silent -force -noconfig -IgnoreSysPreReqs -ignorePrereq -showProgress \ INVENTORY_LOCATION=/u01/app/oraInventory \ SELECTED_LANGUAGES=en \ ORACLE_BASE=/u01/app/grid \ ORACLE_HOME=/u01/app/12.1.0.2/grid \ oracle.install.asm.OSDBA=asmdba \ oracle.install.asm.OSOPER=asmoper \ oracle.install.asm.OSASM=asmadmin \ oracle.install.crs.config.storageOption=ASM_STORAGE \ oracle.install.crs.config.sharedFileSystemStorage.votingDiskRedundancy=EXTERNAL \ oracle.install.crs.config.sharedFileSystemStorage.ocrRedundancy=EXTERNAL \ oracle.install.crs.config.useIPMI=false \ oracle.install.asm.diskGroup.name=OCR \ oracle.install.asm.diskGroup.redundancy=EXTERNAL \ oracle.installer.autoupdates.option=SKIP_UPDATES \ oracle.install.crs.config.gpnp.scanPort=1521 \ oracle.install.crs.config.gpnp.configureGNS=false \ oracle.install.crs.config.autoConfigureClusterNodeVIP=false \ oracle.install.option=CRS_CONFIG \ oracle.install.crs.config.ClusterType=STANDARD \ oracle.install.asm.SYSASMPassword=oracle \ oracle.install.asm.monitorPassword=oracle \ oracle.install.config.managementOption=NONE \ oracle.install.crs.config.ignoreDownNodes=false \ oracle.install.asm.diskGroup.diskDiscoveryString=/dev/asm-disk* \ oracle.install.asm.diskGroup.disks=/dev/asm-diskb,/dev/asm-diske,/dev/asm-diskf \ oracle.install.crs.config.gpnp.scanName=hwy-oracle-scan \ oracle.install.crs.config.clusterName=hwy-cluster \ oracle.install.crs.config.clusterNodes=hwy-oracle-01:hwy-oracle-01-vip,hwy-oracle-02:hwy-oracle-02-vip \ oracle.install.crs.config.networkInterfaceList=eth0:10.1.200.0:1,eth1:10.1.100.0:2 \ ORACLE_HOSTNAME=hwy-oracle-01 As a root user, execute the following script(s): 1. /u01/app/12.1.0.2/grid/root.sh Execute /u01/app/12.1.0.2/grid/root.sh on the following nodes: [hwy-oracle-01, hwy-oracle-02] Run the script on the local node first. After successful completion, you can start the script in parallel on all other nodes. .................................................. 100% Done. Successfully Setup Software. As install user, execute the following script to complete the configuration. 1. /u01/app/12.1.0.2/grid/cfgtoollogs/configToolAllCommands RESPONSE_FILE=<response_file> Note: 1. This script must be run on the same host from where installer was run. 2. This script needs a small password properties file for configuration assistants that require passwords (refer to install guide documentation). -- 以grid用户运行 cat >> /home/grid/cfgrsp.properties <<"EOF" oracle.assistants.asm|S_ASMPASSWORD=password oracle.assistants.asm|S_ASMMONITORPASSWORD=password oracle.crs|S_BMCPASSWORD=password EOF /u01/app/12.1.0.2/grid/cfgtoollogs/configToolAllCommands RESPONSE_FILE=/home/grid/cfgrsp.properties |
12.2.0.1
rac grid
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | /u01/app/12.2.0/grid/gridSetup.sh -silent -force -noconfig -ignorePrereq \ oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v12.2.0 \ INVENTORY_LOCATION=/u01/app/oraInventory \ oracle.install.option=CRS_CONFIG \ ORACLE_BASE=/u01/app/grid \ oracle.install.asm.OSDBA=asmdba \ oracle.install.asm.OSOPER=asmoper \ oracle.install.asm.OSASM=asmadmin \ oracle.install.crs.config.scanType=LOCAL_SCAN \ oracle.install.crs.config.gpnp.scanName=JDE91.sundan.com \ oracle.install.crs.config.gpnp.scanPort=1521 \ oracle.install.crs.config.ClusterConfiguration=STANDALONE \ oracle.install.crs.config.configureAsExtendedCluster=false \ oracle.install.crs.config.clusterName=dbr710-cluster \ oracle.install.crs.config.gpnp.configureGNS=false \ oracle.install.crs.config.autoConfigureClusterNodeVIP=false \ oracle.install.crs.config.clusterNodes=dbr710a:dbr710a-vip:HUB,dbr710b:dbr710b-vip:HUB \ oracle.install.crs.config.networkInterfaceList=eth0:192.168.88.0:1,eth1:110.110.20.0:5 \ oracle.install.asm.configureGIMRDataDG=false \ oracle.install.crs.config.useIPMI=false \ oracle.install.asm.storageOption=ASM \ oracle.install.asmOnNAS.configureGIMRDataDG=false \ oracle.install.asm.SYSASMPassword=oracle \ oracle.install.asm.monitorPassword=oracle \ oracle.install.asm.diskGroup.name=CRS \ oracle.install.asm.diskGroup.redundancy=NORMAL \ oracle.install.asm.diskGroup.AUSize=4 \ oracle.install.asm.diskGroup.disks=/dev/asm-diska,/dev/asm-diskb,/dev/asm-diskc \ oracle.install.asm.diskGroup.diskDiscoveryString=/dev/asm-* \ oracle.install.asm.configureAFD=false \ oracle.install.crs.configureRHPS=false \ oracle.install.crs.config.ignoreDownNodes=false \ oracle.install.config.managementOption=NONE \ oracle.install.crs.rootconfig.executeRootScript=false As a root user, execute the following script(s): 1. /u01/app/oraInventory/orainstRoot.sh 2. /u01/app/12.2.0/grid/root.sh Execute /u01/app/oraInventory/orainstRoot.sh on the following nodes: [dbr710a, dbr710b] Execute /u01/app/12.2.0/grid/root.sh on the following nodes: [dbr710a, dbr710b] Run the script on the local node first. After successful completion, you can start the script in parallel on all other nodes. Successfully Setup Software. As install user, execute the following command to complete the configuration. /u01/app/12.2.0/grid/gridSetup.sh -executeConfigTools -responseFile null [-silent] Moved the install session logs to: /u01/app/oraInventory/logs/GridSetupActions2021-11-06_11-10-21PM -- 以grid用户运行 /u01/app/12.2.0/grid/gridSetup.sh -silent -executeConfigTools -responseFile /u01/app/12.2.0/grid/install/response/grid_2021-11-10_06-09-05PM.rsp |
静默创建单机ASM实例
1 2 3 4 5 6 7 8 9 | /u01/app/11.2.0/grid/bin/asmca -silent -configureASM -sysAsmPassword lhr -asmsnmpPassword lhr -diskGroupName OCR -diskList /dev/rhdisk20 -redundancy EXTERNAL /u01/app/11.2.0/grid/bin/asmca -silent -configureASM -sysAsmPassword lhr -asmsnmpPassword lhr -diskString '/dev/asm-disk*' -diskGroupName DATA -diskList /dev/asm-diskb -redundancy EXTERNAL netca -silent -responsefile $ORACLE_HOME/assistants/netca/netca.rsp crsctl stat res -t -init CREATE DISKGROUP ARCH external redundancy DISK '/dev/asm-diske'; |
注意
在静默安装grid软件时,需要注意参数“oracle.install.crs.config.networkInterfaceList”的值:
1 | oracle.install.crs.config.networkInterfaceList=eth0:192.168.88.0:1,eth1:110.110.20.0:2 \ |
如下所示,2个不一样的配置,注意netmask的返回值:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [root@cwrac1 ~]# ifconfig eth1 eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1290 inet 192.168.8.8 netmask 255.255.255.0 broadcast 192.168.8.255 inet6 fe80::215:5dff:fed2:867e prefixlen 64 scopeid 0x20<link> ether 00:15:5d:d2:86:7e txqueuelen 1000 (Ethernet) RX packets 65369 bytes 9647978 (9.2 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 57361 bytes 6620769 (6.3 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@oarac1 ~]# ifconfig eth1 eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 1.1.4.1 netmask 255.255.0.0 broadcast 1.1.255.255 inet6 fe80::f816:3eff:fefd:1fd prefixlen 64 scopeid 0x20<link> ether fa:16:3e:fd:01:fd txqueuelen 1000 (Ethernet) RX packets 46377219 bytes 34421522036 (32.0 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 48063190 bytes 41861576604 (38.9 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 |
对于cwrac1来说,应该如下配置:
1 | oracle.install.crs.config.networkInterfaceList=eth0:192.168.88.0:1,eth1:192.168.8.0:2 \ |
对于oarac1来说,应该如下配置:
1 | oracle.install.crs.config.networkInterfaceList=eth0:192.168.88.0:1,eth1:1.1.0.0:2 \ |
eth1应该配置“eth1:1.1.0.0:2”而不是“eth1:1.1.4.0:2”,因为“netmask 255.255.0.0
”
db软件
日志位置:/u01/app/oraInventory/logs
预检查:/soft/grid/runcluvfy.sh stage -pre dbinst -n all -verbose -fixup
可以添加debug进行调试,例如:./runInstaller -debug
11.2.0.4、12.2.0.1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | -- 11.2.0.4没问题 ./runInstaller -silent -force -noconfig -IgnoreSysPreReqs -ignorePrereq -showProgress \ oracle.install.option=INSTALL_DB_SWONLY \ UNIX_GROUP_NAME=oinstall \ INVENTORY_LOCATION=/u01/app/oraInventory \ ORACLE_BASE=/u01/app/oracle \ oracle.install.db.InstallEdition=EE \ oracle.install.db.OSDBA_GROUP=dba \ oracle.install.db.OSOPER_GROUP=oper \ oracle.install.db.OSBACKUPDBA_GROUP=dba \ oracle.install.db.OSDGDBA_GROUP=dba \ oracle.install.db.OSKMDBA_GROUP=dba \ oracle.install.db.OSRACDBA_GROUP=dba \ oracle.install.db.CLUSTER_NODES=rac1,rac2 \ oracle.install.db.config.starterdb.type=GENERAL_PURPOSE -- 11.2.0.4没问题 ./runInstaller -silent -force -noconfig -IgnoreSysPreReqs -ignorePrereq -showProgress \ oracle.install.option=INSTALL_DB_SWONLY \ UNIX_GROUP_NAME=oinstall \ INVENTORY_LOCATION=/u01/app/oraInventory \ ORACLE_BASE=/u01/app/oracle \ ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1 \ ORACLE_BASE=/u01/app/oracle \ oracle.install.db.InstallEdition=EE \ oracle.install.db.OSDBA_GROUP=dba \ oracle.install.db.OSOPER_GROUP=oper \ oracle.install.db.OSBACKUPDBA_GROUP=dba \ oracle.install.db.OSDGDBA_GROUP=dba \ oracle.install.db.OSKMDBA_GROUP=dba \ oracle.install.db.OSRACDBA_GROUP=dba \ oracle.install.db.config.starterdb.type=GENERAL_PURPOSE \ oracle.installer.autoupdates.option=SKIP_UPDATES \ oracle.install.db.CLUSTER_NODES=rac1,rac2 \ ORACLE_HOSTNAME=rac1 ./runInstaller -debug ORACLE_HOSTNAME=rac1 ./runInstaller ORACLE_HOSTNAME=rac1 |
12.1.0.2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | ./runInstaller -silent -force -noconfig -IgnoreSysPreReqs -ignorePrereq -showProgress \ oracle.install.option=INSTALL_DB_SWONLY \ DECLINE_SECURITY_UPDATES=true \ UNIX_GROUP_NAME=oinstall \ INVENTORY_LOCATION=/u01/app/oraInventory \ SELECTED_LANGUAGES=en \ oracle.install.db.InstallEdition=EE \ oracle.install.db.isCustomInstall=false \ oracle.install.db.EEOptionsSelection=false \ oracle.install.db.DBA_GROUP=dba \ oracle.install.db.OPER_GROUP=asmoper \ oracle.install.db.isRACOneInstall=false \ oracle.install.db.BACKUPDBA_GROUP=dba \ oracle.install.db.DGDBA_GROUP=dba \ oracle.install.db.KMDBA_GROUP=dba \ oracle.install.db.rac.serverpoolCardinality=0 \ oracle.install.db.ConfigureAsContainerDB=false \ oracle.install.db.config.starterdb.memoryOption=false \ oracle.install.db.config.starterdb.installExampleSchemas=true \ oracle.install.db.config.starterdb.managementOption=DEFAULT \ oracle.install.db.config.starterdb.enableRecovery=false \ oracle.install.db.config.starterdb.type=GENERAL_PURPOSE \ SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \ oracle.installer.autoupdates.option=SKIP_UPDATES \ ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/dbhome_1 \ ORACLE_BASE=/u01/app/oracle \ oracle.install.db.CLUSTER_NODES=hwy-oracle-01,hwy-oracle-02 \ ORACLE_HOSTNAME=hwy-oracle-01 /u01/app/oracle/product/12.1.0.2/dbhome_1/root.sh echo " oracle.assistants.server|S_SYSlhr=lhr oracle.assistants.server|S_SYSTEMlhr=lhr oracle.assistants.server|S_DBSNMPlhr=lhr oracle.assistants.server|S_PDBADMINlhr=lhr oracle.assistants.server|S_EMADMINlhr=lhr oracle.assistants.server|S_ASMSNMPlhr=lhr " >> /home/oracle/db.rsp /u01/app/oracle/product/12.1.0.2/dbhome_1/cfgtoollogs/configToolAllCommands RESPONSE_FILE=/home/oracle/db.rsp |
报错:Checking swap space: 0 MB available, 150 MB required. Failed <<<<
解决:
1 2 3 | dd if=/dev/zero of=/swapfile bs=1024 count=512k mkswap /swapfile swapon /swapfile |
数据库
11g
1 2 3 4 5 6 7 8 9 10 11 12 13 | dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname cworcl -sid cworcl \ -sysPassword oracle -systemPassword oracle \ -datafileDestination '+DATA' -recoveryAreaDestination 'DATA/' \ -storageType ASM -asmsnmpPassword oracle -diskGroupName 'DATA' \ -characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \ -redoLogFileSize 300 \ -sampleSchema true \ -memoryPercentage 60 \ -databaseType OLTP \ -emConfiguration NONE \ -nodeinfo rac1,rac2 |
12c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 | -- 12.1.0.2 dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname orcl -sid orcl \ -createAsContainerDatabase false \ -sysPassword oracle -systemPassword oracle \ -datafileDestination '+DATA' -recoveryAreaDestination 'FRA/' \ -storageType ASM -asmsnmpPassword oracle -diskGroupName 'DATA' \ -characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \ -redoLogFileSize 300 \ -sampleSchema true \ -memoryPercentage 60 \ -databaseType OLTP \ -emConfiguration NONE \ -nodeinfo hwy-oracle-01,hwy-oracle-02 srvctl add db -d odsdw -oraclehome $ORACLE_HOME -dbtype rac srvctl add instance -d odsdw -instance odsdw1 -node odsa srvctl add instance -d odsdw -instance odsdw2 -node odsb ------归档 vi $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc 修改为:<archiveLogMode>true</archiveLogMode> [oracle@rhel6_lhr ~]$ strings $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc | grep -i arch <archiveLogMode>false</archiveLogMode> ----静默安装数据库日志路径: 11g开始:$ORACLE_BASE/cfgtoollogs/dbca 10g:$ORACLE_HOME/cfgtoollogs/dbca ---dbca -silent整理 \ 后不能包含空格 dbca -silent -deleteDatabase -sourceDB mydb dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname mydb -sid mydb \ -sysPassword oracle -systemPassword oracle \ -datafileDestination 'DATA/' -recoveryAreaDestination 'DATA/' \ -redoLogFileSize 50 \ -storageType ASM -asmsnmpPassword oracle -diskGroupName 'DATA' \ -characterset AL32UTF8 -nationalCharacterSet AL16UTF16 \ -sampleSchema true \ -automaticMemoryManagement true -totalMemory 600 \ -databaseType OLTP \ -emConfiguration NONE \ -nodeinfo ZFZHLHRDB1,ZFZHLHRDB2 dbca -silent -deleteDatabase -sourceDB mydb dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname mydb -sid mydb \ -sysPassword oracle -systemPassword oracle \ -datafileDestination '/u01/app/oracle/oradata' \ -recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \ -redoLogFileSize 50 \ -storageType FS \ -characterset AL32UTF8 -nationalCharacterSet AL16UTF16 \ -sampleSchema true \ -memoryPercentage 10 \ -databaseType OLTP \ -emConfiguration NONE ---10g dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname mydg -sid mydg \ -sysPassword lhr -systemPassword lhr \ -datafileDestination '/u01/app/oracle/oradata' -recoveryAreaDestination '/u01/app/oracle/oradata' \ -storageType FS \ -characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \ -sampleSchema true \ -memoryPercentage 20 \ -databaseType OLTP \ -emConfiguration NONE --12C 非CDB dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname oradb.example.com -sid oradb -responseFile NO_VALUE -characterSet AL32UTF8 -memoryPercentage 30 -emConfiguration NONE dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname lhrdb -sid lhrdb \ -createAsContainerDatabase false \ -sysPassword lhr -systemPassword lhr \ -datafileDestination '/u01/app/oracle/oradata' -recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \ -storageType FS \ -redoLogFileSize 50 \ -characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \ -sampleSchema true \ -memoryPercentage 30 \ -databaseType OLTP \ -emConfiguration NONE --12C rac dbca -silent -ignorePreReqs -ignorePrereqFailure -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname lhrrac -sid lhrrac \ -createAsContainerDatabase false \ -sysPassword lhr -systemPassword lhr \ -datafileDestination '+DATA' -recoveryAreaDestination '+FRA' \ -storageType ASM -asmsnmpPassword oracle -diskGroupName '+DATA' \ -characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \ -redoLogFileSize 50 \ -sampleSchema true \ -memoryPercentage 30 \ -databaseType OLTP \ -emConfiguration NONE \ -nodeinfo raclhr-12cR1-N1,raclhr-12cR1-N2 --12C 创建CDB dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname CDBLHR -sid CDBLHR \ -createAsContainerDatabase TRUE \ -sysPassword lhr -systemPassword lhr \ -datafileDestination '/u01/app/oracle/oradata' -recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \ -redoLogFileSize 50 \ -storageType FS \ -characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \ -sampleSchema true \ -totalMemory 1024 \ -databaseType OLTP \ -emConfiguration NONE -- 21c创建cdb -- rac数据库 -- dbca -silent -deleteDatabase -sourceDB rac21c -sysDBAUserName sys -sysDBAPassword lhr dbca -silent -createDatabase -ignorePreReqs -ignorePrereqFailure -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname rac21c -sid rac21c \ -createAsContainerDatabase TRUE \ -sysPassword lhr -systemPassword lhr -dbsnmpPassword lhr \ -datafileDestination '+DATA' -recoveryAreaDestination '+FRA' \ -redoLogFileSize 50 \ -storageType ASM \ -characterset AL32UTF8 \ -totalMemory 1024 \ -databaseType OLTP \ -enableArchive true \ -emConfiguration none \ -nodeinfo raclhr-21c-n1,raclhr-21c-n2 -- 单实例 dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname LHRCDB -sid LHRCDB \ -createAsContainerDatabase TRUE \ -numberOfPDBs 1 \ -pdbName pdbxmm \ -pdbAdminPassword lhr \ -sysPassword lhr -systemPassword lhr \ -datafileDestination '/u01/app/oracle/oradata' \ -recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \ -redoLogFileSize 50 \ -storageType FS \ -characterset AL32UTF8 -nationalCharacterSet AL16UTF16 \ -totalMemory 1024 \ -databaseType OLTP \ -enableArchive true \ -emConfiguration NONE ---------------------------------------- drop database 删除数据库 1、dbca静默删库:dbca -silent -deleteDatabase -sourceDB mydb 2、SQL窗口: alter database close; alter system enable restricted session; drop database; 或 sql > startup force mount restrict; sql > drop database; 注意:强烈推荐第一种办法,以上2的办法若是rac库需要设置cluster_database为false后才可以执行drop database,命令为:alter system set cluster_database=false sid='*' scope=spfile; -------------------------------------------- dbca 静默建库 windows 和 linux 命令一样 --------------响应文件的位置 --root用户下执行: find -name *.rsp / 1、创建数据库的响应文件:$ORACLE_HOME/assistants/dbca/dbca.rsp 例如:/u01/app/oracle/product/11.2.0/dbhome_1/assistants/dbca/dbca.rsp 2、创建监听的响应文件:$ORACLE_HOME/assistants/netca/netca.rsp 例如:/u01/app/oracle/product/11.2.0/dbhome_1/assistants/netca/netca.rsp 3、安装数据库软件的响应文件: ①安装完成之后:$ORACLE_HOME/inventory/response/db_install.rsp 例如:/u01/app/oracle/product/11.2.0/dbhome_1/inventory/response/db_install.rsp ②安装之前:解压后的文件夹/response/db_install.rsp ③18c安装之前:$ORACLE_HOME/install/response/db_install.rsp 4、安装GRID软件的响应文件: ①安装完成之后: $GRID_HOME/inventory/response/grid_install.rsp 例如:/u01/app/grid/11.2.0/inventory/response/grid_install.rsp ②安装之前:解压后的文件夹/response/grid_install.rsp ③18c安装之前:$GRID_HOME/install/response/gridsetup.rsp create pluggable database PDBLHR1 admin user lhr identified by lhr ROLES = (dba) file_name_convert=('/u04/oradata/CDBLHR/pdbseed/','/u04/oradata/CDBLHR/PDBLHR1/') PATH_PREFIX = '/u04/oradata/CDBLHR/PDBLHR1/'; create pluggable database PDBLHR1 admin user lhr identified by lhr ROLES = (dba); create pluggable database PDBLHR1 admin user lhr identified by lhr file_name_convert=('+DATA','+DATA/TEST18C/PDBPROD3/') PATH_PREFIX = '+DATA/TEST18C/PDBPROD3/'; --APPLICATION CONTAINER CREATE PLUGGABLE DATABASE APP_CON1 AS APPLICATION CONTAINER ADMIN USER lhr IDENTIFIED BY lhr file_name_convert=('/u04/oradata/CDBLHR/pdbseed/','/u04/oradata/CDBLHR/APP_CON1/') ; CREATE PLUGGABLE DATABASE AS SEED ADMIN USER lhr IDENTIFIED BY lhr file_name_convert=('/u04/oradata/CDBLHR/pdbseed/','/u04/oradata/CDBLHR/APP_CON1/app_con1seed/') ; ALTER PLUGGABLE DATABASE APP_CON1$SEED OPEN; ALTER SESSION SET CONTAINER=APP_CON1$SEED; ALTER PLUGGABLE DATABASE APPLICATION ALL SYNC; ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE; ALTER PLUGGABLE DATABASE OPEN READ ONLY; create pluggable database APP_CON1_P1 admin user lhr identified by lhr file_name_convert=('/u04/oradata/CDBLHR/APP_CON1/app_con1seed/','/u04/oradata/CDBLHR/APP_CON1/APP_CON1_P1/') ; --18C 创建DB dbca -silent -ignorePreReqs -ignorePrereqFailure -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname CDBLHR -sid CDBLHR \ -createAsContainerDatabase TRUE \ -sysPassword lhr -systemPassword lhr -pdbAdminPassword lhr -dbsnmpPassword lhr \ -datafileDestination '/u01/app/oracle/oradata' -recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \ -redoLogFileSize 50 \ -storageType FS \ -characterset AL32UTF8 \ -sampleSchema true \ -totalMemory 2048 \ -databaseType MULTIPURPOSE \ -emConfiguration NONE create pluggable database PDBLHR1 admin user lhr identified by lhr; create pluggable database PDBLHR1 admin user lhr identified by lhr CREATE_FILE_DEST = '+DATA'; create pluggable database PDBLHR1 admin user lhr identified by lhr CREATE_FILE_DEST = '/u01/app/oracle/oradata'; create pluggable database PDBLHR1 admin user lhr identified by lhr ROLES = (dba); create pluggable database PDBLHR1 admin user lhr identified by lhr ROLES = (dba) file_name_convert=('/u01/app/oracle/oradata/CDBLHR/pdbseed/','/u01/app/oracle/oradata/CDBLHR/PDBLHR1') PATH_PREFIX = '/u01/app/oracle/oradata/CDBLHR/PDBLHR1'; create pluggable database PDBLHR1 admin user lhr identified by lhr file_name_convert=('+DATA','+DATA/TEST18C/PDBPROD3') PATH_PREFIX = '+DATA/TEST18C/PDBPROD3'; alter pluggable database PDBPROD3 close; drop pluggable database PDBPROD3 including datafiles; col name format a160 select con_id,name from v$datafile order by con_id; --18C 创建DB RAC dbca -silent -ignorePreReqs -ignorePrereqFailure -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname rac18c -sid rac18c \ -createAsContainerDatabase TRUE \ -sysPassword lhr -systemPassword lhr -pdbAdminPassword lhr -dbsnmpPassword lhr \ -datafileDestination '+DATA' -recoveryAreaDestination '+FRA' \ -redoLogFileSize 50 \ -storageType ASM \ -characterset AL32UTF8 \ -sampleSchema true \ -totalMemory 1024 \ -databaseType MULTIPURPOSE \ -emConfiguration NONE \ -nodeinfo raclhr-18c-n1,raclhr-18c-n2 #必须先设置参数PDB_FILE_NAME_CONVERT或db_create_file_dest的值。 #alter session set PDB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/CDBLHR/pdbseed/','/u01/app/oracle/oradata/CDBLHR/PDBLHR1/'; create pluggable database PDBLHR1 admin user lhr identified by lhr; 或: create pluggable database PDBLHR1 admin user lhr identified by lhr CREATE_FILE_DEST = '/u01/app/oracle/oradata'; create pluggable database PDBLHR1 admin user lhr identified by lhr ROLES = (dba) file_name_convert=('/u01/app/oracle/oradata/CDBLHR/pdbseed/','/u01/app/oracle/oradata/CDBLHR/PDBLHR1/') ; --- ------------------------------------------ 18c开始 --18C 创建DB dbca -silent -createDatabase \ -gdbName lhr18c \ -sid lhr18c \ -sysPassword lhr -systemPassword lhr \ -databaseConfigType SI \ -createAsContainerDatabase false \ -useLocalUndoForPDBs true \ -templateName /u08/app/oracle/product/18.0.0/dbhome_1/assistants/dbca/templates/General_Purpose.dbc \ -dvConfiguration false \ -olsConfiguration false \ -datafileJarLocation /u08/app/oracle/product/18.0.0/dbhome_1/assistants/dbca/templates/ \ -datafileDestination /u08/app/oracle/oradata/lhr18c/ \ -recoveryAreaDestination /u08/app/oracle/fast_recovery_area/lhr18c \ -storageType FS \ -registerWithDirService false \ -variables ORACLE_BASE_HOME=/u08/app/oracle/product/18.0.0/dbhome_1,DB_UNIQUE_NAME=lhr18c,ORACLE_BASE=/u08/app/oracle,PDB_NAME=,DB_NAME=lhr18c,ORACLE_HOME=/u08/app/oracle/produ-ct/18.0.0/dbhome_1,SID=lhr18c \ -initParams undo_tablespace=UNDOTBS1,db_block_size=8KB,diagnostic_dest=/u08/app/oracle,remote_login_passwordfile=EXCLUSIVE,db_create_file_dest=/u08/app/oracle/oradata/lhr18c/,au-dit_file_dest=/u08/app/oracle/admin/lhr18c/adump,processes=300,memory_target=529MB,db_recovery_file_dest_size=8106MB,open_cursors=300,compatible=18.0.0,db_name=lhr18c,db_recovery_file_dest=/u08/app/oracle/fast_recovery_area/lhr18c,audit_trail=db \ -sampleSchema TRUE \ -databaseType MULTIPURPOSE \ -automaticMemoryManagement true \ -totalMemory 529 \ -emConfiguration NONE 静默删库: dbca -silent -deleteDatabase -sourceDB lhr18cdb -sysDBAUserName sys -sysDBAPassword lhr -forceArchiveLogDeletion 存储为磁盘组的CDB单实例: dbca -silent -ignorePreReqs -ignorePrereqFailure -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname lhr18cdb -sid lhr18cdb \ -createAsContainerDatabase TRUE \ -sysPassword lhr -systemPassword lhr -pdbAdminPassword lhr -dbsnmpPassword lhr \ -datafileDestination '+DATA' -recoveryAreaDestination '+FRA' \ -redoLogFileSize 50 \ -storageType ASM \ -characterset AL32UTF8 \ -sampleSchema true \ -totalMemory 1024 \ -databaseType MULTIPURPOSE \ -emConfiguration NONE 静默创建rac类型的CDB数据库: dbca -silent -ignorePreReqs -ignorePrereqFailure -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname rac18c -sid rac18c \ -createAsContainerDatabase TRUE \ -sysPassword lhr -systemPassword lhr -pdbAdminPassword lhr -dbsnmpPassword lhr \ -datafileDestination '+DATA' -recoveryAreaDestination '+FRA' \ -redoLogFileSize 50 \ -storageType ASM \ -characterset AL32UTF8 \ -sampleSchema true \ -totalMemory 1024 \ -databaseType MULTIPURPOSE \ -emConfiguration none \ -nodeinfo raclhr-18c-n1,raclhr-18c-n2 静默方式创建FS存储方式的单实例: dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname CDBLHR -sid CDBLHR \ -createAsContainerDatabase TRUE \ -sysPassword lhr -systemPassword lhr \ -datafileDestination '/u01/app/oracle/oradata' \ -recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \ -redoLogFileSize 50 \ -storageType FS \ -characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \ -sampleSchema true \ -totalMemory 1024 \ -databaseType OLTP \ -emConfiguration NONE 静默方式创建FS存储方式的单实例(含一个PDB): dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname CDBLHR3 -sid CDBLHR3 \ -createAsContainerDatabase TRUE \ -numberOfPDBs 1 \ -pdbName pdb2 \ -pdbAdminPassword lhr \ -sysPassword lhr -systemPassword lhr \ -datafileDestination '/u01/app/oracle/oradata' \ -recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \ -redoLogFileSize 50 \ -storageType FS \ -characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \ -sampleSchema true \ -totalMemory 1024 \ -databaseType OLTP \ -emConfiguration NONE 静默方式创建一个非CDB: dbca -silent -ignorePreReqs -ignorePrereqFailure -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \ -gdbname lhrdb -sid lhrdb \ -createAsContainerDatabase FALSE \ -sysPassword lhr -systemPassword lhr -dbsnmpPassword lhr \ -datafileDestination '/u01/app/oracle/oradata' -recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \ -storageType FS \ -characterset ZHS16GBK \ -sampleSchema true \ -totalMemory 600 \ -databaseType MULTIPURPOSE \ -emConfiguration NONE --- --11g dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname ora11g -sid ora11g -sysPassword lhr -systemPassword lhr -responseFile NO_VALUE -datafileDestination /u01/app/oracle/oradata -redoLogFileSize 50 -recoveryAreaDestination /u01/app/oracle/flash_recovery_area -storageType FS -characterSet ZHS16GBK -nationalCharacterSet AL16UTF16 -sampleSchema true -memoryPercentage 30 -totalMemory 200 -databaseType OLTP -emConfiguration NONE -automaticMemoryManagement true dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname ora11g -sid ora11g -responseFile NO_VALUE -datafileDestination /u01/app/oracle/oradata -characterSet AL32UTF8 ----ASM 存储 单实例 dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname ora11g -sid ora11g -sysPassword lhr -systemPassword lhr -responseFile NO_VALUE -datafileDestination 'DATA/' -redoLogFileSize 50 -recoveryAreaDestination 'TEST/' -storageType ASM -asmsnmpPassword lhr -diskGroupName 'DATA' -characterSet ZHS16GBK -nationalCharacterSet AL16UTF16 -sampleSchema true -memoryPercentage 30 -totalMemory 200 -databaseType OLTP -emConfiguration NONE -automaticMemoryManagement true ---默认 --- 闪回恢复区 创建 --storageType FS --sampleSchema 默认创建 --em 默认不创建 --10g dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname ora11g -sid ora11g -sysPassword lhr -systemPassword lhr -responseFile NO_VALUE -datafileDestination /u01/app/oracle/oradata -recoveryAreaDestination /u01/app/oracle/flash_recovery_area -storageType FS -characterSet ZHS16GBK -nationalCharacterSet AL16UTF16 -sampleSchema true -memoryPercentage 30 -databaseType OLTP -emConfiguration NONE ----------------根据模板文件进行安装 dbca -silent -responseFile $ORACLE_HOME/assistants/dbca/dbca.rsp dbca -silent -cloneTemplate -responseFile $ORACLE_HOME/assistants/dbca/dbca.rsp -gdbName orcltest -sid orcltest -datafileDestination /u01/app/oracle/oradata -------------------- 根据数据库生成不带数据文件的模板 dbca -silent -createTemplateFromDB -sourceDB 192.168.59.130:1521:ora10g -templateName dbtemplate_ora10g2_lhr -sysDBAUserName sys -sysDBAPassword lhr -------------------- 根据数据库生成带数据文件的模板 dbca -silent -createCloneTemplate -sourceDB orcltest -sysDBAUserName lhr -sysDBAPassword lhr -templateName dbtemplate_orcltest_lhr -datafileJarLocation -------------------- 利用带数据文件的模板生成克隆数据库 dbca -silent -createDatabase -templateName dbtemplate_orcltest_lhr.dbc -gdbname orcl22 -sid orcl22 -sysPassword lhr -systemPassword lhr -datafileJarLocation $ORACLE_HOME/assistants/dbca/templates -datafileDestination /u01/app/oracle/oradata -responseFile NO_VALUE -characterset ZHS16GBK -------------------- 利用不带数据文件的模板生成新的数据库 慢,不推荐 ----dbca -silent -createDatabase -templateName New_Database.dbt -gdbname test33 -sid test33 -datafileDestination /u01/app/oracle/oradata -responseFile NO_VALUE -characterset ZHS16GBK ---------------- 删除数据库 dbca -silent -deleteDatabase -sourceDB orclbb -sysDBAUserName sys -sysDBAPassword lhr dbca -silent -deleteDatabase -sourceDB rac18c -sysDBAUserName sys -sysDBAPassword lhr -forceArchiveLogDeletion ------------- linux、AIX下 rac 数据库的创建 dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname jmrac -sid jmrac -sysPassword lhr -systemPassword lhr -datafileDestination 'DATA/' -redoLogFileSize 50 -recoveryAreaDestination 'ARCH/' -storageType ASM -asmsnmpPassword lhr -diskGroupName 'DATA' -responseFile NO_VALUE -characterset ZHS16GBK -nationalCharacterSet AL16UTF16 -sampleSchema true -automaticMemoryManagement true -totalMemory 500 -nodeinfo node1,node2 ----windows下创建rac库,注意参数 diskGroupName 为 DATA ,不能带有引号 dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname winrac -sid winrac -sysPassword lhr -systemPassword lhr -datafileDestination 'DATA/' -redoLogFileSize 50 -recoveryAreaDestination 'FRA/' -storageType ASM -asmsnmpPassword lhr -diskGroupName DATA -responseFile NO_VALUE -characterset ZHS16GBK -nationalCharacterSet AL16UTF16 -sampleSchema true -automaticMemoryManagement true -totalMemory 300 -nodeinfo rac1,rac2 ----- 或者: [oracle@node1 dbca]$ more $ORACLE_HOME/assistants/dbca/dbca_rac.rsp [GENERAL] RESPONSEFILE_VERSION = "11.2.0" OPERATION_TYPE = "createDatabase" [CREATEDATABASE] GDBNAME = "myrac" SID = "myrac" NODELIST=node1,node2 TEMPLATENAME = "General_Purpose.dbc" SYSPASSWORD = "lhr" SYSTEMPASSWORD = "lhr" SYSMANPASSWORD = "lhr" DBSNMPPASSWORD = "lhr" STORAGETYPE=ASM DISKGROUPNAME=DATA ASMSNMP_PASSWORD="lhr" RECOVERYGROUPNAME=ARCH CHARACTERSET = "ZHS16GBK" NATIONALCHARACTERSET= "UTF8" [oracle@node1 dbca]$ dbca -silent -responseFile $ORACLE_HOME/assistants/dbca/dbca_rac.rsp |
磁盘组
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | sqlplus / as sysasm create diskgroup DATA external redundancy disk '/dev/asm-diskc' ATTRIBUTE 'compatible.asm' = '12.1.0.0.0'; create diskgroup FRA external redundancy disk '/dev/asm-diskd' ATTRIBUTE 'compatible.asm' = '12.1.0.0.0'; create diskgroup DATA external redundancy disk '/dev/asm-diskd','/dev/asm-diske','/dev/asm-diskf','/dev/asm-diskg' ATTRIBUTE 'compatible.rdbms' = '12.2.0.1.0', 'compatible.asm' = '12.2.0.1.0'; create diskgroup FRA external redundancy disk '/dev/asm-diskh','/dev/asm-diski','/dev/asm-diskj' ATTRIBUTE 'compatible.rdbms' = '12.2.0.1.0', 'compatible.asm' = '12.2.0.1.0'; srvctl start diskgroup -diskgroup data srvctl start diskgroup -diskgroup fra alter diskgroup all mount; col name format a10 set line 9999 col path format a25 select GROUP_NUMBER,path,name,disk_number,total_mb,free_mb,CREATE_DATE,MOUNT_STATUS,MOUNT_DATE from v$asm_disk order by GROUP_NUMBER desc,disk_number; select name,state,free_mb,required_mirror_free_mb,usable_file_mb from v$asm_diskgroup; alter diskgroup DATA SET ATTRIBUTE 'compatible.asm'='12.1.0.0.0'; alter diskgroup FRA SET ATTRIBUTE 'compatible.asm'='12.1.0.0.0'; |
监听
1 | netca -silent -responsefile $ORACLE_HOME/assistants/netca/netca.rsp |
常见错误
Linux 7 安装11g rac
ohasd failed to start
参考:
http://blog.itpub.net/26736162/viewspace-2215349/
http://blog.itpub.net/26736162/viewspace-2690327/
http://blog.itpub.net/26736162/viewspace-2692826/
RHEL7或CentOS7安装11g的rac需要做额外的配置,2个节点都需要配置,否则会报错:ohasd failed to start
在 centos 7 下安装 11.2.0.4 GI,运行 root.sh 时报错 Failed to start the Clusterware. Last 20 lines of the alert log follow:
,主要要因为 centos 7使用 systemd 而不是 initd 运行进程和重启进程,而 root.sh 是通过传统的 initd 运行ohasd进程。
1 2 3 4 5 | Adding Clusterware entries to inittab ohasd failed to start Failed to start the Clusterware. Last 20 lines of the alert log follow: 2022-08-04 22:54:26.837: [client(43411)]CRS-2101:The OLR was formatted using version 3. |
解决:2个节点都做如下操作,然后再执行root.sh脚本。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | cat > /usr/lib/systemd/system/ohas.service <<"EOF" [Unit] Description=Oracle High Availability Services After=syslog.target [Service] ExecStart=/etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple Restart=always [Install] WantedBy=multi-user.target EOF -- 启动 systemctl daemon-reload systemctl enable ohas.service systemctl start ohas.service systemctl status ohas.service |
注意:
1、为了避免其余节点遇到这种报错,可以在root.sh执行过程中,待/etc/init.d/目录下生成了init.ohasd 文件后执行systemctl start ohasd.service
启动ohasd服务即可。若没有/etc/init.d/init.ohasd
文件 systemctl start ohasd.service
则会启动失败。
注意:所有节点均需要执行!!!
2、若打了最新的PSU补丁后,则需要关掉该脚本:systemctl disable ohas.service
,否则集群不能正常启动。
TIMED OUT WAITING FOR OHASD MONITOR
CentOS 7.6安装11.2.0.4的rac,在节点1执行root.sh卡住:
1 2 3 4 5 6 7 | Adding Clusterware entries to inittab ohasd failed to start Failed to start the Clusterware. Last 20 lines of the alert log follow: 2022-08-04 22:54:26.837: [client(43411)]CRS-2101:The OLR was formatted using version 3. 卡在这里。。。。 |
查看ohasd.log报错:
1 | 2022-08-04 23:04:56.274: [ default][3970635584] Created alert : (:OHAS00117:) : TIMED OUT WAITING FOR OHASD MONITOR |
这是Oracle 11g 的一个bug。
解决,在root.sh执行到Adding Clusterware entries to inittab
时,或者文件/var/tmp/.oracle/npohasd
产生时就可以执行如下的命令了:
1 | /bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1 |
等待root.sh成功执行完毕后可以ctrl+c取消这里的命令!
注意:该问题在节点2并不会产生。
[INS-35423] The installer has detected that Oracle Clusterware is not running on local node
在节点1安装db软件,若静默安装则安装进程直接退出,无任何错误输出如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | [oracle@oarac1 ~]$ /soft/database/runInstaller -silent -force -noconfig -IgnoreSysPreReqs -ignorePrereq -showProgress \ > oracle.install.option=INSTALL_DB_SWONLY \ > UNIX_GROUP_NAME=oinstall \ > INVENTORY_LOCATION=/u01/app/oraInventory \ > ORACLE_BASE=/u01/app/oracle \ > oracle.install.db.InstallEdition=EE \ > oracle.install.db.OSDBA_GROUP=dba \ > oracle.install.db.OSOPER_GROUP=oper \ > oracle.install.db.OSBACKUPDBA_GROUP=dba \ > oracle.install.db.OSDGDBA_GROUP=dba \ > oracle.install.db.OSKMDBA_GROUP=dba \ > oracle.install.db.OSRACDBA_GROUP=dba \ > oracle.install.db.CLUSTER_NODES=oarac1,oarac2 \ > oracle.install.db.config.starterdb.type=GENERAL_PURPOSE \ > ORACLE_HOSTNAME=oarac1 Starting Oracle Universal Installer... Checking Temp space: must be greater than 120 MB. Actual 175497 MB Passed Checking swap space: 0 MB available, 150 MB required. Failed <<<< >>> Ignoring required pre-requisite failures. Continuing... Preparing to launch Oracle Universal Installer from /tmp/OraInstall2022-11-24_07-25-55PM. Please wait ...[oracle@oarac1 ~]$ [WARNING] - My Oracle Support Username/Email Address Not Specified [oracle@oarac1 ~]$ [oracle@oarac1 ~]$ [oracle@oarac1 ~]$ ps -ef|grep java root 1084 1 0 17:31 ? 00:00:01 /CloudResetPwdUpdateAgent/bin/./wrapper /CloudResetPwdUpdateAgent/bin/../conf/wrapper.conf wrapper.syslog.ident=cloudResetPwdUpdateAgent wrapper.pidfile=/CloudResetPwdUpdateAgent/bin/./cloudResetPwdUpdateAgent.pid wrapper.name=cloudResetPwdUpdateAgent wrapper.displayname=cloudResetPwdUpdateAgent wrapper.daemonize=TRUE wrapper.statusfile=/CloudResetPwdUpdateAgent/bin/./cloudResetPwdUpdateAgent.status wrapper.java.statusfile=/CloudResetPwdUpdateAgent/bin/./cloudResetPwdUpdateAgent.java.status wrapper.lockfile=/var/lock/subsys/cloudResetPwdUpdateAgent wrapper.script.version=3.5.26 root 1407 1084 0 17:31 ? 00:00:02 /CloudResetPwdUpdateAgent/depend/jre/bin/java -Dorg.tanukisoftware.wrapper.WrapperSimpleApp.maxStartMainWait=40 -Xms16m -Xmx64m -Djava.library.path=../lib -classpath ../lib/resetpwdupdateagent.jar:../lib/wrapper.jar:../lib/json-20160810.jar -Dwrapper.key=gjPIaWeBWSTEDCDo -Dwrapper.backend=pipe -Dwrapper.disable_console_input=TRUE -Dwrapper.pid=1084 -Dwrapper.version=3.5.26 -Dwrapper.native_library=wrapper -Dwrapper.arch=x86 -Dwrapper.service=TRUE -Dwrapper.cpu.timeout=180 -Dwrapper.jvmid=1 org.tanukisoftware.wrapper.WrapperSimpleApp CloudResetPwdUpdateAgent grid 18124 1 0 19:10 ? 00:00:05 /u01/app/11.2.0.4/grid/jdk/bin/java -server -Xcheck:jni -Xms128M -Xmx384M -Djava.awt.headless=true -Ddisable.checkForUpdate=true -Dstdstream.filesize=100 -Dstdstream.filenumber=10 -DTRACING.ENABLED=false -Doracle.wlm.dbwlmlogger.logging.level=INFO -Dport.rmi=23792 -jar /u01/app/11.2.0.4/grid/oc4j/j2ee/home/oc4j.jar -config /u01/app/11.2.0.4/grid/oc4j/j2ee/home/OC4J_DBWLM_config/server.xml -out /u01/app/11.2.0.4/grid/oc4j/j2ee/home/log/oc4j.out -err /u01/app/11.2.0.4/grid/oc4j/j2ee/home/log/oc4j.err oracle 22531 22308 0 19:27 pts/2 00:00:00 grep --color=auto java [oracle@oarac1 ~]$ - -- 没有安装进程了 |
若图形界面安装,则报错[INS-35423] The installer has detected that Oracle Clusterware is not running on local node
解决:只能通过图形化界面安装,并且添加参数ORACLE_HOSTNAME,如下:
1 | ./runInstaller -debug ORACLE_HOSTNAME=rac1 |
Error in invoking target 'agent nmhs' of makefile 'ins_emagent.mk'
在节点1安装db软件,报错:Error in invoking target 'agent nmhs' of makefile 'ins_emagent.mk'
解决:在makefile中添加链接libnnz11库的参数
具体修改文件:/u01/app/oracle/product/11.2.0.4/dbhome_1/sysman/lib/ins_emagent.mk
具体修改$ORACLE_HOME/sysman/lib/ins_emagent.mk
,将第176行的$(MK_EMAGENT_NMECTL)
修改为:$(MK_EMAGENT_NMECTL) -lnnz11
保存退出后Retry即可。
云平台上ASM2不能启动
原因:haip的bug,解决:禁用haip,或者web界面禁用“源/目的检查”,请参考:https://www.xmmup.com/huaweiyunecsanzhuangoracle-racyunduanziyuanshenqingbuzhou.html
1 2 3 4 5 6 7 8 | crsctl stop crs -f crsctl start crs -excl -nocrs crsctl stop res ora.asm -init crsctl modify res ora.cluster_interconnect.haip -attr "ENABLED=0" -init crsctl modify res ora.asm -attr "START_DEPENDENCIES='hard(ora.cssd,ora.ctssd)pullup(ora.cssd,ora.ctssd)weak(ora.drivers.acfs)',STOP_DEPENDENCIES='hard(intermediate:ora.cssd)'" -init crsctl stop crs |