crs 10.2.0.1 bug(公网ip为私有ip时)

联系:手机/微信(+86 17813235971) QQ(107644445)

标题:crs 10.2.0.1 bug(公网ip为私有ip时)

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

当crs10.2.0.1公用网卡IP段使用10、172、192段(非路由网段)的时候
1、会出现以下两种情况:
1)最后检查时出现如下错误
Checking existence of VIP node application (required)
Check failed.
Check failed on nodes:
rac1,rac2
2)在rac2上执行root.sh脚本最后
Expecting the CRS daemons to be up within 600 seconds.
CSS is active on these nodes.
rac1
rac2
CSS is active on all nodes.
Waiting for the Oracle CRSD and EVMD to start
Waiting for the Oracle CRSD and EVMD to start
……
Timed out waiting for the CRS stack to start.
2、解决方法:
在root.sh在第二个节点执行完之后,以 root 用户身份在第二个节点上手动调用 VIPCA
# /u01/app/oracle/product/10.2.0/crs_1/bin/vipca
配置虚拟ip

redhat 4 安装 Oracle 10g

联系:手机/微信(+86 17813235971) QQ(107644445)

标题:redhat 4 安装 Oracle 10g

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

必须安装包
binutils-2.15.92.0.2-13.EL4
compat-db-4.1.25-9
compat-libstdc++-296-2.96-132.7.2
control-center-2.8.0-12
gcc-3.4.3-22.1.EL4
gcc-c++-3.4.3-22.1.EL44
glibc-2.3.4-2.9
glibc-common-2.3.4-2.9
gnome-libs-1.4.1.2.90-44.1
libstdc++-3.4.3-22.1
libstdc++-devel-3.4.3-22.1
make-3.80-5
pdksh-5.2.14-30
sysstat-5.0.5-1
xscreensaver-4.18-5.rhel4.2
setarch-1.6-1
用户和组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
创建文件夹
mkdir -p /u01/oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01
修改系统参数
vi /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
vi /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
vi /etc/profile
if [ $USER = “oracle” ]; then
if [ $SHELL = “/bin/ksh” ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
设置环境变量
vi ~/.bash_profile
ORACLE_BASE=/u01
ORACLE_HOME=$ORACLE_BASE/oracle
ORACLE_SID=orcl
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
PATH=$PATH:$ORACLE_HOME/bin
export PATH NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID

Oracle升级(10.2.0.1—–>10.2.0.3)

联系:手机/微信(+86 17813235971) QQ(107644445)

标题:Oracle升级(10.2.0.1—–>10.2.0.3)

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

数据库版本linux 32位(10.2.0.1升级到10.2.0.3)
1、停止OEM/isqlplus/监听/DB实例
$ emctl stop dbconsole
$ isqlplusctl stop
$ lsnrctl stop
$ sqlplus / as sysdba
SQL> shutdown immediate;
2、升级Oracle软件
1) 备份ORACLE_HOME和oraInventory
升级前对要升级的ORACLE_HOME进行备份是必要的, 还有oraInventory目录, 一
旦升级失败便于回退
方法一,使用tar备份
$ cd $ORACLE_HOME/..
$ tar jcvf db_1_`date +%Y%m%d`.tar.bz2 db_1
$ cd $ORACLE_BASE
$ tar jcvf oraInventory_`date +%Y%m%d`.tar.bz2 oraInventory
方法二,使用cp备份
$ cd $ORACLE_HOME
$ cp -pr db_1 db_1_new (备份到新目录, 且保留mode,ownership,timestamps等信息)
$ cp -pr oraInventory oraInventory_new
2) 升级Oracle 软件
2.1)通过response文件开始升级, 升级时间大概2-3分钟.
$ cd /u01/software/10g/
$ unzip p5337014_10203_LINUX.zip
$ cd Disk1
注意升级前要保证/tmp空间有2.5G空余空间
$ ./runInstaller -silent -responseFile /u01/software/10g/DISK1/response/patchset.rsp
ORACLE_HOME=”/u01/app/oracle/product/10.2.0/db_1″
ORACLE_HOME_NAME=”OraDb10g_home1″ DECLINE_SECURITY_UPDATES=”true”
如果未使用默认的组oinstall, 则runInstaller命令后需再加一个参数:
UNIX_GROUP_NAME=”oinstall”
各参数含义如下:
-silent 表示以静默方式安装,不会有任何提示;
-responseFile 表示使用哪个响应文件,必需使用绝对路径;
ORACLE_HOME=”/u01/app/oracle/product/10.2.0/db_1″ oracle安装目录;
ORACLE_HOME_NAME=”OraDb10g_home1″ ORACLE_HOME名;
DECLINE_SECURITY_UPDATES=”true” 是否需要安全更新, true表示不需要,
否则会要求输入metalink账号和联网信息;(10.2.0.3中无此选项)
UNIX_GROUP_NAME=”oinstall” oracle用户用于安装软件的组名;
2.2)设置DISPLAY=192.168.0.1:0.0 (设置图形显示,用的是xmanager的passive接收)
注意: 你也可以直接用./runInstaller运行,安装程序会检查和提示你一步一步的升级完成
3) 运行root.sh和changePerm.sh
ü 升级结束后, 以root用户执行$ORACLE_HOME下的root.sh(如有提示则一直回车):
# /u01/app/oracle/product/10.2.0/db_1/root.sh
安装PatchSet后新增的文件或目录是限制访问的, 其它用户或第三方工具要访问这些文件时会提示错误,
所以要修改权限:
# su – oracle
$ cd $ORACLE_HOME/install
$ ./changePerm.sh
$ tail -50f /tmp/changePerm_err.log
3、升级数据库
$ lsnrctl start
确保内存足够
SQL> ALTER SYSTEM SET SHARED_POOL_SIZE=’150M’ SCOPE=spfile;
SQL> ALTER SYSTEM SET JAVA_POOL_SIZE=’150M’ SCOPE=spfile;
$ sqlplus / as sysdba
SQL> startup upgrade; (以升级模式启动数据库)
SQL> SPOOL /tmp/patch102030.log
SQL> @?/rdbms/admin/catupgrd.sql (重建数据字典, 若有问题可重复执行)
SQL> SPOOL off
SQL> !egrep “ORA-|Error” /tmp/patch102050.log (查看是否有错误)
SQL> shutdown immediate;
SQL> startup;
SQL> @?/rdbms/admin/utlrp.sql (编译失效PLSQL包对象, 尽管第一次访问包是会自动编译, 还是推荐操作)
注意: 这个编译过程可能因为你数据库里面的对象问题,有一些错误,你需要在plsql下
执行: select * from UTL_RECOMP_ERRORS 检查无效的对象。有些是可以忽略的
4、开启OEM/isqlplus/监听
$ lsnrctl start
$ isqlplusctl start
$ emctl start dbconsole

