静默安装oracle
yum install -y gcc
yum install -y libtermcap-devel
yum install -y readline
yum install -y readline-devel
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias asmcmd='rlwrap asmcmd'
groupadd -g 1000 oinstall
groupadd -g 1001 dba
groupadd -g 1002 oper
groupadd -g 1003 asmadmin
groupadd -g 1004 asmdba
groupadd -g 1005 asmoper
useradd -u 1000 -g oinstall -G asmadmin,asmdba,asmoper,dba -d /home/grid -m grid
useradd -u 1001 -g oinstall -G dba,asmdba -d /home/oracle -m oracle
echo "oracle"|passwd --stdin oracle
或
echo 'oracle:oracle'|chpasswd
chage -M -1oracle
chage -M -1 grid
chage -l oracle
chage -l grid
mkdir -p /u01/app/oracle
mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1
chown -R grid:oinstall /u01/app/grid
chown -R grid:oinstall /u01/app/11.2.0
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01
mkdir -p /u01/app/oraInventory
chown -R oracle:oinstall /u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory
echo "
umask 022
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export TMP=tmp
export TMPDIR=$TMP
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export EDITOR=vim
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_PATH=.:$ORACLE_BASE/dba_scripts/sql:$ORACLE_HOME/rdbms/admin
export SQLPATH=$ORACLE_HOME/sqlplus/admin #
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" --AL32UTF8 SELECT userenv('LANGUAGE') db_NLS_LANG FROM DUAL;
export NLS_LANG="AMERICAN_CHINA.ZHS16GBK"
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias asmcmd='rlwrap asmcmd'
alias dgmgrl='rlwrap dgmgrl'
alias sas='sqlplus / as sysdba'
" >> /home/oracle/.bash_profile
umask 022
export ORACLE_SID=+ASM1
export ORACLE_BASE=u01/app/grid
export ORACLE_HOME=u01/app/11.2.0/grid
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export PATH=$ORACLE_HOME/bin:$PATH
alias sqlplus='rlwrap sqlplus'
alias asmcmd='rlwrap asmcmd'
alias dgmgrl='rlwrap dgmgrl'
alias sas='sqlplus / as sysdba'
export ORACLE_HOME=/u01/app/11.2.0/grid
export PATH=$PATH:$ORACLE_HOME/bin
yum install -y binutils compat-libcap1 compat-libstdc++ compat-libstdc++ gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel libXext libXtst libX11 libXau libxcb libXi make sysstat elfutils-libelf-devel
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})
n' binutils \
compat-libcap1 \
compat-libstdc++ \
gcc \
gcc-c++ \
glibc \
glibc-devel \
ksh \libgcc \
libstdc++ \
libstdc++-devel \
libaio \
libaio-devel \
libXext \
libXtst \
libX11 \
libXau \
libxcb \
libXi \
make \
elfutils-libelf-devel \
sysstat | grep "not installed"
vi /etc/sysctl.conf
echo "
# for oracle
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1054472192
kernel.shmmni = 4096
kernel.sem = 25032000100128
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
net.ipv4.ip_local_port_range = 9000 65500
" >> /etc/sysctl.conf
/sbin/sysctl -p
echo "
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
grid soft nproc 2047
grid hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle soft nproc 2047
oracle hard nproc 16384
root soft nproc 2047 " >> /etc/security/limits.conf
echo "session required pam_limits.so" >> /etc/pam.d/login
vi /etc/profile
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
/sbin/service ntpd stop
mv /etc/ntp.conf /etc/ntp.conf.bak
service ntpd status
chkconfig ntpd off
export PATH
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export TMP=tmp
export TMPDIR=$TMP
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export EDITOR=vim
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_PATH=.:$ORACLE_BASE/dba_scripts/sql:$ORACLE_HOME/rdbms/admin
export SQLPATH=$ORACLE_HOME/sqlplus/admin #
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
# --AL32UTF8 SELECT userenv('LANGUAGE') db_NLS_LANG FROM DUAL;
export NLS_LANG="AMERICAN_CHINA.ZHS16GBK"
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias asmcmd='rlwrap asmcmd'
alias dgmgrl='rlwrap dgmgrl'
alias sas='sqlplus / as sysdba'
./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,zh_CN \
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/11.2.0/dbhome_1 \
ORACLE_BASE=/u01/app/oracle \
ORACLE_HOSTNAME=rac-11gR2-scan
netca -silent -responsefile /opt/database/response/netca.rsp
AL32UTF8
ZHS16GBK
dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname orcl \
-sid orcl \
-sysPassword oracle \
-systemPassword oracle \
-serviceUserPassword oracle \
-storageType FS \
-characterset AL32UTF8 \
-nationalCharacterSet AL16UTF16 \
-sampleSchema true \
-memoryPercentage 30 \
-databaseType OLTP \
-emConfiguration NONE \
-nodeinfo ORACLE11G
yum install afio buffer cdrecord mindi syslinux
00:0C:29:3A:A4:C8
00:0C:29:3A:A4:D2
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
u01/app/oracle/product/11.2.0/dbhome_1/bin/opatch auto /home/oracle/backup/18139609 -ocmrf /home/oracle/ocm.rsp
service iptables stop
service ip6tables stop
chkconfig iptables off
chkconfig ip6tables off
chkconfig iptables --list
/etc/hosts
#Public IP
10.10.10.2 rac-11gR2-N1
10.10.10.3 rac-11gR2-N2
#Private IP
192.168.43.110 rac-11gR2-N1-priv
192.168.43.111 rac-11gR2-N2-priv
#Virtual IP
10.10.10.4 rac-11gR2-N1-vip
10.10.10.6 rac-11gR2-N2-vip
#Scan IP
10.10.10.5 rac-11gR2-scan
vi /etc/sysconfig/network
raclhr-11gR2-N1
yum install -y binutils compat-libcap1 compat-libstdc++ gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel libXext libXtst libX11 libXau libxcb libXi make elfutils-libelf-devel sysstat
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils \ compat-libcap1 \ compat-libstdc++ \ gcc \ gcc-c++ \ glibc \ glibc-devel \ ksh \ libgcc \ libstdc++ \ libstdc++-devel \ libaio \ libaio-devel \ libXext \ libXtst \ libX11 \ libXau \ libxcb \ libXi \ make \ elfutils-libelf-devel \ sysstat | grep "not installed"
C:cd C:\Program Files (x86)\VMware\VMware Workstation
vmware-vdiskmanager.exe -c -s 6g -a lsilogic -t 2 "G:\Redhat_mini\independent\ocr_vote.vmdk" vmware-vdiskmanager.exe -c -s 10g -a lsilogic -t 2 "G:\Redhat_mini\independent\data.vmdk" vmware-vdiskmanager.exe -c -s 10g -a lsilogic -t 2 "G:\Redhat_mini\independent\fra.vmdk"
G:\Redhat_mini\independent
disk.EnableUUID="TRUE"
scsi1.shared = "TRUE"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize= "4096"
diskLib.maxUnsyncedWrites = "0"
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsil.sharedBus = "VIRTUAL"
scsi1:0.present = "TRUE"
scsi1:0.mode = "independent-persistent"
scsi1:0.fileName = "independent\ocr_vote.vmdk"
scsi1:0.deviceType = "disk"
scsi1:0.redo = ""
scsi1:1.present = "TRUE"
scsi1:1.mode = "independent-persistent"
scsi1:1.fileName = "independent\data.vmdk"
scsi1:1.deviceType = "disk"
scsi1:1.redo = ""
scsi1:2.present = "TRUE"
scsi1:2.mode = "independent-persistent"
scsi1:2.fileName = "independent\fra.vmdk"
scsi1:2.deviceType = "disk"
scsi1:2.redo = ""
for i in c d e ;
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\",NAME=\"asm-disk$i\",OWNER=\"grid\",GROUP=\"asmadmin\",MODE=\"0660\"" >>/etc/udev/rules.d/99-oracle-asmdevices.rules
done
oracle自动启动脚本
#!/bin/sh
#chkconfig: 2345 20 80
#description: Oracle dbstart / dbshut
#以上两行为chkconfig所需
ORA_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORA_OWNER=oracle
#LOGFILE=/var/log/oracle.log
LOGFILE=/home/oracle/oracle.log
echo "#################################" >> ${LOGFILE}
date +"### %T %a %D: Run Oracle" >> ${LOGFILE}
if [ ! -f ${ORA_HOME}/bin/dbstart ] || [ ! -f ${ORA_HOME}/bin/dbshut ]; then
echo "Error: Missing the script file ${ORA_HOME}/bin/dbstart or ${ORA_HOME}/bin/dbshut!" >> ${LOGFILE}
echo "#################################" >> ${LOGFILE}
exit
fi
start(){
echo "###Startup Database..."
su - ${ORA_OWNER} -lc "${ORA_HOME}/bin/dbstart ${ORA_HOME}"
echo "###Done."
echo "###Run database control..."
su - ${ORA_OWNER} -lc "${ORA_HOME}/bin/emctl start dbconsole"
echo "###Done."
}
stop(){
echo "###Stop database control..."
su - ${ORA_OWNER} -lc "${ORA_HOME}/bin/emctl stop dbconsole"
echo "###Done."
echo "###Shutdown Database..."
su - ${ORA_OWNER} -lc "${ORA_HOME}/bin/dbshut ${ORA_HOME}"
echo "###Done."
}
case "$1" in
'start')
start >> ${LOGFILE}
;;
'stop')
stop >> ${LOGFILE}
;;
'restart')
stop >> ${LOGFILE}
start >> ${LOGFILE}
;;
esac
date +"### %T %a %D: Finished." >> ${LOGFILE}
echo "#################################" >> ${LOGFILE}
echo ""
#扫描新增磁盘
echo '- - -' > /sys/class/scsi_host/host0/scan
echo '- - -' > /sys/class/scsi_host/host1/scan
echo '- - -' > /sys/class/scsi_host/host2/scan
echo '- - -' > /sys/class/scsi_host/host3/scan
安装失败删除实例
1、停止服务
首先用命令 lsnrctl stop
然后运行
sqlplus /nolog
sql> conn / as sysdba
sql> shutdown
2、查看实例进程并删除
find $ORACLE_BASE/ -name $ORACLE_SID
/mnt/installer/oracle/flash_recovery_area/orcl
/mnt/installer/oracle/oradata/orcl
/mnt/installer/oracle/diag/rdbms/orcl
/mnt/installer/oracle/diag/rdbms/orcl/orcl
/mnt/installer/oracle/admin/orcl
/mnt/installer/oracle/cfgtoollogs/dbca/orcl
[oracle@rt1d20 /]$ rm -rf /mnt/installer/oracle/flash_recovery_area/orcl/
[oracle@rt1d20 /]$ rm -rf /mnt/installer/oracle/oradata/orcl/
[oracle@rt1d20 /]$ rm -rf /mnt/installer/oracle/diag/rdbms/orcl/
[oracle@rt1d20 /]$ rm -rf /mnt/installer/oracle/admin/orcl/
[oracle@rt1d20 /]$ rm -rf /mnt/installer/oracle/cfgtoollogs/dbca/orcl/
find $ORACLE_BASE/* -name '*[Bb][Tt][Ss][Dd][Bb]2*' | grep -v admin| grep -v oradata
如果没有则跳过
$ cd /mnt/installer/oracle/
$ ll
drwxr-x--- 2 oracle oinstall 4096 Jan 8 16:50 admin
drwxr-xr-x 4 oracle oinstall 4096 Jan 7 23:12 cfgtoollogs
drwxr-xr-x 2 oracle oinstall 4096 Jan 7 23:15 checkpoints
drwxrwxr-x 4 oracle oinstall 4096 Jan 7 23:12 diag
drwxr-x--- 3 oracle oinstall 4096 Jan 8 16:49 flash_recovery_area
drwxr-x--- 2 oracle oinstall 4096 Jan 8 16:49 oradata
drwxrwx--- 5 oracle oinstall 4096 Jan 7 21:06 oraInventory
drwxr-xr-x 3 oracle oinstall 4096 Jan 7 21:03 product
[oracle@rt1d20 oracle]$ rm -rf admin/
[oracle@rt1d20 oracle]$ rm -rf flash_recovery_area/
[oracle@rt1d20 oracle]$ rm -rf oradata/
3、删除旧的实例配置项
vi /etc/oratab
删除最后一行:orcl:/mnt/installer/oracle/product/11.2.0/db_1:N
最后再重新静默安装数据库实例
CentOS7.7
修改主机名
hostnamectl set-hostname xxxx --修改主机名
hostnamectl --static --查看静态主机名
hostnamectl --transient or hostname --查看瞬态主机名
hostnamectl --pretty --查看灵活主机名
cat /etc/hostname
nmtui --图形化界面修改主机名
删除主机名
hostnamectl set-hostname ""
hostnamectl set-hostname "" --static
hostnamectl set-hostname "" --transient
hostnamectl set-hostname "" --pretty
实现免密登录:
ssh-keygen -t rsa -C "2321295642@qq.com" --生成密匙对(公钥和私钥)
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.3.11 --把公钥拷贝到目标主机
[root@node1 data]# groupadd -g 1001 oinstall
[root@node1 data]# groupadd -g 1002 dba
[root@node1 data]# groupadd -g 1003 oper
[root@node1 data]# groupadd -g 1004 asmadmin
[root@node1 data]# groupadd -g 1005 asmdba
[root@node1 data]# groupadd -g 1006 asmoper
[root@node1 data]# useradd -u 1007 -g oinstall -G asmadmin,asmdba,asmoper,dba -d /home/grid -m grid
[root@node1 data]# useradd -u 1008 -g oinstall -G dba,asmdba -d /home/oracle -m oracle
[root@node1 data]# usermod -g oinstall -G dba,asmdba -u 1009 oracle
[root@node1 data]# passwd oracle
设置密码永不过期:
chage -M -1 oracle --设置oracle用户密码永不过期
chage -M -1 grid --设置grid用户密码永不过期
chage -l oracle --查看oracle用户密码设置情况
chage -l grid --查看grid用户密码设置情况
[root@node1 data]# id oracle
uid=1009(oracle) gid=1001(oinstall) 组=1001(oinstall),1002(dba),1005(asmdba)
[root@node1 data]# id grid
uid=1007(grid) gid=1001(oinstall) 组=1001(oinstall),1002(dba),1004(asmadmin),1005(asmdba),1006(asmoper)
[root@node1 data]# mkdir -p /u01/app/oracle
[root@node1 data]# mkdir -p /u01/app/grid
[root@node1 data]# mkdir -p /u01/app/11.2.0/grid
[root@node1 data]# mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1
[root@node1 data]# chown -R grid:oinstall /u01/app/grid
[root@node1 data]# chown -R grid:oinstall /u01/app/11.2.0
[root@node1 data]# chown -R oracle:oinstall /u01/app/oracle
[root@node1 data]# chmod -R 775 /u01
[root@node1 data]# mkdir -p /u01/app/oraInventory
[root@node1 data]# chown -R grid:oinstall /u01/app/oraInventory
[root@node1 data]# chmod -R 775 /u01/app/oraInventory
vim /home/oracle/.bash_profile
vim /home/grid/.bash_profile
Oracle用户:
umask 022
export ORACLE_SID=lhrrac1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export LD_LIBRARY_PATH=$ORACLE_HOME/product/11.2.0/dbhome_1
export NLS_DATE_FORMAT="YYY-MM-DD HH24:MI:SS"
export TMP=/tmp
export TMPDIR=$TMP
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export EDITOR=vi
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_PATH=.:$ORACLE_BASE/dba_scripts/sql:$ORACLE_HOME/rdbms/admin
export SQLPATH=$ORACLE_HOME/sqlplus/admin
#export_NLS_LANG="SIMPLIFIED CHINESE CHINA.ZHS16GBK" --AL32UTF8 SELECT userenv('LANG')
db_NLS_LANG FROM DUAL;
export NLS_LANG="AMERICAN_CHINA.ZHS16GBK"
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias asmcmd='rlwrap asmcmd'
alias asmcmd='rlwrap dgmgr1'
alias dgmgrl='rlwrap dgmgrl'
alias sas='sqlplus / as sysdba'
grid用户
umask 022
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export PATH=$ORACLE_HOME/bin:$PATH
alias sqlplus='rlwrap sqlplus'
alias asmcmd='rlwrap asmcmd'
alias dgmgrl='rlwrap dgmgrl'
alias asa='sqlplus / as sysdba'
另一台需做相应的修改
oracle:export ORACLE_SID=lhrrac2
grid:export ORACLE_SID=+ASM2
配置root用户的环境变量
vi /etc/profile
export ORACLE_HOME=/u01/app/11.2.0/grid
export PATH=$PATH:$ORACLE_HOME/bin
centos7需要安装的rpm包:
binutils-2.23.52.0.1-12.el7.x86_64
compat-libcap1-1.10-3.el7.x86_64
compat-libstdc++-33-3.2.3-71.el7.i686
compat-libstdc++-33-3.2.3-71.el7.x86_64
gcc-4.8.2-3.el7.x86_64
gcc-c++-4.8.2-3.el7.x86_64
glibc-2.17-36.el7.i686
glibc-2.17-36.el7.x86_64
glibc-devel-2.17-36.el7.i686
glibc-devel-2.17-36.el7.x86_64
ksh
libaio-0.3.109-9.el7.i686
libaio-0.3.109-9.el7.x86_64
libaio-devel-0.3.109-9.el7.i686
libaio-devel-0.3.109-9.el7.x86_64
libgcc-4.8.2-3.el7.i686
libgcc-4.8.2-3.el7.x86_64
libstdc++-4.8.2-3.el7.i686
libstdc++-4.8.2-3.el7.x86_64
libstdc++-devel-4.8.2-3.el7.i686
libstdc++-devel-4.8.2-3.el7.x86_64
libXi-1.7.2-1.el7.i686
libXi-1.7.2-1.el7.x86_64
libXtst-1.2.2-1.el7.i686
libXtst-1.2.2-1.el7.x86_64
make-3.82-19.el7.x86_64
sysstat-10.1.5-1.el7.x86_6
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils \
compat-libcap1 \
compat-libstdc++ \
gcc \
gcc-c++ \
glibc \
glibc-devel \
ksh \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
libXi \
libXtst \
make \
sysstat | grep "not installed"
配置本地yum源
vim /etc/yum.repo.d/my.repo
[rhel-media]
name=CentOS7
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-reliease
yum install -y compat-libcap1 compat-libstdc gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++-devel libXi libXtst make sysstat
关闭不必要的服务:
chkconfig autofs off
chkconfig acpid off
chkconfig aendmail off
chkconfig cups-config-daemon off
chkconfig cups off
chkconfig xfs off
chkconfig lm_sensors off
chkconfig gpm off
chkconfig openibd off
chkconfig pcmcia off
chkconfig cpuspeed off
chkconfig nfslock off
chkconfig ip6tables off
chkconfig rpcidmapd off
chkconfig apmd off
chkconfig arptables_jf off
chkconfig microcode_ctl off
chkconfig rpcgssd off
chkconfig ntpd off
查看内核版本:
/usr/bin/lsb_release -a
uname -a
cat /proc/version
修改/etc/sysctl.conf文件
新增以下内容:
# for oracle
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1054472192
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.wmem_max = 1048586
/sbin/sysctl -p --使参数生效
修改/etc/security/limits.conf文件
检查nofile
ulimit -Sn
ulimit -Hn
检查nproc
ulimit -Su
ulimit -Hu
检查stack
ulimit -Ss
ulimit -Hs
修改OS用户grid和oracle资源限制:
cp /etc/security/limits.conf /etc/security/limits.conf.`date +%Y%m%d`
echo "grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
grid soft nproc 2047
grid hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle soft nproc 2047
oracle hard nproc 16384
root soft nproc 2047" >> /etc/security/limits.conf
修改/etc/pam.d/login文件
echo "session required pam_limits.so" >> /etc/pam.d/login
more /etc/pam.d/login
修改/etc/profile文件
vim /etc/profile
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
配置/dev/shm大小
vi /etc/fstab
tmpfs /dev/shm /tmpfs defaults,size=2G 0 0
重新挂载
mount -o remount /dev/shm
/sbin/service ntpd stop
mv /etc/ntp.conf /etc/ntp.conf.bak
service ntpd status
chkconfig ntpd off
DEVICE=eth1
IPADDR=192.168.2.201
NETMASK=255.255.255.0
#GATEWAY=192.168.59.2
ONBOOT=yes
USERCTL=no
BOOTPROTO=static
TYPE=Ethernet
IPV6INIT=no
#HWADDR=00:50:56:26:CD:D4
CREATE DISKGROUP DATA external redundancy DISK '/dev/asmdisk4' ATTRIBUTE 'compatible.rdbms' = '11.2','compatible.asm' = '11.2';
CREATE DISKGROUP FRA external redundancy DISK '/dev/asm-disk5' ATTRIBUTE 'compatible.rdbms' = '11.2','compatible.asm' = '11.2';
col name format a10
set line 9999
col path format a15
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;
/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1
/u01/app/11.2.0/grid/bin/crsctl stat res -t
iscsiadm --mode node --targetname iqn.2006-01.com.openfiler:tsn.7c6ba486f5f8 –portal 192.168.3.38:3260 --login
systemctl restart multipathd
systemctl restart iscsi
dd if=/dev/zero of=/dev/asmdiskb bs=1024k count=1000
dd if=/dev/zero of=/dev/asmdiskc bs=1024k count=1000
dd if=/dev/zero of=/dev/asmdiskd bs=1024k count=1000
dd if=/dev/zero of=/dev/asmdiske bs=1024k count=100
dd if=/dev/zero of=/dev/asmdiskf bs=1024k count=100
dd if=/dev/zero of=/dev/asmdiskg bs=1024k count=100
iscsiadm --mode node --targetname iqn.2006-01.com.openfiler:tsn.7c6ba486f5f8 –portal 192.168.3.38:3260 --login
for i in b c d e f g h i j k ;
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/lib/udev/scsi_id --whitelisted --device=/dev/\$name\",RESULT==\"`/lib/udev/scsi_id --whitelisted --device=/dev/sd$i`\",NAME=\"asm-disk$i\",OWNER=\"grid\",GROUP=\"asmadmin\",MODE=\"0660\""
done
for i in b c d e f g h i j k ;
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/lib/udev/scsi_id --whitelisted --device=/dev/\$name\",RESULT==\"`/lib/udev/scsi_id --whitelisted --device=/dev/sd$i`\",NAME=\"asm-disk$i\",OWNER=\"grid\",GROUP=\"asmadmin\",MODE=\"0660\"" >> /etc/udev/rules.d/99-oracleasm.rules
done
/sbin/udevadm trigger --type=devices --action=change
ll -ltr /dev/asm*
vim /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c45524d4c7a6375782d326c62492d7634694e", RUN+="/bin/sh -c 'mknod /dev/asmdisk5 b $major $minor; chown grid:asmadmin /dev/asmdisk5; chmod 0660 /dev/asmdisk5'"
dd if=/dev/zero of=/dev/mapper/VMLHRStorage001
iostat -k 2
groupadd -g 1008 oinstall
groupadd -g 1001 dba
groupadd -g 1002 oper
groupadd -g 1003 asmadmin
groupadd -g 1004 asmdba
groupadd -g 1005 asmoper
useradd -u 1006 -g oinstall -G asmadmin,asmdba,asmoper,dba -d /home/grid -m grid
useradd -u 1007 -g oinstall -G dba,asmdba -d /home/oracle -m oracle
chage -M -1 oracle
chage -M -1 grid
chage -l oracle
chage -l grid
mkdir -p /u01/app/oracle
mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1
chown -R grid:oinstall /u01/app/grid
chown -R grid:oinstall /u01/app/11.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
vim /home/oracle/.bash_profile
vim /home/grid/.bash_profile
umask 022
export ORACLE_SID=lhrrac1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export TMP=/tmp
export TMPDIR=$TMP
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export EDITOR=vi
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_PATH=.:$ORACLE_BASE/dba_scripts/sql:$ORACLE_HOME/rdbms/admin
export SQLPATH=$ORACLE_HOME/sqlplus/admin
#export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" --AL32UTF8 SELECT userenv('LANGUAGE') db_NLS_LANG FROM DUAL;
export NLS_LANG="AMERICAN_CHINA.ZHS16GBK" alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman' alias asmcmd='rlwrap asmcmd' alias dgmgrl='rlwrap dgmgrl' alias sas='sqlplus / as sysdba'
umask 022
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export PATH=$ORACLE_HOME/bin:$PATH alias sqlplus='rlwrap sqlplus' alias asmcmd='rlwrap asmcmd' alias dgmgrl='rlwrap dgmgrl' alias sas='sqlplus / as sysdba'
vim /etc/profile
export ORACLE_HOME=/u01/app/11.2.0/grid
export PATH=$PATH:$ORACLE_HOME/bin
yum install -y binutils compat-libcap1 compat-libstdc++ compat-libstdc++ gcc gcc-c++ glibc glibc glibc-devel glibc-devel ksh libaio libaio libaio-devel libaio-devel libgcc libgcc libstdc++ libstdc++ libstdc++-devel libstdc++-devel libXi libXi libXtst libXtst make sysstat
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils compat-libcap1 compat-libstdc++ compat-libstdc++ gcc gcc-c++ glibc glibc glibc-devel glibc-devel ksh libaio libaio libaio-devel libaio-devel libgcc libgcc libstdc++ libstdc++ libstdc++-devel libstdc++-devel libXi libXi libXtst libXtst make sysstat | grep "not installed"
chkconfig autofs off
chkconfig acpid off
chkconfig sendmail off
chkconfig cups-config-daemon off
chkconfig cpus off
chkconfig xfs off
chkconfig lm_sensors off
chkconfig gpm off
chkconfig openibd off
chkconfig pcmcia off
chkconfig cpuspeed off
chkconfig nfslock off
chkconfig ip6tables off
chkconfig rpcidmapd off
chkconfig apmd off
chkconfig sendmail off
chkconfig arptables_jf off
chkconfig microcode_ctl off
chkconfig rpcgssd off
chkconfig ntpd off
vim /etc/sysctl.conf
# for oracle
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1054472192
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
/sbin/sysctl -p
cp /etc/security/limits.conf /etc/security/limits.conf.`date +%Y%m%d`
echo "grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
grid soft nproc 2047
grid hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle soft nproc 2047
oracle hard nproc 16384
root soft nproc 2047 " >> /etc/security/limits.conf
echo "session required pam_limits.so" >> /etc/pam.d/login
vi /etc/profile
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
vim /etc/fstab
tmpfs /dev/shm tmpfs defaults,size=2G 0 0
mount -o remount /dev/shm
/sbin/service ntpd stop
mv /etc/ntp.conf /etc/ntp.conf.bak
service ntpd status
chkconfig ntpd off
/soft/grid/runInstaller -silent -force -noconfig -IgnoreSysPreReqs -ignorePrereq -showProgress \ INVENTORY_LOCATION=/u01/app/oraInventory \
SELECTED_LANGUAGES=en,zh_CN \
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=NORMAL \ oracle.install.crs.config.sharedFileSystemStorage.ocrRedundancy=NORMAL \
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.crs.config.autoConfigureClusterNodeVIP=false \
oracle.install.option=CRS_CONFIG \
oracle.install.crs.config.ClusterType=STANDARD \
oracle.install.asm.SYSASMPassword=lhr \
oracle.install.asm.monitorPassword=lhr \
oracle.install.config.managementOption=NONE \
oracle.install.crs.config.ignoreDownNodes=false \ oracle.install.asm.diskGroup.diskDiscoveryString=/dev/asmdisk* \ oracle.install.asm.diskGroup.disks=/dev/asm-diskc,/dev/asm-diske,/dev/asm-diskj \ oracle.install.crs.config.gpnp.scanName=raclhr-11gR2-scan \ oracle.install.crs.config.clusterName=raclhr-cluster \ oracle.install.crs.config.clusterNodes=raclhr-11gR2-N1:raclhr-11gR2-N1-vip,raclhr-11gR2-N2:raclhr-11gR2-N2 -vip \ oracle.install.crs.config.networkInterfaceList=eth0:192.168.59.0:1,eth1:192.168.2.0:2,virbr0:192.168.122.0: 3 \
ORACLE_HOSTNAME=raclhr-11gR2-N1
/opt/grid/runInstaller -silent -force -noconfig -ignoreSysPrereqs -ignorePrereq -showProgress -responseFile /opt/grid/grid_install.rsp
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)