在一套两节点的rac上增加一个新的节点,详细的操作记录如下:
 

已有节点RAC1,RAC2

一,环境及版本:
公司环境:Vmware Esxi 5.5 
操作系统:Redhat 5.8 x86_64
数据库版本:oracle 11g release 2 11.2.0.1
 
二,安装操作系统
1.准备一套全新的操作系统
 
三,挂载共享存储
 
四,安装前准备
 
1.一些参数文件的配置
/etc/hosts   --- 三个节点一致
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 dbrac1 localhost.localdomain localhost
#:: localhost6.localdomain6 localhost6
##Public Network - (eth0)
192.168.1.70 dbrac1
192.168.1.71 dbrac2
192.168.1.73 dbrac3
##Private Interconnect - (eth1)
192.168.2.80 dbrac1-priv
192.168.2.81 dbrac2-priv
192.168.2.82 dbrac3-priv ##Public Virtual IP (VIP) addresses - (eth0)
192.168.1.180 dbrac1-vip
192.168.1.183 dbrac2-vip
192.168.1.184 dbrac3-vip 192.168.1.188 dbrac-scan
192.168.1.189 dbrac-scan
192.168.1.190 dbrac-scan

/etc/security/limits.conf ---新节点配置

#ORACLE SETTING
grid soft nproc
grid hard nproc
grid soft nofile
grid hard nofile
oracle soft nproc
oracle hard nproc
oracle soft nofile
oracle hard nofile

/etc/pam.d/login

session    required     pam_limits.so

/etc/sysctl.conf

#ORACLE SETTING
fs.aio-max-nr =
fs.file-max =
kernel.shmall =
kernel.shmmax =
kernel.shmmni =
kernel.sem =
net.ipv4.ip_local_port_range =
net.core.rmem_default =
net.core.rmem_max =
net.core.wmem_default = net.core.wmem_max =
[root@dbrac3 ~]# sysctl -p
net.ipv4.ip_forward =
net.ipv4.conf.default.rp_filter =
net.ipv4.conf.default.accept_source_route =
kernel.sysrq =
kernel.core_uses_pid =
net.ipv4.tcp_syncookies =
kernel.msgmnb =
kernel.msgmax =
kernel.shmmax =
kernel.shmall =
fs.aio-max-nr =
fs.file-max =
kernel.shmall =
kernel.shmmax =
kernel.shmmni =
kernel.sem =
net.ipv4.ip_local_port_range =
net.core.rmem_default =
net.core.rmem_max =
net.core.wmem_default =
net.core.wmem_max =
[root@db11 ~]# vi /etc/fstab
  tmpfs /dev/shm tmpfs defaults,size=2048M