Solaris 10安装oracle 10.2

联系:手机/微信(+86 17813235971) QQ(107644445)

标题:Solaris 10安装oracle 10.2

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

1、检查包
pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWsprot SUNWsprox SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt
如果提示:ERROR: information for “SUNWi1cs” was not found类似信息请执行2
2、安装缺少包
cd /cdrom/sol_10_910_x86/Solaris_10/Product
pkgadd -d . SUNWi1cs
3、修改内核参数
vi /etc/system
set noexec_user_stack=1
set semsys:seminfo_semmni = 100
set semsys:seminfo_semmns = 1024
set semsys:seminfo_semmsl = 256
set semsys:seminfo_semvmx = 32767
set shmsys:shminfo_shmmax = 4294967295
set shmsys:shminfo_shmmin = 1
set shmsys:shminfo_shmmni = 100
set shmsys:shminfo_shmseg = 10
4、创建用户和组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba -d /export/home/oracle -m -s /bin/bash oracle
passwd oracle
5、创建文件夹
mkdir -p /u01/oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01
6、修改用户环境变量
vi .profile
ORACLE_BASE=/u01
ORACLE_HOME=$ORACLE_BASE/oracle
ORACLE_SID=orcl
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
PATH=$PATH:$ORACLE_HOME/bin:/bin:/sbin:/usr/ccs/bin:/usr/local/bin
TEMP=/tmp
TMPDIR=/tmp
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:/lib64:/usr/local/lib
export TMPDIR TEMP PATH NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH
7、开始安装
su – oracle
export DISPLAY=192.168.1.1:0.0
/tmp/database/runInstaller
note:使用xmanager映射出图形界面

linux上安装oracle10g注意事项

联系:手机/微信(+86 17813235971) QQ(107644445)

标题:linux上安装oracle10g注意事项

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

1、如果hosts文件中不含localhost,在启动listener是报错:
TNS-12537: TNS:connection closed
TNS-12560: TNS:protocol adapter error
TNS-00507: Connection closed
Linux Error: 29: Illegal seek
需要在 Listener文件中添加SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF,这个为oracle10g上的bug,有补丁可以解决
2、修改主机名步骤
第一步:
#hostname oratest
第二步:
修改/etc/sysconfig/network中的hostname
第三步:
修改/etc/hosts文件
3、listener中的ip地址不能为127.0.0.1/localhost(最好直接使用网卡ip地址),不然不能被该主机外的其他主机访问
4、修改主机名后,要在hosts文件中做对应修改,不然重启oracle后会报错:
ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []

