Oracle 10g R2 RAC Install On OEL5 x86_64
Oracle 10g R2 RAC Install On OEL5 x86_64
1.安装操作系统需求包
binutils-2.17.50.0.6-2 (x86_64)
compat-db-4.2.52-5.1 (x86_64)
compat-libstdc++-296-2.96-138 (i386)
compat-libstdc++-33-3.2.3-61(x86_64)
compat-libstdc++-33-3.2.3-61 (i386)
control-center-2.16.0-14 (x86_64)
gcc-4.1.1-52 (x86_64)
gcc-c++-4.1.1-52 (x86_64)
glibc-2.5-12 (x86_64)
glibc-2.5-12 (i686)
glibc-common-2.5-12 (x86_64)
glibc-devel-2.5-12 (x86_64)
glibc-devel-2.5-12 (i386)
glibc-headers-2.5-12 (x86_64)
ksh-20060214-1.4 (x86_64)
libaio-0.3.106-3.2 (x86_64)
libgcc-4.1.1-52 (i386)
libgcc-4.1.1-52 (x86_64)
libgnome-2.16.0-6 (x86_64)
libgnomeui-2.16.0-5 (x86_64)
libgomp-4.1.1-52 (x86_64)
libstdc++-4.1.1-52 (x86_64)
libstdc++-devel-4.1.1-52 (x86_64)
libXp-1.0.0-8 (i386)
libXtst-1.0.1-3.1(i386)
make-3.81-1.1 (x86_64)
sysstat-7.0.0-3 (x86_64)
注:rpm -qa|grep XXX
rpm -Uvh XXX
2.停不必要的服务[RHEL5U1]
chkconfig acpid off
chkconfig anacron off
chkconfig apmd off
chkconfig auditd off
chkconfig autofs off
chkconfig avahi-daemon off
chkconfig bluetooth off
chkconfig cpuspeed off
chkconfig cups off
chkconfig firstboot off
chkconfig gpm off
chkconfig haldaemon off
chkconfig hidd off
chkconfig ip6tables off
chkconfig iptables off
chkconfig irqbalance off
chkconfig isdn off
chkconfig mcstrans off
chkconfig mdmonitor off
chkconfig microcode_ctl off
chkconfig netfs off
chkconfig pcscd off
chkconfig readahead_early off
chkconfig restorecond off
chkconfig rhnsd off
chkconfig rpcgssd off
chkconfig rpcidmapd off
chkconfig sendmail off
chkconfig setroubleshoot off
chkconfig smartd off
chkconfig xfs off
chkconfig yum-updatesd off
3.修改系统配置参数/etc/sysctl.conf
echo "kernel.shmall = 2097152">>/etc/sysctl.conf
echo "kernel.shmmax = 4294967295">>/etc/sysctl.conf
echo "kernel.shmmni = 4096">>/etc/sysctl.conf
echo "kernel.sem = 250 32000 100 128">>/etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 9000 65500">>/etc/sysctl.conf
echo "net.core.rmem_default = 262144">>/etc/sysctl.conf
echo "net.core.rmem_max = 2097152">>/etc/sysctl.conf
echo "net.core.wmem_default = 262144">>/etc/sysctl.conf
echo "net.core.wmem_max = 1048576">>/etc/sysctl.conf
echo "fs.file-max = 262144">>/etc/sysctl.conf
让参数生效
sysctl -p
注:
shmall 是全部允许使用的共享内存大小,shmmax 是单个段允许使用的大小。这两个可以设置为内存的 90%。
例如 16G 内存,16*1024*1024*1024*90% = 15461882265,shmall 的大小为 15461882265/4k(getconf PAGESIZE可得到) = 3774873。
5.创建Oracle用户和组
groupadd -g 600 oinstall
groupadd -g 601 dba
groupadd -g 602 oper
useradd -u 600 -g oinstall -G dba,oper oracle -d /home/oracle
passwd oracle
6.创建ORACLE安装目录变更属主
mkdir -p /oracle/product/10.2.0/crs
mkdir -p /oracle/product/10.2.0/db
chown -R oracle:oinstall /oracle
7.修改ORACLE用户默认限制
echo "oracle soft nproc 2047">>/etc/security/limits.conf
echo "oracle hard nproc 16384">>/etc/security/limits.conf
echo "oracle soft nofile 4096">>/etc/security/limits.conf
echo "oracle hard nofile 65536">>/etc/security/limits.conf
echo "session required /lib/security/pam_limits.so">>/etc/pam.d/login
echo "session required pam_limits.so">>/etc/pam.d/login
echo "if [ $USER = "oracle" ]; then">>/etc/profile
echo " if [ $SHELL = "/bin/ksh" ]; then">>/etc/profile
echo " ulimit -p 16384">>/etc/profile
echo " ulimit -n 65536">>/etc/profile
echo " else">>/etc/profile
echo " ulimit -u 16384 -n 65536">>/etc/profile
echo " fi">>/etc/profile
echo "fi">>/etc/profile
8.配置ORACLE环境变量
1)ORACLE用户.bash_profile
su - oracle
echo "export ORACLE_BASE=/oracle">>~/.bash_profile
echo "export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db">>~/.bash_profile
echo "export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs">>~/.bash_profile
echo "export ORACLE_SID=racdb1 # The Second Node is Named racdb2">>~/.bash_profile
echo "export PATH=$PATH:$ORA_CRS_HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/dcm/bin:$ORACLE_HOME/webcache/bin:$ORACLE_HOME/opmn/bin">>~/.bash_profile
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/usr/lib:/usr/local/lib">>~/.bash_profile
echo "export TMPDIR=/tmp">>~/.bash_profile
echo "export TMP=/tmp">>~/.bash_profile
2)ROOT用户.bash_profile">>~/.bash_profile
su -
echo "export ORACLE_BASE=/oracle">>~/.bash_profile
echo "export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db">>~/.bash_profile
echo "export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs">>~/.bash_profile
echo "export PATH=$PATH:$ORA_CRS_HOME/bin">>~/.bash_profile
9.配置/etc/hosts网络文件
cp /etc/hosts /etc/hosts.back
echo "192.168.56.101 rac1">>/etc/hosts
echo "192.168.56.111 rac1-vip">>/etc/hosts
echo "10.10.10.101 rac1-priv">>/etc/hosts
echo "192.168.56.102 rac2">>/etc/hosts
echo "192.168.56.112 rac2-vip">>/etc/hosts
echo "10.10.10.102 rac2-priv">>/etc/hosts
10.节点间建立SSH 用户等效项
1)在各节点创建RAS与DSA密钥
su - oracle
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa
注:三次回车。
ssh-keygen -t dsa
注:三次回车。
2)在欲进行RAC安装OUI的节点上,添加密钥到授权密钥文件authorized_keys中
$ssh rac1 cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
$ssh rac1 cat ~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys
$ssh rac2 cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
$ssh rac2 cat ~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys
$chmod 600 ~/.ssh/authorized_keys
3)拷贝副本到其它节点对应目录下并授权
节点一:
$scp ~/.ssh/authorized_keys rac2:/home/oracle/.ssh/
节点二:
$chmod 600 ~/.ssh/authorized_keys
4)在OUI节点上测试SSH等效性
$ssh rac1 hostname
$ssh rac2 hostname
注:如果无需输入密码就出现主机名,说明SSH配置成功。
11.配置hangcheck timer内核模块
echo "options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180">>/etc/modprobe.conf
echo "modprobe hangcheck_timer">>/etc/rc.d/rc.local
12.配置两节点LINUX操作系统时间同步
1)在节点一进行如下操作
cp /etc/ntp.conf /etc/ntp.conf.back
echo "restrict 10.1.120.0 mask 255.255.255.0 nomodify notrap">>/etc/ntp.conf
service ntpd start
2)在节点二进行如下操作
#crontab -e
1-59 * * * * ntpdate 10.1.120.201
13.在其中一个节点配置集群注册表OCR、表决磁盘voting共享LV
1)创建一个分区
fdisk /dev/sdd
n
p
t
8e
w
2)创建一个pv
pvcreate /dev/sdd1
pvscan
3)创建一个vg
vgcreate crsvg /dev/sdd1
vgscan
注:vgcreate datavg /dev/sdc1 /dev/sdd1 /dev/sde1
4)创建db所需的lv
lvcreate -L 300M -n lvocr1 crsvg
lvcreate -L 300M -n lvocr2 crsvg
lvcreate -L 120M -n lvvoting1 crsvg
lvcreate -L 120M -n lvvoting2 crsvg
lvcreate -L 120M -n lvvoting3 crsvg
lvcreate -L 20M -n lvasmpwd crsvg
lvscan
5)重启所有节点,加载共享磁盘信息
#reboot
6)配置lv关联至raw
cp /etc/sysconfig/rawdevices /etc/sysconfig/rawdevices.back
echo "/dev/raw/raw1 /dev/crsvg/lvocr1">>/etc/sysconfig/rawdevices
echo "/dev/raw/raw2 /dev/crsvg/lvocr2">>/etc/sysconfig/rawdevices
echo "/dev/raw/raw3 /dev/crsvg/lvvoting1">>/etc/sysconfig/rawdevices
echo "/dev/raw/raw4 /dev/crsvg/lvvoting2">>/etc/sysconfig/rawdevices
echo "/dev/raw/raw5 /dev/crsvg/lvvoting3">>/etc/sysconfig/rawdevices
echo "/dev/raw/raw6 /dev/crsvg/lvasmpwd">>/etc/sysconfig/rawdevices
/sbin/service rawdevices restart
7)配置raw属主
cp /etc/rc.local /etc/rc.local.back
echo "chown oracle:dba /dev/raw/raw[0-9]">>/etc/rc.local
echo "chmod 660 /dev/raw/raw[0-9]">>/etc/rc.local
dd if=/dev/zero of=/dev/raw/raw1 bs=8192k count=3000
dd if=/dev/zero of=/dev/raw/raw2 bs=8192k count=3000
dd if=/dev/zero of=/dev/raw/raw3 bs=8192k count=1200
dd if=/dev/zero of=/dev/raw/raw4 bs=8192k count=1200
dd if=/dev/zero of=/dev/raw/raw5 bs=8192k count=1200
dd if=/dev/zero of=/dev/raw/raw6 bs=8192k count=200
8)查看相前raw的信息
raw -qa
9)重启所有节点,加载raw映射信息
#reboot
14.主节点安装开始
$export LANG=en_US
$export DISPLAY=192.168.108.1:0.0 --本机IP地址,将图形界面引到本机
$ ./runInstaller -ignoreSysPrereqs
15.BUG
1)在最后的节点运行root.sh脚本时报如下错误——
Oracle CRS stack installed and running under init(1M)
Running vipca(silent) for configuring nodeapps
/home/oracle/crs/oracle/product/10/crs/jdk/jre//bin/java: error while loading
shared libraries: libpthread.so.0: cannot open shared object file:
No such file or directory
解决办法:
在安装最后,,运行root.sh脚本之前,修改下列文件
中的内容
***VIPCA*********************************************************************
if [ "$arch" = "i686" -o "$arch" = "ia64" -o "$arch" = "x86_64" ]
then
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
fi
#增加如下内容
unset LD_ASSUME_KERNEL *****************************************************************************
***SRVCTL********************************************************************
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
#增加如下内容
unset LD_ASSUME_KERNEL *****************************************************************************
修改完成后,在二节点上手动运行./vipca,配置完成后关闭图形界面。
2)在最后节点运行vipca时,报如下错误——
Error 0(Native: listNetInterfaces:[3])
[Error 0(Native: listNetInterfaces:[3])]
解决办法:
eth0 192.168.56.0 global public
eth1 172.10.10.0 global cluster_interconnect
eth0 192.168.56.0
eth1 172.10.10.0
15.禁止/启用 CRS跟随操作系统自动启动
/etc/init.d/init.crs disable
/etc/init.d/init.crs enable
注:启动CRS crsctl start crs
亦可以——
/etc/init.d/init.cssd start
/etc/init.d/init.crs start

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Oracle でテーブルがどのテーブルスペースに属しているかを確認する方法: 1. 「SELECT」ステートメントを使用し、テーブル名を指定して、指定したテーブルが属するテーブルスペースを検索します; 2. Oracle が提供するデータベース管理ツールを使用して確認します。表が属する表スペース。ツールは通常、操作をより直観的かつ便利にするグラフィカル・インターフェースを提供します。3. SQL*Plus では、「DESCRIBEyour_table_name;」コマンドを入力すると、表が属する表スペースを表示できます。 。

