分享
 
 
 

Oracle10gRAC与SLES9

王朝oracle·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

第 1 部分 安装SLES9

1. 安装SLES9。不要安装 认证服务器(NIS、LDAP、Kerberos)。

2. 为每台服务器的两块网卡提供两个IP地址。一个用于专门网络,一个用于公共网络。

分别是:node1: 192.168.1.68 10.0.0.1 node2: 192.168.1.69 10.0.0.2

3. 在YaST中配置本地主机名:n1pub.site.com和n2pub.site.com。

4. SLES9下所需的程序包:

基本运行时系统

YaST

图形基本工具

Linux工具

KDE桌面环境

C/C++编译环器和工具(安装操作系统时手工选择)

Tips:选完全安装即可,省了很多挑选包的繁琐工作

5. 所需内核:2.6.5-7.97-smp或更高。升级内核到2.6.5-7.155.29-smp。

# uname ?r //查看内核

2.6.5-7.155.29-smp

6. 其他所需程序包的版本(或更高版本):

make-3.8

gcc-3.3.3-43

gcc-c++=3.3.3-43

libaio-0.3.98-18

libaio-devel-0.3.98-18

openmotif-libs-2.2.2-519

验证已安装的程序包:

# rpm -q make gcc gcc-c++ libaio libaio-devel openmotif-libs

第 2 部分 为 Oracle 配置 Linux

1. 创建 Oracle 组和用户帐户

用户帐户名是‘oracle’,组是‘oinstall’和‘dba’。 仅在一个集群主机上以 root 用户身份执行以下命令:

# /usr/sbin/groupadd oinstall

# /usr/sbin/groupadd dba

# /usr/sbin/useradd -m -g oinstall -G dba oracle

# id oracle

uid=1000(oracle) gid=1000(oinstall) groups=1000(oinstall),1001(dba)

用户 ID 和组 ID 在所有集群主机上必须相同。

使用从 id oracle 命令得到的信息,在其余集群主机上创建 Oracle 组和用户帐户:

# /usr/sbin/groupadd -g 1000 oinstall

# /usr/sbin/groupadd -g 1001 dba

# /usr/sbin/useradd -m -u 1000 -g oinstall -G dba oracle

# id oracle

uid=1000(oracle) gid=1000(oinstall) groups=1000(oinstall),1001(dba)

设置 oracle 帐户的口令:

# passwd oracle

2. 创建挂载点

以 root 用户身份执行以下命令:

# mkdir -p /u01/app/oracle

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

# chmod -R 775 /u01/app/oracle

3. 配置内核参数

以 root 用户身份登录并在每个主机上配置 Linux 内核参数。

# cat>> /etc/sysctl.conf <<EOF

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmin = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default=262144

net.core.wmem_default=262144

net.core.rmem_max=262144

net.core.wmem_max=262144

EOF

# /sbin/sysctl -p

在完成以上步骤之后运行以下命令:

# /sbin/chkconfig boot.sysctl on

4. 为 oracle 用户设置 Shell 限制

Oracle 建议对每个 Linux 帐户可以使用的进程数量和打开文件的数量设置限制。要进行这些更改,以 root 用户身份剪切和粘贴下列命令。

# cat >> /etc/security/limits.conf <<EOF

oracle soft nproc 16384

oracle hard nproc 16384

oracle soft nofile 65536

oracle hard nofile 65536

EOF

//启用资源限制

# cat >> /etc/pam.d/login <<EOF

session required /lib/security/pam_limits.so

EOF

说明:此处soft 值即缺省值 和hard 值上限值相等。有的参考文档描述

需要生成profile.local ,设置 nproc 和 nofile ,这是不对的,非root

用户无权ulimit 修改bash资源限制!

5. SLES9避免错误

在 SLES9 上安装 Oracle Enterprise Manager 10g 的一个错误将导致安装因网络端口不可用而失败。OEM DBConsole 需要端口 1830,而在 SLES 环境中,此端口已经预留给 /etc/services。此错误在 MetaLink 上的错误号为 3513603。

要避免安装过程中出现问题,以 root 用户身份登录,并在安装 Oracle 10g 软件之前将 /etc/services 文件中的端口 1830 应的行注释掉。

6. 配置 Hangcheck 计时器

# modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

# cat >> /etc/init.d/boot.local <<EOF

modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

EOF

7. 配置 /etc/hosts

有些 Linux 发行版本将主机名与回送地址 (127.0.0.1) 相关联。 如果出现这种情况,则从回送地址中删除主机名。

用于此指南的 /etc/hosts 文件:

127.0.0.1 localhost

10.0.0.1 n1pri.site.com n1pri