Ubuntu10.4安装oracle 11gR2

联系:手机/微信(+86 17813235971) QQ(107644445)

标题:Ubuntu10.4安装oracle 11gR2

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

1、安装Ubuntu并升级至最新
安装省略
升级:
sudo su -(-必须的,重新启动一个新回话,主要就是环境变量)
apt-get update
apt-get dist-upgrade
reboot—-完成后重启
2、安装必要的包(不知道在deb中是否叫做包)
sudo su –
apt-get install build-essential libaio1 gawk ksh libmotif3 alien libtool lsb-rpm
3、建立一些链接
sudo su –
ln -sf bash /bin/sh
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/bin/basename /bin/basename
mkdir /etc/rc.d
for i in 0 1 2 3 4 5 6 S ; do ln -s /etc/rc$i.d /etc/rc.d/rc$i.d ; done
4、创建组、用户和相关文件夹
addgroup oinstall
addgroup dba
addgroup nobody
usermod -g nobody nobody
useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oracle
passwd -l oracle
mkdir /home/oracle
chown -R oracle:dba /home/oracle
mkdir -p /u01/oracle
chown -R oracle:dba /u01
5、相关参数修改
1)/etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
2)/etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16383
oracle soft nofile 1023
oracle hard nofile 65535
3)/etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
4)执行sysctl -p,使得刚刚修改的参数生效
6、修改环境变量/etc/profile文件中添加
ORACLE_SID=orcl
ORACLE_BASE=/u01
ORACLE_HOME=/u01/oracle
NLS_LANG=AMERICAN_AMERICA.UTF8
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASE ORACLE_SID ORACLE_HOME PATH NLS_LANG
7、oracle11g安装文件准备
unzip解压
chown -R oracle:dba database(解压的安装文件夹)
8、开始安装
sudo su –
xhost +127.0.0.1(或者使用oracle图形化界面登录安装)
su – oracle
export LANG=en_US(采用英文界面安装,中文乱码,因为jdk问题,不想配置)
./runInstaller -ignoreSysPrereqs(忽略安装时的版本检查)
9、安装过程中
检查的时候,会有错误和警告,全部忽略(不是oracle支持的版本,没有办法)
注意选择数据库编码为utf8,不然会出现乱码(因为在环境变量中设置了数据库客户端编码为utf8)
还有选择地区等信息(建议先安装数据库软件,然后使用dbca创建数据库)
信息比较多,如果不能选择清楚,在网上找些资料,配置起中文正常显示(这样很多变量不用人工去选择)
10、安装结束后执行提示脚本
提示:使用root用户权限执行
11、总体感觉:
因为Ubuntu不是oracle官方支持的linux版本,所以在安装过程中会有很多多于的步骤,如有些是采用链接方式进行的;还在版本检查被强行忽略,安装检查错误提示被忽略,还有和jdk不一致产生乱码问题等。因为在安装过程中忽略了很多警告和错误,到底会不会产生什么影响现在还不知道,只是做了简单的测试工作正常。个人感觉,Ubuntu不是很适合做oracle服务器,至少是在oracle官方没有正式支持前不是很时候,很多东西都是靠网友总结出来的。
我对比了下上次在centos上安装oracle的过程,感觉这里有些东西就是为了模仿redhat的操作系统而执行的操作,而且有些就算是模仿了,也还是没有redhat下面好,如环境变量的地方,在Ubuntu中是全局的(所有用户都有效),而redhat中是oracle单个用户(感觉更安全),当然我linux功底有限,也许说了很多错话。
CentOs 5安装oracle 11g R2数据库

CentOS 5安装oracle 11g R2数据库

联系:手机/微信(+86 17813235971) QQ(107644445)

标题:CentOS 5安装oracle 11g R2数据库

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