PDO を使用して Oracle データベースに接続する方法の概要: PDO (PHPDataObjects) は、PHP でデータベースを操作するための拡張ライブラリであり、複数の種類のデータベースにアクセスするための統合 API を提供します。この記事では、PDO を使用して Oracle データベースに接続し、一般的なデータベース操作を実行する方法について説明します。ステップ: Oracle データベース ドライバー拡張機能をインストールする PDO を使用して Oracle データベースに接続する前に、対応する Oracle をインストールする必要があります

Oracle が重複データを 1 つだけフェッチする手順: 1. SELECT ステートメントを GROUP BY および HAVING 句と組み合わせて使用し、重複データを検索します。 2. ROWID を使用して重複データを削除し、正確な重複データ レコードが削除されるようにします。重複データを削除するには、「ROW_NUMBER」() 関数を使用します。これにより、重複データの各セットの最初のレコードを除くすべてのレコードが削除されます。 3. 「select count(*) from」ステートメントを使用して、削除されたレコードの数を返します。結果を保証します。

PHP および Oracle データベースへのデータ インポートの実装 Web 開発では、サーバー側のスクリプト言語として PHP を使用すると、データベースを便利に操作できます。一般的なリレーショナル データベース管理システムとして、Oracle データベースは強力なデータ ストレージ機能と処理機能を備えています。この記事では、PHP を使用して Oracle データベースにデータをインポートする方法と、対応するコード例を紹介します。まず、PHP と Oracle データベースがインストールされていること、および PHP が次のように構成されていることを確認する必要があります。