10.0.0.2 n2pri.site.com n2pri

192.168.1.68 n1pub.site.com n1pub

192.168.1.69 n2pub.site.com n2pub

192.168.1.66 n1vip.site.com n1vip

192.168.1.67 n2vip.site.com n2vip

8. 为用户等效性配置 SSH

第一步是生成 SSH 的公共密钥和专用密钥。

在每个主机上,以 oracle 用户身份登录:

> mkdir ~/.ssh

> chmod 755 ~/.ssh

> /usr/bin/ssh-keygen -t rsa

> /usr/bin/ssh-keygen -t dsa

第二步将每个主机上的公共密钥文件 id_rsa.pub 和 id_dsa.pub 的内容复制到其他每个主机的 ~/.ssh/authorized_keys 文件中。使用 ssh 第一次访问远程主机时,将提示确认是否希望连接该主机。

在第一个主机上,以 oracle 用户身份登录:

> cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

> cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

> ssh oracle@n2pub cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

> ssh oracle@n2pub cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

> chmod 644 ~/.ssh/authorized_keys

对第二个主机做同样的处理。这次 SSH 会提示输入在创建密钥时所使用的口令短语而非 oracle 的口令。 这是因为第一个主机 (n1pub) 现在知道了第二个主机的公共密钥,而 SSH 现在使用的是一种不同的认证协议。

> cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

> cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

> ssh oracle@n1pub cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

> ssh oracle@n1pub cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

> chmod 644 ~/.ssh/authorized_keys

9. 建立用户等效性

以 oracle 用户身份在每个主机上执行命令:

> exec /usr/bin/ssh-agent $SHELL

> /usr/bin/ssh-add

注意,用户等效性仅为当前会话建立。 如果切换到其他会话或注销并重新登录,则必须再次运行 ssh-agent 和 ssh-add 才能重新建立用户等效性。

10. 测试连通性

现在应该可以使用 ssh 在其他集群主机上不必输入口令而登录、执行程序和复制文件了。 通过在远程集群主机上运行诸如 hostname 等简单命令来验证用户等效性,如在n2pub上:

> ssh n1pub hostname

如果返回如n1pub,则表示正常。

测试每个方向上所有服务器的连通性。 如在n1pub上:

> ssh n2pub hostname

11. 同步时间

第 3 部分: 准备共享磁盘

有三种准备共享磁盘以用于 RAC 的方法:

Oracle 集群文件系统 (OCFS)

自动存储管理器 (ASM)

原始设备

Oracle 自动存储管理器 (ASM)

1. 首先确定ASMLib的版本。ASMLib 以一套共三个 Linux 程序包的形式提供:

oracleasmlib ― ASM 库

oracleasm-support ― 管理 ASMLib 所需的实用程序

oracleasm ― 用于 ASM 库的内核模块

以 root 用户身份登录并运行以下命令:

# uname -rm

2.6.5-7.155.29-smp i686

2. 下载与内核版本相应的oracleasm程序包(或者升级内核版本)。下载oracleasmlib 和 oracleasm-support 程序包。

3. 以 root 用户身份执行以下命令,在每个集群主机上安装这些程序包:

# rpm -Uvh > oracleasm-2.6.5-7.155.29-smp-2.0.0-1.i586.rpm > oracleasmlib-2.0.0-1.i386.rpm > oracleasm-support-2.0.0-1.i386.rpm

Preparing... ########################################### [100%]

1:oracleasm-support ########################################### [ 33%]

2:oracleasm-2.6.5-7.155.2########################################### [ 67%]

3:oracleasmlib ########################################### [100%]

4. 运行配置脚本来准备驱动程序。以 root 用户身份在每个集群主机上运行以下命令并回应提示:

# /etc/init.d/oracleasm configure

Default user to own the driver interface []:oracle

Default group to own the driver interface []:dba

Start Oracle ASM library driver on boot (y/n) [n]:y

Fix permissions of Oracle ASM disks on boot (y/n) [y]:y

Writing Oracle ASM library driver configuration: done

Creating /dev/oracleasm mount point: done

Loading module "oracleasm": done

Mounting ASMlib driver filesystem: done

Scanning system for ASM disks: done

5. 启用 ASMLib 驱动程序:

# /etc/init.d/oracleasm enable

Writing Oracle ASM library driver configuration: done

Scanning system for ASM disks: done

6. 使用fdisk对磁盘进行分区。

用途 大小 磁盘设备

ASM数据区1 600G dev/sdb

ASM数据区2 600G dev/sdc

Oracle Cluster Registry 200M dev/sdd1

Oracle CRS Voting 200M dev/sdd2

