oraclesh脚本
‘壹’ 请高人指点安装ORACLE 11G RAC最后在两节点执行 root.sh脚本时报错解决方法,如解决高分回报,感激不尽
集群的cluster 没有安装成功!
ora.crsd 组件没有启动起来!
安装的时候你注意一下你的分区
仲裁分区 数据分区 备份分区 重装后 一定要 重新格式化!
否者安装失败 grid 组件 会出现更重各样的问题.
很明显你的集群安装失败了
打命令
tail -500 /u01/app/11.2.0/grid/cfgtoollogs/crsconfig/rootcrs_rac1.log
把信息贴出来
‘贰’ 请教如何在oracle的存储过程中执行一个shell脚本
你可以把执行过程和执行shell脚本写在一个shell里
例如
你的shell逻辑
执行存储过程
继续你的shell逻辑,执行脚本。
‘叁’ Oracle数据库RMAN的自动备份脚本简介
Oracle数据库RMAN的自动备份脚本简介
各位同学知道Oracle数据库RMAN如何自动备份脚本嘛?下面我为大家整理了关于Oracle数据库RMAN的自动备份脚本文章,希望能为你提供帮助:
1、数据库设置为归档方式
2、数据库的备份脚本
db_full_backup.sh :数据库全备脚本
db_l0_backup.sh :数据库0级备份脚本
db_l1_backup.sh :数据库1级备份脚本
ftp_del.sh :数据FTP清理脚本
rman_bak.sh :数据备份主程序
3、备份原理
每周1、3、6进行0级备份
每周日、2、4、5进行1级备份
备份文件上传到FTP服务器
FTP服务器每周清理一次,但是清理后将周六和周日的备份进行保留(6.bak和0.bak)
所有工作防暑crontab中自动执行备份
4、备份目录含义
arc :数据库归档目录
rmanbak :数据库备份文件的保存目录
rmanscripts :数据库脚本存放路径
5、FTP目录
ftp上必须手动建立目录
L0:
---1
---3
---6
---6.bak
L1:
---2
---4
---5
---0
---0.bak
rman_bak.sh脚本主程序
#!/bin/bash
#--------------------------------------------
# Oracle auto backup using rman
#
# author:songrh
# week:1,3,6 Level 0 backup
# 2,4,5,0 Level 1 backup
# Copyright by ChenLong Tec
#--------------------------------------------
#
#
export ORACLE_BASE=/u02/oracle
export ORACLE_HOME=/u02/oracle/proct/9.2.4
export ORACLE_SID=PROD
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export NLS_LANG=american_america.ZHS16GBK
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NL33=$ORACLE_HOME/ocommon/nls/admin/data
export PATH=/bin:/usr/bin:/usr/sbin:$ORACLE_HOME/bin:$PATH
export PATH=$PATH:/opt/local/bin
#
SH_PATH=/u02/rmanscripts
ARC_PATH=/u02/arch
RMAN_BAK_PATH=/u02/rmanbak
#
#FULL_PATH=$RMAN_BAK_PATH/full
L0_PATH=$RMAN_BAK_PATH/L0
L1_PATH=$RMAN_BAK_PATH/L1
#
#DAY_TAG=`date "%Y-%m-%d"`
LOG_TAG=`date "%Y-%m-%d"`
#FIRST_DAY=`date %e`
WEEK=`date %w`
#WEEK=1
#
# FTP configure
IP="122.120.150.155"
FTPUSER="ftpbak"
FTPPASS="******"
FTPROOT0="L0"
FTPROOT1="L1"
#
DISK_USE=`df -k |sed -n '/u02/'p | awk '{print $5}' |sed 's/%//'`
####check path function
############
if [[ $DISK_USE -ge 90 ]]; then
rm -rf $L0_PATH/*
rm -rf $L1_PATH/*
fi
if [ "$WEEK" = "6" -o "$WEEK" = "3" -o "$WEEK" = "1" ]; then
if [ ! -d $L0_PATH ]; then
mkdir $L0_PATH
fi
if [ "$WEEK" = "1" ]; then
rm -rf $L0_PATH/*
rm -rf $L1_PATH/*
mkdir $L0_PATH/$WEEK
$SH_PATH/db_l0_backup.sh $L0_PATH/$WEEK
cd $L0_PATH/$WEEK
$SH_PATH/ftp_del.sh $IP $FTPUSER $FTPPASS $FTPROOT0 $WEEK $WEEK_$LOG_TAG.log
else
if [ ! -d $L0_PATH/$WEEK ]; then
mkdir $L0_PATH/$WEEK
$SH_PATH/db_l0_backup.sh $L0_PATH/$WEEK
cd $L0_PATH/$WEEK
$SH_PATH/ftp.sh $IP $FTPUSER $FTPPASS $FTPROOT0 $WEEK $WEEK_$LOG_TAG.log
else
;
‘肆’ 怎么样用shell做一个连接oracle数据库的脚本
shell中直接调用sqlplus即可
sqlplus -s 用户名/口令@实例名<<EOF
‘伍’ oracle 11g r2 的rac,执行root.sh脚本时报错,求教
刚好前两天安装Oracle grid也碰到这个问题,给你解答一下!
在执行root.sh时 会报错误:
Addingdaemon to inittab
CRS-4124:Oracle High Availability Services startup failed.
CRS-4000:Command Start failed, or completed with errors.
ohasdfailed to start: Inappropriate ioctl for device
ohasd failed to start: Inappropriate ioctl for device /u01/app/grid/proct/11.2.0/grid/crs/install/roothas.plline 296
解决方法:
#cd $GRID_HOME/crs/install
---出错清除crs
./roothas.pl -deconfig -verbose -force
./rootcrs.pl -deconfig -verbose -force
执行root.sh脚本后到/var/tmp/.oracle中候着,当出现文件npohasd后执行如下命令:
dd if= /var/tmp/.oracle/npohasd f=/dev/null bs=1024 count=1
‘陆’ 如何在oracle中执行shell脚本
要在sql下面执行shell语句,用!符号,不过功能有限;有的时候打不到我们想要的效果!先给你两个实例;
要在后台登陆;plsql中测试不行
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Proction
With the Partitioning, Data Mining and Real Application Testing options
SQL> !echo 123;
123
SQL> !/billing/user/xufc/ftp.sh
Local directory now /billing/Balance/SP/REALINCOME/FTRANS
Interactive mode off.
-rw-r--r-- 1 500 500 823038 Feb 17 06:27 .gz
-rw-r--r-- 1 500 500 33 Feb 17 06:27 .md5
其中ftp.sh需要用绝对路径;该脚本里面的内容只是ls一下;就这样了
‘柒’ 安装oracle rac时执行root.sh脚本报错,求助!
您好~ 希望您能有一个更详细的介绍\r\n\r\n不过我以前也遇到这个报错,当时是由于安装clusterware时,跑完两个脚本之后没有运行vipca就直接点击\“ok\”了,然后就报这个错了。\r\n\r\n不知道跟你的情况一样否?
‘捌’ oracle 11g r2 的rac,执行root.sh脚本时报错,求教
是这个错误吗?
CRS-4124: Oracle High Availability Services startup failed.
CRS-4000: Command Start failed, or completed with errors.
这是11.2.0.1的BUG
原因:/var/tmp/.oracle/npohasd管道文件的权限不正确。
解决办法:
一
删除配置:/u01/app/11.2.0/grid/crs/install/roothas.pl -deconfig -force-verbose
二
/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1
如果出现
/bin/dd: opening`/var/tmp/.oracle/npohasd': No such file or directory
的时候文件还没生成就继续执行,直到能执行为止,一般出现Adding daemon to inittab这条信息的时候执行dd命令。
三
执行root.sh
‘玖’ Oracle数据库备份脚本怎么写
没必要用root权限执行,oracle用户同样可以执行crontab计划任务
1、su - oracle
crontab -e
0 4 * * 0 /home/oracle/exp.sh 2>&1 >>/home/oracle/script_exp.log;
0~59 表示分
0~23 表示小时
1~31 表示日
1~12 表示月份
0~6 表示星期(其中0表示星期日)
2、cat /home/oracle/exp.sh
. ~/.bash_profile
bakdir=/opt/dbbak
logdir=/home/oracle/dbbak
rq=$(date +%Y%m%d)
exp system/***** owner=jysh file=${bakdir}/jysh_${rq}.dmp log=${logdir}/jysh_${rq}.log;
find ${bakdir} -type f -mtime +30 -exec rm -rf {} \;
‘拾’ oracle runcluvfy.sh脚本在哪
runcluvfy.sh脚本使用
oracle 官方建议在安装oracle grid前运行此脚本,来检查各个节点是否满足grid安装的官方要求:
如果是自己的测试环境,部分‘unpassed’可以忽略。
[grid@vrh5 grid]$ sh runcluvfy.sh stage -pre crsinst -n vrh5,vrh6Performing pre-checks for cluster services setupChecking node reachability...
Node reachability check passed from node "vrh5"Checking user equivalence...
User equivalence check passed for user "grid"Checking node connectivity...
Checking hosts config file...
Verification of the hosts config file successfulNode connectivity passed for subnet "192.168.1.0" with node(s) vrh6,vrh5TCP connectivity check passed for subnet "192.168.1.0"Node connectivity passed for subnet "172.168.1.0" with node(s) vrh6,vrh5TCP connectivity check passed for subnet "172.168.1.0"Node connectivity passed for subnet "10.0.4.0" with node(s) vrh6,vrh5TCP connectivity check failed for subnet "10.0.4.0"Interfaces found on subnet "172.168.1.0" that are likely candidates for VIP are:
vrh6 eth1:172.168.1.182
vrh5 eth1:172.168.1.181
Interfaces found on subnet "10.0.4.0" that are likely candidates for VIP are:
vrh6 eth2:10.0.4.15
vrh5 eth2:10.0.4.15
Interfaces found on subnet "192.168.1.0" that are likely candidates for a private interconnect are:
vrh6 eth0:192.168.1.183
vrh5 eth0:192.168.1.181
Node connectivity check passed
Total memory check failed
Check failed on nodes:
vrh6,vrh5
Available memory check passed
Swap space check failed
Free disk space check passed for "vrh6:/tmp"Free disk space check passed for "vrh5:/tmp"User existence check passed for "grid"
Group existence check passed for "oinstall"Group existence check passed for "dba"
Membership check for user "grid" in group "oinstall" [as Primary] passedMembership check for user "grid" in group "dba" failedCheck failed on nodes:
vrh6,vrh5
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 passed for "gcc-4.1.2"Package existence check passed for "lio-0.3.106 (i386)"Package existence check passed for "lio-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 passed for "elfutils-libelf-devel-0.125"Package existence check passed for "glibc-common-2.5"Package existence check passed for "glibc-devel-2.5 (i386)"Package existence check passed for "glibc-devel-2.5 (x86_64)"Package existence check passed for "glibc-headers-2.5"Package existence check passed for "gcc-c++-4.1.2"Package existence check passed for "lio-devel-0.3.106 (i386)"Package existence check passed for "lio-devel-0.3.106 (x86_64)"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 passed for "libstdc++-devel-4.1.2 (x86_64)"Package existence check passed for "sysstat-7.0.2"Package existence check passed for "unixODBC-2.2.11 (i386)"Package existence check passed for "unixODBC-2.2.11 (x86_64)"Package existence check passed for "unixODBC-devel-2.2.11 (i386)"Package existence check passed for "unixODBC-devel-2.2.11 (x86_64)"Package existence check passed for "ksh-20060214"Check for multiple users with UID value 0 passedCurrent group ID check passed
Core file name pattern consistency check passed.
User "grid" is not part of "root" group. Check passedDefault user file creation mask check passedStarting Clock synchronization checks using Network Time Protocol(NTP)...
NTP Configuration file check started...
NTP Configuration file check passed
Checking daemon liveness...
Liveness check failed for "ntpd"
Check failed on nodes:
vrh6,vrh5
PRVF-5415 : Check to see if NTP daemon is running failedClock synchronization check using Network Time Protocol(NTP) failedPre-check for cluster services setup was unsuccessful on all the nodes.
从以上检查,也可以看出oracle 需要对os环境有哪些具体的要求,比如rpm包,内核参数,tmp,用户组。。。。。。