[root@db11 ~]# mount -o remount /dev/shm
[root@db11 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
69G .0G 59G % /
/dev/mapper/VolGroup00-LogVol02
19G 417M 18G % /tmp
/dev/sda1 99M 13M 81M % /boot
tmpfs .0G .0G % /dev/shm

创建所需的组和用户

 groupadd -g  oinstall

 groupadd -g  dba

 groupadd -g  oper

 groupadd -g  asmadmin

 groupadd -g  asmoper

 groupadd -g  asmdba

 useradd -g oinstall -G dba,asmdba,oper oracle

 useradd -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid

创建所需的目录(创建的目录要和两个节点的目录完全相同)

 mkdir -p /u01/app/oracle

 mkdir -p /u01/app/grid

 chown -R oracle:oinstall /u01/app/oracle/

 chown -R grid:oinstall /u01/app/grid/

 chmod -R  /u01/app/grid/

 chmod -R  /u01/app/oracle/

还需要手动创建清单目录
mkdir -p /u01/app/oraInventory chown -R grid:oinstall /u01/app/oraInventory

创建密码

[root@db11 ~]# passwd oracle

Changing password for user oracle.

New UNIX password:

BAD PASSWORD: it is based on a dictionary word

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

[root@db11 ~]# passwd grid

Changing password for user grid.

New UNIX password:

BAD PASSWORD: it is too short

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

环境变量

[root@dbrac3 ~]# su - grid
+ASM3@dbrac3 /home/grid$ cat .bash_profile
# .bash_profile # Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH
##################################################
# User specific environment and startup programs
##################################################
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2./grid
export ORACLE_PATH=$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin
##################################################
# Each RAC node must have a unique ORACLE_SID. (i.e. orcl1,orcl2,...)
##################################################
export ORACLE_SID=+ASM3
export PATH=$ORA_CRS_HOME/bin:.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin:$ORA_CRS_HOME/bin:/sbin
export ORACLE_TERM=xterm
#export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
##################################################
# set NLS_LANG to resolve messy code in SQLPLUS
##################################################
export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
##################################################
# Shell setting.
##################################################
umask
set -o vi
export PS1="\${ORACLE_SID}@`hostname` \${PWD}$ "
##################################################
# Oracle Alias
##################################################
alias ls="ls -FA"
alias vi=vim
alias base='cd $ORACLE_BASE'
alias home='cd $ORACLE_HOME'
alias alert='tail -200f $ORACLE_BASE/admin/RACDB/bdump/alert_$ORACLE_SID.log'
alias tnsnames='vi $ORACLE_HOME/network/admin/tnsnames.ora'
alias listener='vi $ORACLE_HOME/network/admin/listener.ora'
[root@dbrac3 ~]# su - oracle
DB113@dbrac3 /home/oracle$
DB113@dbrac3 /home/oracle$
DB113@dbrac3 /home/oracle$
DB113@dbrac3 /home/oracle$
DB113@dbrac3 /home/oracle$ cat .bash_profile
# .bash_profile # Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH
##################################################
# User specific environment and startup programs
##################################################
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.
export ORACLE_PATH=$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin
##################################################
# Each RAC node must have a unique ORACLE_SID. (i.e. orcl1,orcl2,...)
##################################################
export ORACLE_SID=DB113
export PATH=$ORA_CRS_HOME/bin:.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin:$ORA_CRS_HOME/bin:/sbin
export ORACLE_TERM=xterm
#export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
##################################################
# set NLS_LANG to resolve messy code in SQLPLUS
##################################################
export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
##################################################
# Shell setting.
##################################################
umask
set -o vi
export PS1="\${ORACLE_SID}@`hostname` \${PWD}$ "
##################################################
# Oracle Alias
##################################################
alias ls="ls -FA"
alias vi=vim
alias base='cd $ORACLE_BASE'
alias home='cd $ORACLE_HOME'
alias alert='tail -200f $ORACLE_BASE/admin/RACDB/bdump/alert_$ORACLE_SID.log'
alias tnsnames='vi $ORACLE_HOME/network/admin/tnsnames.ora'
alias listener='vi $ORACLE_HOME/network/admin/listener.ora'
2.安装所需的rpm包
()配置本地yum源
.mount /dev/cdrom /media/cdrom
.cat >> /etc/yum.repos.d/dvd.repo<<EOF
[dvd]
name=install dvd
baseurl=file:///media/cdrom/Server ? ?#repodata/repomd.xml
enabled=
gpgcheck=
EOF
.yum clean all
yum list
说明:
在yum list的时候报下面的错误:
Error: Cannot retrieve repository metadata (repomd.xml) for repository: dvd.
参考redhat6配置yum源问题
()通过yum安装所需的依赖包
下面为官方文档中列出的安装包
binutils-2.17.50.0.
compat-libstdc++--3.2.
compat-libstdc++--3.2. ( bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.
gcc-c++-4.1.
glibc-2.5-
glibc-2.5- ( bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 ( bit)
glibc-headers-2.5
ksh-
libaio-0.3.
libaio-0.3. ( bit)
libaio-devel-0.3.
libaio-devel-0.3. ( bit)
libgcc-4.1.
libgcc-4.1. ( bit)
libstdc++-4.1.
libstdc++-4.1. ( bit)
libstdc++-devel 4.1.
make-3.81
sysstat-7.0.
安装
yum install libaio-devel -y
yum install gcc -y
yum install elfutils-libelf -y
yum install glibc -y
yum install libstdc++ -y
yum install sysstat -y
yum install unixODBC -y
yum -y install unixODBC-devel -y
yum -y install gcc-c++ -y
yum -y install glibc-devel -y
yum -y install elfutils-libelf-devel -y

3.配置互信

操作步骤:

、配置ssh:   

在dbrac3:

su - oracle
mkdir ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa 在dbrac1和dbrac2: su - oracle
ssh dbrac3 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh dbrac3 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys dbrac3:~/.ssh/authorized_keys 在dbrac3: su - grid
mkdir ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa 在dbrac1和dbrac2:

su - grid
ssh dbrac3 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh dbrac3 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys dbrac3:~/.ssh/authorized_keys 检测 在每个节点上的oracle和grid用户下执行:
ssh dbrac1 date
ssh dbrac2 date
ssh dbrac3 date
ssh dbrac1-priv date
ssh dbrac2-priv date
ssh dbrac3-priv date
ssh dbrac1

五,正式安装

(1)dbrac3先安装下cvuqdisk包,这个包在GI安装文件中有。

[root@dbrac3 grid]# cd rpm/
[root@dbrac3 rpm]# ll
total
-rw-rw-r-- grid oinstall Jul cvuqdisk-1.0.-.rpm
[root@dbrac3 rpm]# rpm -ivh cvuqdisk-1.0.-.rpm
Preparing... ########################################### [%]
Using default group oinstall to install package
:cvuqdisk ########################################### [%]

(2)检测是否具备增加节点的条件

在节点一或者节点二上执行
[grid@dbrac1 ~]$ cluvfy stage -pre nodeadd -n dbrac3

Performing pre-checks for node addition 

Checking node reachability...
Node reachability check passed from node "dbrac1" Checking user equivalence...
User equivalence check passed for user "grid" Checking node connectivity... Checking hosts config file... Verification of the hosts config file successful Check: Node connectivity for interface "eth0"
Node connectivity passed for interface "eth0" Node connectivity check passed Checking CRS integrity... CRS integrity check passed Checking shared resources...
Shared resources check for node addition failed Check failed on nodes:
dbrac3 Checking node connectivity... Checking hosts config file... Verification of the hosts config file successful Node connectivity passed for subnet "192.168.1.0" with node(s) dbrac1,dbrac2,dbrac3
TCP connectivity check passed for subnet "192.168.1.0" Node connectivity passed for subnet "192.168.2.0" with node(s) dbrac1,dbrac2,dbrac3
TCP connectivity check passed for subnet "192.168.2.0" Interfaces found on subnet "192.168.2.0" that are likely candidates for a private interconnect are:
dbrac1 eth1:192.168.2.80
dbrac2 eth1:192.168.2.81
dbrac3 eth3:192.168.2.82 WARNING:
Could not find a suitable set of interfaces for VIPs WARNING:
Could not find a suitable set of interfaces with the same name for the private interconnect Node connectivity check passed Total memory check passed
Available memory check passed
Swap space check passed
Free disk space check passed for "dbrac3:/tmp"
User existence check passed for "grid"
Run level check passed
Hard limits check passed for "maximum open file descriptors"
Soft limits check passed for "maximum open file descriptors"
Hard limits check passed for "maximum user processes"
Soft limits check passed for "maximum user processes"
System architecture check passed
Kernel version check passed
Kernel parameter check passed for "semmsl"
Kernel parameter check passed for "semmns"
Kernel parameter check passed for "semopm"
Kernel parameter check passed for "semmni"
Kernel parameter check passed for "shmmax"
Kernel parameter check passed for "shmmni"
Kernel parameter check passed for "shmall"
Kernel parameter check passed for "file-max"
Kernel parameter check passed for "ip_local_port_range"
Kernel parameter check passed for "rmem_default"
Kernel parameter check passed for "rmem_max"
Kernel parameter check passed for "wmem_default"
Kernel parameter check passed for "wmem_max"
Kernel parameter check passed for "aio-max-nr"
Package existence check passed for "make-3.81"
Package existence check passed for "binutils-2.17.50.0.6"
Package existence check failed for "gcc-4.1"
Check failed on nodes:
dbrac3
Package existence check passed for "libaio-0.3.106 (i386)"
Package existence check passed for "libaio-0.3.106 (x86_64)"
Package existence check passed for "glibc-2.5-24 (i686)"
Package existence check passed for "glibc-2.5-24 (x86_64)"
Package existence check passed for "compat-libstdc++-33-3.2.3 (i386)"
Package existence check passed for "compat-libstdc++-33-3.2.3 (x86_64)"
Package existence check passed for "elfutils-libelf-0.125 (x86_64)"
Package existence check failed for "elfutils-libelf-devel-0.125"
Check failed on nodes:
dbrac3
Package existence check passed for "glibc-common-2.5"
Package existence check failed for "glibc-devel-2.5 (i386)"
Check failed on nodes:
dbrac3
Package existence check failed for "glibc-devel-2.5 (x86_64)"
Check failed on nodes:
dbrac3
Package existence check failed for "glibc-headers-2.5"
Check failed on nodes:
dbrac3
Package existence check failed for "gcc-c++-4.1.2"
Check failed on nodes:
dbrac3
Package existence check failed for "libaio-devel-0.3.106 (i386)"
Check failed on nodes:
dbrac3
Package existence check failed for "libaio-devel-0.3.106 (x86_64)"
Check failed on nodes:
dbrac3
Package existence check passed for "libgcc-4.1.2 (i386)"
Package existence check passed for "libgcc-4.1.2 (x86_64)"
Package existence check passed for "libstdc++-4.1.2 (i386)"
Package existence check passed for "libstdc++-4.1.2 (x86_64)"
Package existence check failed for "libstdc++-devel-4.1.2 (x86_64)"
Check failed on nodes:
dbrac3
Package existence check failed for "sysstat-7.0.2"
Check failed on nodes:
dbrac3
Package existence check failed for "unixODBC-2.2.11 (i386)"
Check failed on nodes:
dbrac3
Package existence check failed for "unixODBC-2.2.11 (x86_64)"
Check failed on nodes:
dbrac3
Package existence check failed for "unixODBC-devel-2.2.11 (i386)"
Check failed on nodes:
dbrac3
Package existence check failed for "unixODBC-devel-2.2.11 (x86_64)"
Check failed on nodes:
dbrac3
Package existence check passed for "ksh-20060214"
Check for multiple users with UID value passed User "grid" is not part of "root" group. Check passed Starting Clock synchronization checks using Network Time Protocol(NTP)... NTP Configuration file check started...
Network Time Protocol(NTP) configuration file not found on any of the nodes. Oracle Cluster Time Synchronization Service(CTSS) can be used instead of NTP for time synchronization on the cluster nodes Clock synchronization check using Network Time Protocol(NTP) passed Pre-check for node addition was unsuccessful on all the nodes.

上面的一些fail项可以跳过

然后选择一个节点执行增加节点脚本

(3)扩展grid(大概一个小时)

+ASM2@dbrac2  /u01/app/11.2./grid/oui/bin$ ./addNode.sh "CLUSTER_NEW_NODES={dbrac3}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={dbrac3-vip}"
Starting Oracle Universal Installer... Checking swap space: must be greater than MB. Actual MB Passed
Checking monitor: must be configured to display at least colors
>>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set. Failed <<<< Some requirement checks failed. You must fulfill these requirements before continuing with the installation, Continue? (y/n) [n] y >>> Ignoring required pre-requisite failures. Continuing...
Oracle Universal Installer, Version 11.2.0.1. Production
Copyright (C) , , Oracle. All rights reserved. Performing tests to see whether nodes dbrac1,dbrac3 are available
............................................................... % Done. .
-----------------------------------------------------------------------------
Cluster Node Addition Summary
Global Settings
Source: /u01/app/11.2./grid
New Nodes
Space Requirements
New Nodes
dbrac3
/: Required .01GB : Available .83GB
Installed Products
Product Names
Oracle Grid Infrastructure 11.2.0.1.
Sun JDK 1.5.0.17.
Installer SDK Component 11.2.0.1.
Oracle One-Off Patch Installer 11.2.0.0.
Oracle Universal Installer 11.2.0.1.
Oracle Configuration Manager Deconfiguration 10.3.1.0.
Enterprise Manager Common Core Files 10.2.0.4.
Oracle DBCA Deconfiguration 11.2.0.1.
Oracle RAC Deconfiguration 11.2.0.1.
Oracle Quality of Service Management (Server) 11.2.0.1.
Installation Plugin Files 11.2.0.1.
Universal Storage Manager Files 11.2.0.1.
Oracle Text Required Support Files 11.2.0.1.
Automatic Storage Management Assistant 11.2.0.1.
Oracle Database 11g Multimedia Files 11.2.0.1.
Oracle Multimedia Java Advanced Imaging 11.2.0.1.
Oracle Globalization Support 11.2.0.1.
Oracle Multimedia Locator RDBMS Files 11.2.0.1.
Oracle Core Required Support Files 11.2.0.1.
Bali Share 1.1.18.0.
Oracle Database Deconfiguration 11.2.0.1.
Oracle Quality of Service Management (Client) 11.2.0.1.
Expat libraries 2.0.1.0.
Oracle Containers for Java 11.2.0.1.
Perl Modules 5.10.0.0.
Secure Socket Layer 11.2.0.1.
Oracle JDBC/OCI Instant Client 11.2.0.1.
Oracle Multimedia Client Option 11.2.0.1.
LDAP Required Support Files 11.2.0.1.
Character Set Migration Utility 11.2.0.1.
Perl Interpreter 5.10.0.0.
PL/SQL Embedded Gateway 11.2.0.1.
OLAP SQL Scripts 11.2.0.1.
Database SQL Scripts 11.2.0.1.
Oracle Extended Windowing Toolkit 3.4.47.0.
SSL Required Support Files for InstantClient 11.2.0.1.
SQL*Plus Files for Instant Client 11.2.0.1.
Oracle Net Required Support Files 11.2.0.1.
Oracle Database User Interface 2.2.13.0.
RDBMS Required Support Files for Instant Client 11.2.0.1.
Enterprise Manager Minimal Integration 11.2.0.1.
XML Parser for Java 11.2.0.1.
Oracle Security Developer Tools 11.2.0.1.
Oracle Wallet Manager 11.2.0.1.
Enterprise Manager plugin Common Files 11.2.0.1.
Platform Required Support Files 11.2.0.1.
Oracle JFC Extended Windowing Toolkit 4.2.36.0.
RDBMS Required Support Files 11.2.0.1.
Oracle Ice Browser 5.2.3.6.
Oracle Help For Java 4.2.9.0.
Enterprise Manager Common Files 10.2.0.4.
Deinstallation Tool 11.2.0.1.
Oracle Java Client 11.2.0.1.
Cluster Verification Utility Files 11.2.0.1.
Oracle Notification Service (eONS) 11.2.0.1.
Oracle LDAP administration 11.2.0.1.
Cluster Verification Utility Common Files 11.2.0.1.
Oracle Clusterware RDBMS Files 11.2.0.1.
Oracle Locale Builder 11.2.0.1.
Oracle Globalization Support 11.2.0.1.
Buildtools Common Files 11.2.0.1.
Oracle RAC Required Support Files-HAS 11.2.0.1.
SQL*Plus Required Support Files 11.2.0.1.
XDK Required Support Files 11.2.0.1.
Agent Required Support Files 10.2.0.4.
Parser Generator Required Support Files 11.2.0.1.
Precompiler Required Support Files 11.2.0.1.
Installation Common Files 11.2.0.1.
Required Support Files 11.2.0.1.
Oracle JDBC/THIN Interfaces 11.2.0.1.
Oracle Multimedia Locator 11.2.0.1.
Oracle Multimedia 11.2.0.1.
HAS Common Files 11.2.0.1.
Assistant Common Files 11.2.0.1.
PL/SQL 11.2.0.1.
HAS Files for DB 11.2.0.1.
Oracle Recovery Manager 11.2.0.1.
Oracle Database Utilities 11.2.0.1.
Oracle Notification Service 11.2.0.0.
SQL*Plus 11.2.0.1.
Oracle Netca Client 11.2.0.1.
Oracle Net 11.2.0.1.
Oracle JVM 11.2.0.1.
Oracle Internet Directory Client 11.2.0.1.
Oracle Net Listener 11.2.0.1.
Cluster Ready Services Files 11.2.0.1.
Oracle Database 11g 11.2.0.1.
----------------------------------------------------------------------------- Instantiating scripts for add node (Friday, March , :: AM CST)
. % Done.
Instantiation of add node scripts complete Copying to remote nodes (Friday, March , :: AM CST)
............................................................................................... % Done.
Home copied to new nodes Saving inventory on nodes (Friday, March , :: AM CST)
SEVERE:Remote 'UpdateNodeList' failed on nodes: 'dbrac1'. Refer to '/u01/app/oraInventory/logs/addNodeActions2014-03-21_10-20-33AM.log' for details.
You can manually re-run the following command on the failed nodes after the installation:
/u01/app/11.2./grid/oui/bin/runInstaller -updateNodeList -noClusterEnabled ORACLE_HOME=/u01/app/11.2./grid CLUSTER_NODES=dbrac1,dbrac2,dbrac3 CRS=true "INVENTORY_LOCATION=/u01/app/oraInventory" -invPtrLoc "/u01/app/11.2.0/grid/oraInst.loc" LOCAL_NODE=<node on which command is to be run>.
Please refer 'UpdateNodeList' logs under central inventory of remote nodes where failure occurred for more details.
. % Done.
Save inventory complete
WARNING:A new inventory has been created on one or more nodes in this session. However, it has not yet been registered as the central inventory of this system.
To register the new inventory please run the script at '/u01/app/oraInventory/orainstRoot.sh' with root privileges on nodes 'dbrac3'.
If you do not register the inventory, you may not be able to update or patch the products you installed.
The following configuration scripts need to be executed as the "root" user in each cluster node.
/u01/app/oraInventory/orainstRoot.sh #On nodes dbrac3
/u01/app/11.2./grid/root.sh #On nodes dbrac3
To execute the configuration scripts:
. Open a terminal window
. Log in as "root"
. Run the scripts in each cluster node The Cluster Node Addition of /u01/app/11.2./grid was successful.
Please check '/tmp/silentInstall.log' for more details.

有个failed,提示手动执行

##在dbrac1 grid用户下
[grid@dbrac1 ~]$ /u01/app/11.2./grid/oui/bin/runInstaller -updateNodeList -noClusterEnabled ORACLE_HOME=/u01/app/11.2./grid CLUSTER_NODES=dbrac1,dbrac2,dbrac3 CRS=true "INVENTORY_LOCATION=/u01/app/oraInventory" -invPtrLoc "/u01/app/11.2.0/grid/oraInst.loc" LOCAL_NODE=dbrac1
Starting Oracle Universal Installer... Checking swap space: must be greater than MB. Actual MB Passed
The inventory pointer is located at /u01/app/11.2./grid/oraInst.loc
The inventory is located at /u01/app/oraInventory

执行两个脚本:

[root@dbrac3 /]# /u01/app/oraInventory/orainstRoot.sh
Creating the Oracle inventory pointer file (/etc/oraInst.loc)
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world. Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@dbrac3 /]# /u01/app/11.2./grid/root.sh
Running Oracle 11g root.sh script... The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /u01/app/11.2./grid Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ... Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
-- ::: Parsing the host name
-- ::: Checking for super user privileges
-- ::: User has super user privileges
Using configuration parameter file: /u01/app/11.2./grid/crs/install/crsconfig_params
Creating trace directory
LOCAL ADD MODE
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Adding daemon to inittab
CRS-: Oracle High Availability Services has been started.
ohasd is starting
CRS-: The CSS daemon was started in exclusive mode but found an active CSS daemon on node dbrac1, number , and is terminating
An active cluster was found during exclusive startup, restarting to join the cluster
CRS-: Attempting to start 'ora.mdnsd' on 'dbrac3'
CRS-: Start of 'ora.mdnsd' on 'dbrac3' succeeded
CRS-: Attempting to start 'ora.gipcd' on 'dbrac3'
CRS-: Start of 'ora.gipcd' on 'dbrac3' succeeded
CRS-: Attempting to start 'ora.gpnpd' on 'dbrac3'
CRS-: Start of 'ora.gpnpd' on 'dbrac3' succeeded
CRS-: Attempting to start 'ora.cssdmonitor' on 'dbrac3'
CRS-: Start of 'ora.cssdmonitor' on 'dbrac3' succeeded
CRS-: Attempting to start 'ora.cssd' on 'dbrac3'
CRS-: Attempting to start 'ora.diskmon' on 'dbrac3'
CRS-: Start of 'ora.diskmon' on 'dbrac3' succeeded
CRS-: Start of 'ora.cssd' on 'dbrac3' succeeded
CRS-: Attempting to start 'ora.ctssd' on 'dbrac3'
CRS-: Start of 'ora.ctssd' on 'dbrac3' succeeded
CRS-: Attempting to start 'ora.drivers.acfs' on 'dbrac3'
CRS-: Start of 'ora.drivers.acfs' on 'dbrac3' succeeded
CRS-: Attempting to start 'ora.asm' on 'dbrac3'
CRS-: Start of 'ora.asm' on 'dbrac3' succeeded
CRS-: Attempting to start 'ora.crsd' on 'dbrac3'
CRS-: Start of 'ora.crsd' on 'dbrac3' succeeded
CRS-: Attempting to start 'ora.evmd' on 'dbrac3'
CRS-: Start of 'ora.evmd' on 'dbrac3' succeeded
Timed out waiting for the CRS stack to start.

验证

(4)扩展数据库软件

验证

(5)扩展实例

验证

六,问题总结
 
一,在多次执行下面的语句的时候报下面的错误:
+ASM2@dbrac2  /u01/app/11.2./grid/oui/bin$ ./addNode.sh  "CLUSTER_NEW_NODES={dbrac3}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={dbrac3-vip}"
Starting Oracle Universal Installer... Checking swap space: must be greater than MB. Actual MB Passed
Checking monitor: must be configured to display at least colors
>>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set. Failed <<<<
###跳过

Some requirement checks failed. You must fulfill these requirements before continuing with the installation, Continue? (y/n) [n] y >>> Ignoring required pre-requisite failures. Continuing...
Oracle Universal Installer, Version 11.2.0.1. Production
Copyright (C) , , Oracle. All rights reserved. Performing tests to see whether nodes dbrac1,dbrac3 are available
............................................................... % Done. .
-----------------------------------------------------------------------------
Cluster Node Addition Summary
Global Settings
Source: /u01/app/11.2./grid
New Nodes
Space Requirements
New Nodes
dbrac3
/: Required .11GB : Available .23GB
Installed Products
Product Names
Oracle Grid Infrastructure 11.2.0.1.
Sun JDK 1.5.0.17.
Installer SDK Component 11.2.0.1.
Oracle One-Off Patch Installer 11.2.0.0.
Oracle Universal Installer 11.2.0.1.
Oracle Configuration Manager Deconfiguration 10.3.1.0.
Enterprise Manager Common Core Files 10.2.0.4.
Oracle DBCA Deconfiguration 11.2.0.1.
Oracle RAC Deconfiguration 11.2.0.1.
Oracle Quality of Service Management (Server) 11.2.0.1.
Installation Plugin Files 11.2.0.1.
Universal Storage Manager Files 11.2.0.1.
Oracle Text Required Support Files 11.2.0.1.
Automatic Storage Management Assistant 11.2.0.1.
Oracle Database 11g Multimedia Files 11.2.0.1.
Oracle Multimedia Java Advanced Imaging 11.2.0.1.
Oracle Globalization Support 11.2.0.1.
Oracle Multimedia Locator RDBMS Files 11.2.0.1.
Oracle Core Required Support Files 11.2.0.1.
Bali Share 1.1.18.0.
Oracle Database Deconfiguration 11.2.0.1.
Oracle Quality of Service Management (Client) 11.2.0.1.
Expat libraries 2.0.1.0.
Oracle Containers for Java 11.2.0.1.
Perl Modules 5.10.0.0.
Secure Socket Layer 11.2.0.1.
Oracle JDBC/OCI Instant Client 11.2.0.1.
Oracle Multimedia Client Option 11.2.0.1.
LDAP Required Support Files 11.2.0.1.
Character Set Migration Utility 11.2.0.1.
Perl Interpreter 5.10.0.0.
PL/SQL Embedded Gateway 11.2.0.1.
OLAP SQL Scripts 11.2.0.1.
Database SQL Scripts 11.2.0.1.
Oracle Extended Windowing Toolkit 3.4.47.0.
SSL Required Support Files for InstantClient 11.2.0.1.
SQL*Plus Files for Instant Client 11.2.0.1.
Oracle Net Required Support Files 11.2.0.1.
Oracle Database User Interface 2.2.13.0.
RDBMS Required Support Files for Instant Client 11.2.0.1.
Enterprise Manager Minimal Integration 11.2.0.1.
XML Parser for Java 11.2.0.1.
Oracle Security Developer Tools 11.2.0.1.
Oracle Wallet Manager 11.2.0.1.
Enterprise Manager plugin Common Files 11.2.0.1.
Platform Required Support Files 11.2.0.1.
Oracle JFC Extended Windowing Toolkit 4.2.36.0.
RDBMS Required Support Files 11.2.0.1.
Oracle Ice Browser 5.2.3.6.
Oracle Help For Java 4.2.9.0.
Enterprise Manager Common Files 10.2.0.4.
Deinstallation Tool 11.2.0.1.
Oracle Java Client 11.2.0.1.
Cluster Verification Utility Files 11.2.0.1.
Oracle Notification Service (eONS) 11.2.0.1.
Oracle LDAP administration 11.2.0.1.
Cluster Verification Utility Common Files 11.2.0.1.
Oracle Clusterware RDBMS Files 11.2.0.1.
Oracle Locale Builder 11.2.0.1.
Oracle Globalization Support 11.2.0.1.
Buildtools Common Files 11.2.0.1.
Oracle RAC Required Support Files-HAS 11.2.0.1.
SQL*Plus Required Support Files 11.2.0.1.
XDK Required Support Files 11.2.0.1.
Agent Required Support Files 10.2.0.4.
Parser Generator Required Support Files 11.2.0.1.
Precompiler Required Support Files 11.2.0.1.
Installation Common Files 11.2.0.1.
Required Support Files 11.2.0.1.
Oracle JDBC/THIN Interfaces 11.2.0.1.
Oracle Multimedia Locator 11.2.0.1.
Oracle Multimedia 11.2.0.1.
HAS Common Files 11.2.0.1.
Assistant Common Files 11.2.0.1.
PL/SQL 11.2.0.1.
HAS Files for DB 11.2.0.1.
Oracle Recovery Manager 11.2.0.1.
Oracle Database Utilities 11.2.0.1.
Oracle Notification Service 11.2.0.0.
SQL*Plus 11.2.0.1.
Oracle Netca Client 11.2.0.1.
Oracle Net 11.2.0.1.
Oracle JVM 11.2.0.1.
Oracle Internet Directory Client 11.2.0.1.
Oracle Net Listener 11.2.0.1.
Cluster Ready Services Files 11.2.0.1.
Oracle Database 11g 11.2.0.1.
----------------------------------------------------------------------------- Instantiating scripts for add node (Thursday, March , :: PM CST)
. % Done.
Instantiation of add node scripts complete Copying to remote nodes (Thursday, March , :: PM CST)
...SEVERE:Abnormal program termination. An internal error has occured. Please provide the following files to Oracle Support : "/u01/app/oraInventory/logs/addNodeActions2014-03-20_05-21-54PM.log"
"/u01/app/oraInventory/logs/oraInstall2014-03-20_05-21-54PM.err"
"/u01/app/oraInventory/logs/oraInstall2014-03-20_05-21-54PM.out"
+ASM2@dbrac2 /u01/app/11.2./grid/oui/bin$ more /u01/app/oraInventory/logs/oraInstall2014--20_05--54PM.err
Exception in thread "Thread-57" java.lang.OutOfMemoryError: Java heap space
at java.nio.CharBuffer.wrap(CharBuffer.java:)
at sun.nio.cs.StreamEncoder$CharsetSE.implWrite(StreamEncoder.java:)
at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:)
at java.io.OutputStreamWriter.write(OutputStreamWriter.java:)
at java.io.BufferedWriter.flushBuffer(BufferedWriter.java:)
at java.io.PrintStream.write(PrintStream.java:)
at java.io.PrintStream.print(PrintStream.java:)
at oracle.sysman.oii.oiic.OiicSilentInstallPhaseProgressListener.displayProgress(OiicSilentInstallPhaseProgressListener.java:
)
at oracle.sysman.oii.oiic.OiicSilentInstallPhaseProgressListener.addBytes(OiicSilentInstallPhaseProgressListener.java:)
at oracle.sysman.oii.oiic.OiicSilentInstallPhaseProgressListener.addPercentage(OiicSilentInstallPhaseProgressListener.java:
)
at oracle.sysman.oii.oiix.OiixProgressUpdator$OiixProgressUpdatingWorker.run(OiixProgressUpdator.java:)
at java.lang.Thread.run(Thread.java:)
Exception java.lang.OutOfMemoryError: Java heap space occurred..
java.lang.OutOfMemoryError: Java heap space
at java.lang.StringBuilder.toString(StringBuilder.java:)
at java.io.UnixFileSystem.resolve(UnixFileSystem.java:)
at java.io.File.<init>(File.java:)
at java.io.File.listFiles(File.java:)
at oracle.cluster.deployment.ractrans.DirectoryMap.processDir(DirectoryMap.java:)
at oracle.cluster.deployment.ractrans.DirectoryMap.processDir(DirectoryMap.java:)
at oracle.cluster.deployment.ractrans.DirectoryMap.processDir(DirectoryMap.java:)
at oracle.cluster.deployment.ractrans.DirectoryMap.<init>(DirectoryMap.java:)
at oracle.cluster.deployment.ractrans.DirListing.<init>(DirListing.java:)
at oracle.cluster.deployment.ractrans.DirListing.<init>(DirListing.java:)
at oracle.cluster.deployment.ractrans.RACTransferCore.createDirListing(RACTransferCore.java:)
at oracle.cluster.deployment.ractrans.RACTransfer.createDirListing(RACTransfer.java:)
at oracle.cluster.deployment.ractrans.RACTransfer.transferDirStructureToNodes(RACTransfer.java:)
at oracle.cluster.deployment.ractrans.RACTransfer.transferDirToNodes(RACTransfer.java:)
at oracle.ops.mgmt.cluster.ClusterCmd.transferDirToNodes(ClusterCmd.java:)
at oracle.ops.mgmt.cluster.ClusterCmd.transferDirToNodes(ClusterCmd.java:)
at oracle.sysman.oii.oiip.oiipg.OiipgClusterOps.transferDirToNodes(OiipgClusterOps.java:)
at oracle.sysman.oii.oiif.oiifw.OiifwClusterCopyWCCE.doOperation(OiifwClusterCopyWCCE.java:)
at oracle.sysman.oii.oiif.oiifb.OiifbCondIterator.iterate(OiifbCondIterator.java:)
at oracle.sysman.oii.oiif.oiifw.OiifwAddNodePhaseWCDE.doOperation(OiifwAddNodePhaseWCDE.java:)
at oracle.sysman.oii.oiif.oiifb.OiifbCondIterator.iterate(OiifbCondIterator.java:)
at oracle.sysman.oii.oiic.OiicPullSession.doOperation(OiicPullSession.java:)
at oracle.sysman.oii.oiic.OiicSessionWrapper.doOperation(OiicSessionWrapper.java:)
at oracle.sysman.oii.oiic.OiicInstaller.run(OiicInstaller.java:)
at oracle.sysman.oii.oiic.OiicInstaller.runInstaller(OiicInstaller.java:)
at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:)