7. 为 ASM 配置磁盘。注意,这些磁盘应该是不包含任何内容的空磁盘分区。仅从一个集群主机上以 root 用户身份运行以下命令:

# /etc/init.d/oracleasm createdisk DISK_NAME1 /dev/sdb1

# /etc/init.d/oracleasm createdisk DISK_NAME2 /dev/sdc1

Marking disk "/dev/sdb1" as an ASM disk: done

8. 列出标记为由 ASMLib 使用的所有磁盘:

# /etc/init.d/oracleasm listdisks

DISK_NAME1

DISK_NAME2

...

9. 在所有其他集群主机上,以 root 用户身份运行以下命令,扫描所配置的 ASMLib 磁盘:

# /etc/init.d/oracleasm scandisks

第 4 部分: 安装 Oracle 软件

1.1 创建CRS

1. 在原始设备上创建 Oracle CRS 文件

目的 大小 磁盘设备 原始设备 文件名

Oracle ClusterRegistry 500M dev/sdd1 /dev/raw/raw1 /u02/oracrs/ocr.crs

Oracle CRS Voting 100M dev/sdd2 /dev/raw/raw2 /u02/oracrs/vote.crs

将以下各行添加到每个集群节点上的 /etc/raw:

raw1:sdd1

raw2:sdd2

2. 为每个节点上的 CRS 原始设备设置所有权和权限(严格按照下述配置)

# chown root:oinstall /dev/raw/raw1

# chmod 660 /dev/raw/raw1

# chown oracle:dba /dev/raw/raw2

# chmod 640 /dev/raw/raw2

3. 重新启动原始设备服务

# /etc/init.d/raw start

bind /dev/raw/raw1 to /dev/sdd1... done

bind /dev/raw/raw2 to /dev/sdd2... done

bind /dev/raw/raw3 to /dev/sdd3... done

4. 让系统启动时启动raw

# chkconfig raw on

5. 初始化raw (500m=524288000, 100m=104857600)

# dd if=/dev/zero of=/dev/raw/raw1 bs=524288000 ount=1

# dd if=/dev/zero of=/dev/raw/raw2 bs=104857600 ount=1

6. 以 oracle 用户身份登录X-Window并建立节点间的用户等效性:

> exec /usr/bin/ssh-agent $SHELL

> /usr/bin/ssh-add

7. 设置 ORACLE_BASE 和 ORACLE_HOME 环境变量:.profile

> export ORACLE_BASE=/u01/app/oracle

> export ORACLE_HOME=/u01/app/oracle/product/10.1.0/db_1

> export ORA_CRS_HOME=/u01/app/oracle/crs

> export LD_ASSUME_KERNEL=2.4.21

> export LANG=C

>export PATH=$PATH:$ORACLE_HOME/bin

8. 在一台主机上(n1pub)以oracle身份登录,安装CRS。挂载包含 CRS 介质的 CD 或文件系统,如果是ship.*.cpio.gz 形式压缩的, 先执行gunzip 加压, 然后执行

Cpio ?idmv < ship.*.cpio 解压。运行Disk1下的安装脚本, ./runInstaller

9. Welcome;单击 Next。

10. Specify Inventory Directory and Credentials ― 默认值应该就是正确的。确保 inventory 目录位于 ORACLE_BASE 目录中(例如: /u01/app/oracle/oraInventory)并且操作系统组是“oinstall”,在安装节点 (n1pub) 上运行 orainstRoot.sh(确保在 /etc/hosts 中而不仅仅是在 DNS 中配置了您的主机)。

11. Specify File Locations ― 确认默认值后继续。

12. Language Selection ― 确认默认值后继续。

13. Cluster Configuration ― 输入集群名和集群节点名。这里集群名可以取默认值或自己输入。公共节点名和专用节点名在此例中是public:n1pub.site.com和 n2pub.site.com;private:n1pri.site.com和n2pri.site.com。

14. Private Interconnect Enforcement ― 为每个接口指定接口类型。

15. Oracle Cluster Registry ― 在 Cluster Specify OCR Location 中,本例为

/dev/raw/raw1

16. Voting Disk ― 输入 voting disk 名,本例为 /dev/raw/raw2

17. 在集群的其余节点上运行 orainstRoot.sh。

18. Summary ― 在出现提示时单击 Install。

19. 从安装节点开始,每次在一个节点上运行 Oracle CRS 主目录中的 root.sh,如 /u01/app/oracle/product/10.1.0/crs_1/root.sh。不要同时在不同主机上运行该脚本,等在一台主机上脚本运行结束后再启动另一个。 (su -)

20. 从 $ORACLE_BASE/product/10.1.0/crs_1/bin 目录中运行 olsnodes 验证安装已成功。例如:

> cd $ORACLE_BASE/product/10.1.0/crs_1/bin

> ./olsnodes

21. 在一台主机安装数据库。从 db CD 运行 ./runInstaller。

22. Welcome ― 单击 Next。

23. Specify File Locations ― 确认默认值后继续。

24. Specify Hardware Cluster Installation Mode ― 选择 Cluster Installation 并选择集群中的其他节点。

25. Select Installation Type ― Enterprise Edition。

26. Product-specific Prerequisite Checks ― 全部选 OK。

27. Select Database Configuration ― 选择“Do not create a starter database”。使用数据库配置助手 (DBCA) 来创建数据库。

28. Summary ― 在出现提示时单击 Install。

29. 在安装数据库的节点上运行/u01/app/oracle/product/10.1.0/db_1/root.sh前,必须先执行以下操作:

# export DISPLAY=:0.0

# export XAUTHORITY=/home/oracle/.Xauthority

30. 从安装节点开始,以 root 用户身份登录,每次在一个主机上运行 Oracle 数据库主目录中的 root.sh,本例中为 /u01/app/oracle/product/10.1.0/db_1/root.sh。不要同时在不同主机上运行该脚本,等在一台主机上脚本运行结束后再启动另一个。

31. 在安装节点上执行 root.sh 脚本期间,将会出现VIPCA。

32. Welcome ― 单击 Next。

33. Network Interfaces ― 只选择用于公共网络的接口(在本示例中为 eth0)。 集群中所有主机上的这个接口必须相同。 (如果在安装主机上该接口是 eth0,则在集群中所有其他主机上都必须是 eth0。)

34. Virtual IPs for cluster nodes ― 输入在 DNS 中所配置的每个主机的虚拟 IP 别名(主机名)和虚拟 IP 地址。

35. Summary ― 单击 Finish。 VIP 配置助手创建并启动 VIP、GSD 和 ONS 应用程序资源。

36. Configuration Results ― 检查结果并单击 Exit。 在其他节点上依次运行 root.sh。

37. End of Installation ― 安装结束。

38. 在一个节点上Create the TNS Listener Process

./netca (在用户等效性已经建立的session 中执行)

1.2 创建 Oracle RAC 数据库

38. 以 oracle 用户身份登录,设置环境。

> . oraenv

ORACLE_SID = [oracle] ? *

ORACLE_HOME = /u01/app/oracle/product/10.1.0/db_1

39. dbca

1. Welcome ― 选择“Oracle Real Application Clusters database”

2. Operations ― 创建数据库

3. Node Selection ― 单击 Select All(ds1 和 ds2)

4. Database Templates ― 通用

5. Database Identification ― 全局数据库名: gemni.orademo.org

6. Management Options ― 利用 Enterprise Manager 配置数据库;使用数据库控制进行数据库管理

7. Database Credentials ― 为所有帐户使用相同的口令;输入口令并再次确认

8. Storage Options ― 自动存储管理 (ASM)

9. Create ASM Instance ― 设置 SYS 口令并确认;创建初始化参数文件 (IFILE)

10. ASM Disk Groups ― Create New>Create Disk Group>Disk Group Name (DATA);冗余(正常);更改磁盘发现路径(ORCL:* ― 即使磁盘显示为已供应状态,仍然必须输入此项,否则会出错);选择磁盘;输入故障组名;选择新创建的磁盘组

11. Database File Locations ― 使用 Oracle 管理的文件

12. Recovery Configuration ― 单击 Next

13. Database Content ― 示例模式

14. Initialization Parameters ― 内存、典型 、字符集

15. Database Storage ― 单击 Next

16. Create Options ― 选择“Create Database”

17. Summary ― 检查总结信息并单击 OK

1.3 设置开机启动数据库和客户端配置

设置自动启动:

编辑 /etc/oratab 将实例对应的 N 改为 Y

编辑 $oracle_home/bin 的dbshut dbhome dbstart 脚本 设置

将 ORATAB设置为/etc/oratab

客户端设置

NetMgr 或者 netca 配置 TNSServiceName

地址有2个,分别是n1pub 的虚拟地址192.168.1.66 和n2pub的虚拟地址192.168.1.67

高级选上 ,随机选取一个尝试,直到成功。 服务名:orcl.site.com ,要跟listener.ora

描述的一致。服务器类型选数据库默认。

注意:需要在客户端 hosts文件加上以下2条记录(主要是有重定向):

192.168.1.68 n1pub

(n1pub 为节点一 上

uname ?n 的输出)

192.168.1.69 n2pub

(n2pub 为节点二 上

uname ?n 的输出)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有