1、检查操作系统是否支持对应版本的oracle
Centos相当如对应的Red Hat Enterprise Linux版本
具体请查阅oracle安装文档
2、检查内核,内存,交换区大小,硬盘大小是否符合要求
cat /proc/version(linux核心版本)lsb_release –id(linux版本)
grep MemTotal /proc/meminfo(检查内存)
grep SwapTotal /proc/meminfo(检查交换区)
df -h /tmp(检查tmp空间大小)
3、检查相应的rpm包的情况
rpm –qa | grep pagename(grep是搜索)
主要包有:
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-2.5-24 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 (32 bit)
glibc-headers-2.5
ksh-20060214
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
numactl-devel-0.9.8.x86_64
sysstat-7.0.2
unixODBC-2.2.11
unixODBC-2.2.11 (32 bit)
unixODBC-devel-2.2.11
unixODBC-devel-2.2.11 (32 bit)
pdksh-5.2.14(官方文档没有给出,但是安装检测时提示需要)
4、安装缺少的rpm包
rpm –ivh pagename(根据提示,如果缺少依赖包,也需要加上去)
yum install pagename(联网时直接安装)
5、添加组和用户
/usr/sbin/groupadd oinstall(添加oinstall组)
/usr/sbin/groupadd -g 502 dba(添加dba组)
/usr/sbin/useradd -u 502 -g oinstall -G dba oracle(添加用户oracle,主组oinstall,辅助组dba)
passwd oracle(修改oracle用户密码)
6、创建文件夹并修改组和用户所属关系和相关权限
mkdir -p /u01/oracle(创建文件u01/oracle)
chown -R oracle:oinstall /u01(使得u01文件夹输入oracle用户和oinstall组)
chmod -R 775 /u01(修改u01文件夹访问权限)—可选(最好执行下)
7、添加/etc/hosts中dns解析信息
12.1.1.8 xifenfei
8、在/etc/security/limits.conf中添加用户限制信息
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle hard stack 10240
9、 添加 /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
10、修改或者添加/etc/sysctl.conf中信息
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
—/sbin/sysctl –p(重新加载这些参数,不用重启系统)
参数意义解释:
kernel.shmmax 是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值,shmmax 设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。当然Oralce 的建议是希望一个大的共享内存段能容纳整个SGA,这样在任何时候都不会有甚至轻微的性能下降的隐患。Oracle 安装文档建议32Bit Linux系统设置kernel.shmmax 为32Bit操作系统内存最大的限制值,也就是4G 。所以一般来说,1-4G 的物理内存,可以直接设置shmmax 为最大物理内存即可,那么SGA 肯定在一个共享内存段中,32Bit Linux 系统物理内存大于4G 的设置为4G 即可。总之,一般设置shmmax >=SGA(32Bit 系统是否支持到1.7G 以上SGA 需要注意) 。如果是64Bit的 Linux 操作系统,shmmax 设置为大于SGA_MAX_SIZE 即可。
kernel.shmall 参数取的这个值是ORACLE默认的值,kernel.shmall 参数是控制共享内存页数。Linux 共享内存页大小为4KB, 共享内存段的大小= 共享内存页大小*共享内存页数。一个共享内存段的最大大小是16G,需要共享内存页数16GB/4KB=16777216KB/4KB=4194304(页)。如果你的内存不超过8G,那么8GB/4KB=8388608KB/4KB=2097152 (页)。个人认为如果你的内存大小不超过8G,就默认使用2097152大小;如果内存大小为16G,则需要调大kernel.shmall参数至4194304,这时可以将shmmax 参数调整到16G了, 同时增大你的SGA_MAX_SIZE 和SGA_TARGET 为12G左右(您想设置的SGA 最大大小,当然也可以是2G~14G 等,还要协调PGA参数及OS 等其他内存使用,不能设置太满)kernel.shmmni 内核参数是共享内存段的最大数量(注意这个参数不是shmmin,是shmmni, shmmin 表示内存段最小大小)。shmmni 缺省值4096 ,一般肯定是够用了。
11、编辑vi /etc/profile
if [ $USER = “oracle” ]; then
if [ $SHELL = “/bin/ksh” ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
–注意空格,在用户切换时使用su – username,这样才会加载后面的环境变量的配置信息(不要使用su username切换)
12、配置环境变量
在oracle用户下的.bash_profile文件中添加下面信息
ORACLE_HOSTNAME=xifenfei(在/etc/hosts中配置的dns信息)
ORACLE_BASE=/u01
ORACLE_HOME=$ORACLE_BASE/oracle
ORACLE_SID=orcl
PATH=$ORACLE_HOME/bin:$PATH
NLS_LANG=AMERICAN_AMERICA.UTF8(为了防止乱码数据库要是utf8编码,如果数据库选择了gbk的编码,这里则使用ZHS16GBK)
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH NLS_LANG ORACLE_HOSTNAME
13、在安装过程中为了防止出现如下错误提示
Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set.安装之前使用root用户执行:xhost local:oracle
14、使用向导安装,根据提示解决出现的问题
15、完成安装并执行提示脚本(全部默认就可以了)
Note:注意检查nobody用户的存在(id nobody)—-一般情况下系统都存在