解决方法是:

+ASM2@dbrac2  /u01/app/11.2./grid/oui/bin$ find /u01/app -name oraparam.ini
/u01/app/11.2./grid/inventory/Templates/oui/oraparam.ini
/u01/app/11.2./grid/oui/oraparam.ini +ASM2@dbrac2 /u01/app/11.2./grid/oui/bin$ vi /u01/app/11.2./grid/oui/oraparam.ini
[Oracle]
DISTRIBUTION=FALSE
SOURCE=
LICENSE_LOCATION=
JRE_LOCATION=../../jdk/jre
OUI_LOCATION=..
OUI_CORE_LOCATION=..
OPATCH_LOCATION=..
DEFAULT_HOME_LOCATION=
DEFAULT_HOME_NAME=
NLS_ENABLED=TRUE
JRE_MEMORY_OPTIONS=" -mx2000m"
####把原来的值修改成-mx2000m
NO_BROWSE=/net
BOOTSTRAP=TRUE
CLUSTERWARE={"oracle.crs","10.1.0.2.0"}
VENDORCLUSTERWARE=TRUE
#THIN_JDBC_FILENAME is optional and defaults to classes12.jar
#The value specified for this should be packaged with OUI, and should
#be relative to <OUI expanded stagedir>/jlib/
THIN_JDBC_FILENAME=classes12.jar
#JRE_OSDPARAM is to set OS dependent param for JRE ( mainly for native VM in 1.3.)
#JRE_OSDPARAM is optional and should be set to -native for the JRE's
#that support native VM ( mainly for Unix platforms ), in JRE 1.3.
#For JRE 1.4. this should be set to empty or the type of VM that is
#supported client/server. The default value is -native in UNIX platforms
#that supports native VM
#Unix supporting native - JRE_OSDPARAM="-native"
#Unix NOT supporting native and 1.4. - JRE_OSDPARAM=""
#Windows : DO NOT SET or JRE_OSDPARAM=""
OUI_VERSION=11.2.0.1.
#RUN_OUICA specifies the batch script name that needs to be run
#The script is ouica.bat for win32, and ouica.sh for solaris.
#If the value is not specified, then the OUICA script is not run
RUN_OUICA=%OUICA_SCRIPT%
#SHOW_HOSTNAME=ALWAYS_SHOW shows the hostname panel always
#SHOW_HOSTNAME=NEVER_SHOW does not the hostname panel