PHP および Oracle データベースで接続プーリングを効率的に使用する方法 はじめに: PHP アプリケーションを開発する場合、データベースの使用は不可欠な部分です。 Oracle データベースと対話する場合、アプリケーションのパフォーマンスと効率を向上させるには接続プールの使用が重要です。この記事では、PHP で Oracle データベース接続プールを効率的に使用する方法と、対応するコード例を紹介します。 1. コネクションプーリングの概念とメリット コネクションプーリングとは、データベースのコネクションを管理する技術で、あらかじめコネクションをまとめて作成し、コネクションを維持します。

oracle データベースには jdk が必要です。その理由は、1. 特定のソフトウェアや機能を使用する場合、JDK に含まれる他のソフトウェアやライブラリが必要であること、2. Oracle データベースで Java プログラムを実行するには Java JDK をインストールする必要があること、3. JDK であることです。 Java アプリケーション関数の開発とコンパイルを提供します。 4. 特定の関数の実装と実装に役立つ Java 関数に対する Oracle の要件を満たします。

PHP を使用して PDO を拡張し、Oracle データベースに接続する方法 はじめに: PHP は非常に人気のあるサーバー側プログラミング言語であり、Oracle は一般的に使用されるリレーショナル データベース管理システムです。この記事では、PHP 拡張機能 PDO (PHPDataObjects) を使用して Oracle データベースに接続する方法を紹介します。 1. PDO_OCI 拡張機能のインストール Oracle データベースに接続するには、まず PDO_OCI 拡張機能をインストールする必要があります。 PDO_OCI 拡張機能をインストールする手順は次のとおりです。

ストアド プロシージャにテーブルが存在するかどうかを判断する Oracle の手順は次のとおりです。 1. 「user_tables`」システム テーブルを使用して現在のユーザーのテーブル情報をクエリし、受信したテーブル名「p_table_name」と「table_name」フィールドを比較し、条件が満たされると、「COUNT(*)」は 0 より大きい値を返します; 2. 「SET SERVEROUTPUT ON;」ステートメントと「EXEC`」キーワードを使用してストアド プロシージャを実行し、テーブル名をテーブル名に渡します。テーブルが存在するかどうかを判断します。