二,直接删除3节点grid用户下$ORACLE_HOME目录下的内容后,再次在节点二上执行addNodes脚本的时候报下面的错误:

+ASM2@dbrac2  /u01/app/11.2./grid/oui/bin$ ./addNode.sh  -silent "CLUSTER_NEW_NODES={dbrac3}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={dbrac3-vip}" "CLUSTER_NEW_PRIVATE_NODE_NAMES={dbrac3-priv}"
Starting Oracle Universal Installer... Checking swap space: must be greater than MB. Actual MB Passed
Oracle Universal Installer, Version 11.2.0.1. Production
Copyright (C) , , Oracle. All rights reserved. Performing tests to see whether nodes dbrac1,dbrac3,dbrac3 are available
............................................................... % Done. Error ocurred while retrieving node numbers of the existing nodes. Please check if clusterware home is properly configured.
SEVERE:Error ocurred while retrieving node numbers of the existing nodes. Please check if clusterware home is properly configured.

解决方法:

+ASM2@dbrac2  /u01/app/11.2./grid/oui/bin$ ./runInstaller -silent -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES={dbrac1,dbrac2}"
Starting Oracle Universal Installer... Checking swap space: must be greater than MB. Actual MB Passed
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /u01/app/oraInventory
SEVERE:Remote 'UpdateNodeList' failed on nodes: 'dbrac1'. Refer to '/u01/app/oraInventory/logs/UpdateNodeList2014-03-21_10-18-20AM.log' for details.
You can manually re-run the following command on the failed nodes after the installation:
/u01/app/11.2./grid/oui/bin/runInstaller -updateNodeList -noClusterEnabled ORACLE_HOME=/u01/app/11.2./grid CLUSTER_NODES=dbrac1,dbrac2 CRS=true "INVENTORY_LOCATION=/u01/app/oraInventory" LOCAL_NODE=<node on which command is to be run>.
Please refer 'UpdateNodeList' logs under central inventory of remote nodes where failure occurred for more details.

提示手动

 执行脚本,dbrac2上执行
+ASM2@dbrac2  /u01/app/11.2./grid/oui/bin$ /u01/app/11.2./grid/oui/bin/runInstaller -updateNodeList -noClusterEnabled ORACLE_HOME=/u01/app/11.2./grid CLUSTER_NODES=dbrac1,dbrac2 CRS=true  "INVENTORY_LOCATION=/u01/app/oraInventory" LOCAL_NODE=dbrac2
Starting Oracle Universal Installer... Checking swap space: must be greater than MB. Actual MB Passed
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /u01/app/oraInventory
'UpdateNodeList' was successful.

dbrac1上执行

[grid@dbrac1 ~]$ /u01/app/11.2./grid/oui/bin/runInstaller -updateNodeList -noClusterEnabled ORACLE_HOME=/u01/app/11.2./grid CLUSTER_NODES=dbrac1,dbrac2 CRS=true  "INVENTORY_LOCATION=/u01/app/oraInventory" LOCAL_NODE=dbrac1
Starting Oracle Universal Installer... Checking swap space: must be greater than MB. Actual MB Passed
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /u01/app/oraInventory

然后再次执行addNodes过程添加

参考:http://www.itpub.net/thread-1309680-1-1.html

     http://blog.itpub.net/10037372/viewspace-750952

oracle 11g r1 RAC增加新节点的更多相关文章

  1. 【总文档】rac增加新节点的方法步骤 How to Add Node/Instance or Remove Node/Instance in 10gR2, 11gR1, 11gR2 and 12c Oracle Clusterware and RAC

    [总文档]How to Add Node/Instance or Remove Node/Instance in 10gR2, 11gR1, 11gR2 and 12c Oracle Clusterw ...

  2. Oracle 11G R2 RAC中的scan ip 的用途和基本原理【转】

    Oracle 11G R2 RAC增加了scan ip功能,在11.2之前,client链接数据库的时候要用vip,假如你的cluster有4个节点,那么客户端的tnsnames.ora中就对应有四个 ...

  3. Oracle 11G R2 RAC中的scan ip 的用途和基本原理

    Oracle 11G R2 RAC增加了scan ip功能,在11.2之前,client链接数据库的时候要用vip,假如你的cluster有4个节点,那么客户端的tnsnames.ora中就对应有四个 ...

  4. [转]Oracle 11g R2 RAC高可用连接特性 – SCAN详解

    原文地址:http://czmmiao.iteye.com/blog/2124373   昨天帮朋友解决11g RAC SCAN问题,当时为这朋友简单解答了一些SCAN特性相关的问题,但我知道这仅仅是 ...

  5. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.7.Oracle 11G R2 RAC修改public网络IP

    问题:Linuxrac2节点的public网IP被占用,导致集群节点2无法访问 1.禁止相关CRS资源的启动,停止这些资源(vip,listener,scan,scan_listener,databa ...

  6. oracle 11g r2 rac到单实例的dg

    oracle 11g r2 rac到单实例的dg 1 主备环境说明 rac环境--primary CentOS release 6.5 (Final)hostname rac1 rac2ip 10.* ...

  7. Hadoop概念学习系列之Hadoop集群动态增加新节点或删除已有某节点及复制策略导向 (四十三)

    不多说,直接上干货! hadoop-2.6.0动态添加新节点 https://blog.csdn.net/baidu_25820069/article/details/52225216 Hadoop集 ...

  8. Oracle 11g rac 添加新节点测试

    [转]https://blog.csdn.net/shiyu1157758655/article/details/60877076 前期准备: 操作系统设置OS版本必须相同,检查内核参数,系统内存.C ...

  9. ORACLE 11G R2 RAC classical install OGG12.1(LINUX) 经典抽取模式单项同步配置OGG12.1

    博文结构图如下: 一.环境描述以及注意事项 1.1 环境简介 IP 系统 Oracle版本 OGG版本 源端 172.16.10.16/36 RHEL6.5 oracle11204 12.1 目标端 ...

随机推荐

  1. BZOJ 1024: [SCOI2009]生日快乐

    Description 将一个 \(x\times y\) 的矩形分成 \(n\) 块,让最长边:最短边 最小. Sol 搜索. \(n\) 只有 \(10\) 写一个类似于记搜的东西就好了. Cod ...

  2. BZOJ 3362: [Usaco2004 Feb]Navigation Nightmare 导航噩梦

    Description 给你每个点与相邻点的距离和方向,求两点间的曼哈顿距离. \(n \leqslant 4\times 10^4\) . Sol 加权并查集. 像向量合成一样合并就可以了,找 \( ...

  3. centos mysql 大量数据导入时1153 错误:1153 - Got a packet bigger than 'max_allowed_packet' bytes

    参考:http://stackoverflow.com/questions/93128/mysql-error-1153-got-a-packet-bigger-than-max-allowed-pa ...

  4. ubuntu14.04 server 安装vmware worktation 12

    0) Do the basic system installation of Ubuntu 14.04 LTS (Server or Desktop) 1) wget the installer wg ...

  5. Spring4 学习笔记

    [9]SpEL语法 [10]Bean的生命周期:(五步)

  6. pc/app 项目/功能设计

    2015-08-11 15:29:59 首先, 提供服务的整个系统包含哪几个设备 用户->[PC浏览器|APP|APP浏览器]->web服务器->[PHP/JAVA组件]->[ ...

  7. ACM/ICPC 之 数据结构-线段树思想(POJ2182,含O(n^2)插入式解法)

    这道题在一定程度上体现了线段树的一种用法,解决的问题是:对于总计n个元素的第i个元素,已知其在[1,i]上部分序列的排名,求第i个元素在所有n个元素中的排名. 当然这道题数据比较水,所以用O(n^2) ...

  8. UIWebView内嵌网页 Xcode7.0以后的用法

    UIWebView* webPage=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, screenWidth, screenHeight-64)]; ...

  9. modelsim do文件仿真

    1.编写sim.do文件 ##### Quit the Simulation ##### quit -sim   ##### Make work directory && Create ...

  10. Match:Cyclic Nacklace(KMP的next数组的高级应用)(HDU 3746)

    串珠子 题目大意:给定一个字串,要你找到如果要使之成为循环串,在末尾需要的最小的字数(只能添加字符,不能删减字符) 首先联动一下之前做过的动态规划问题POJ 3280,当然了3280这一题是用的LD, ...