各版本Linux下安装实验ORACLE+10gR2+ASM+升级到10.2.0.5+单实例

来源:互联网 发布:java执行sql脚本文件 编辑:程序博客网 时间:2024/05/14 11:18

 

各版本Linux下安装实验ORACLE+10gR2+ASM+升级到10.2.0.5+单实例

目录...2

操作系统版本选择...3

操作系统要求...4

1.RHELAS 4.4

2.RHEL5.8

数据库安装准备...12

操作系统配置...12

数据库环境变量配置...12

数据库安装...13

安装database软件...13

安装database 10.2.0.5补丁集(升级oracle软件)...13

安装数据库PSU(包含了CPU补丁)补丁...14

创建数据库监听进程...14

利用裸设备配置ASM磁盘组...15

创建数据库...16

附录...17

1.不重启识别新添加的磁盘...17

 

 

 


操作系统版本选择

1)        RHEL 3.4 or later

2)        RHEL AS 4

3)        RHEL5

4)        SLES9 with SP2 or later

5)        SLES10 2.6.16.21-0.8 (or later)

6)        SLES11 2.6.27.19-5 or greater

7)        Asianux 2.0

 


操作系统要求

1.RHEL AS 4

所需要的磁盘空间

1.2G Database

1.5 to 3.5G Install

所需要的最小内存

1GB

所需要的SWAP大小

如果内存为1024MB to 2048Mb

then 1.5 times RAM

elseif RAM > 2048MB and < 8192MB

then match RAM

else RAM > 8192MB

then 0.75 times RAM

因此,根据内存大小来检测,使用命令free –m查看

tmp临时目录需求

400Mb

需要安装的软件包

binutils-2.15.92.0.2-10.EL4

binutils-2.15.92.0.2-13.0.0.0.2.x86_64

compat-db-4.1.25-9

control-center-2.8.0-12

gcc-3.4.3-9.EL4

gcc-c++-3.4.3-9.EL4

glibc-2.3.4-2

glibc-common-2.3.4-2

gnome-libs-1.4.1.2.90-44.1

libstdc++-3.4.3-9.EL4

libstdc++-devel-3.4.3-9.EL4

make-3.80-5

检查所需软件包是否已经安装:

# rpm -q binutils compat-db control-center gcc gcc-c++ glibc glibc-common gnome-libs libstdc++ libstdc++-devel make

安装所需软件包命令

# yum install -y binutils compat-db control-center gcc gcc-c++ glibc glibc-common gnome-libs libstdc++ libstdc++-devel make

1)              配置内核参数, 以下参数需大于或等于所列参考值(/etc/sysctl.conf

修改命令:

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

net.ipv4.ip_forward= 0

net.ipv4.conf.default.rp_filter= 1

net.ipv4.conf.default.accept_source_route= 0

kernel.sysrq= 0

kernel.core_uses_pid= 1

net.ipv4.tcp_syncookies= 1

kernel.msgmnb= 65536

kernel.msgmax= 65536

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 101365

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default = 2097152

net.core.rmem_max = 2097152

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

 

EOF

#sysctl-p

 


参数解释:

kernel.shmall

是指在任意时刻,系统中可以分配的所有共享内存段的总和的最大值,kernel.shmall>= 

kernel.shmmax/pagesize ,此处为最小值的4倍

kernel.shmmax

最大共享内存设置为物理内存大小,也可以根据实际情况设置为其一半

kernel.shmmni = 4096

最小内存大小,也是pagesize大小,为4K,可以通过命令getconf PAGE_SIZE来查看

kernel.sem

等号右边四个分别是semmsl,semmns,semopm,semmni的值

file-max

该参数表示文件句柄的最大数量,用于指定每个进程可以打开的最大文件数量

net.ipv4.ip_local_port_range

表示用于向外连接的端口范围

net.core.rmem_default

表示接收套接字缓冲区大小

net.core.rmem_max

最大socket读buffer,可参考的优化值:873200

net.core.wmem_default

表示发送套接字缓冲区大小

net.core.wmem_max

最大socket写buffer,可参考的优化值:873200

2) 配置oracle帐户shell限制

a)添加以下内容到/etc/security/limits.conf

修改命令:

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

oracle        soft    nproc  2047

oracle        hard    nproc  16384

oracle        soft    nofile 1024

oracle        hard    nofile 65536

 

最后输入EOF后回车即可。


参数解释:

oracle

 设置需要被限制的用户名

soft

soft 指的是当前系统生效的设置值

hard

hard 表明系统中所能设定的最大值,soft 的限制不能比hard限制高

nproc

 进程的最大数目

nofile

 打开文件的最大数目

b) 添加以下内容到/etc/pam.d/login
  修改命令:

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

session    required    /lib/security/pam_limits.so

 

 EOF

解释:

要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。查看/etc/pam.d/login 文件中有:

     session  required    /lib/security/pam_limits.so

c)添加以下内容到/etc/profile,提高 Oracle 用户的 shell 限制

修改命令:
# cat >> /etc/profile << EOF
 if [ $USER = "oracle" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
              ulimit -p 16384
              ulimit -n 65536
        else
              ulimit -u 16384 -n 65536
        fi
fi
 
EOF
 
使其生效
# source /etc/profile
 
 
 

2.RHEL5

所需要的磁盘空间

1.2G Database

1.5 to 3.5G Install

所需要的最小内存

1GB

所需要的SWAP大小

如果内存为1024MB to 2048Mb

then 1.5 times RAM

elseif RAM > 2048MB and < 8192MB

then match RAM

else RAM > 8192MB

then 0.75 times RAM

因此,根据内存大小来检测,使用命令free –m查看

tmp临时目录需求

400Mb

需要安装的软件包

compat-libstdc++-33-3.2.3-61.x86_64

elfutils-libelf-devel-0.137-3.el5

gcc-c++-4.1.2-55.el5

libstdc++-devel-4.1.2-55.el5

libstdc++-devel-4.1.2-55.el5

glibc-headers-2.5-123

glibc-devel-2.5-123

glibc-devel-2.5-123

libaio-devel-0.3.106-5

libgomp-4.4.7-1.el5

libgomp-4.4.7-1.el5

gcc-4.1.2-55.el5

libXp-1.0.0-8.1.el5

libXp-1.0.0-8.1.el5

sysstat-7.0.2-13.el5

检查所需软件包是否已经安装:

# rpm -q compat-libstdc++-33-3.2.3-61.x86_64 gcc-c++ libstdc++-devel glibc-headers glibc-devel libgomp gcc libXp sysstat

安装所需软件包命令

# yum install -y compat-libstdc++-33-3.2.3-61.x86_64 gcc-c++ libstdc++-devel glibc-headers glibc-devel libgomp gcc libXp sysstat

1)配置内核参数, 以下参数需大于或等于所列参考值(/etc/sysctl.conf

修改命令:

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

net.ipv4.ip_forward = 0

net.ipv4.conf.default.rp_filter = 1

net.ipv4.conf.default.accept_source_route = 0

kernel.sysrq = 0

kernel.core_uses_pid = 1

net.ipv4.tcp_syncookies = 1

kernel.msgmnb = 65536

kernel.msgmax = 65536

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 101365

net.ipv4.ip_local_port_range = 900065500

net.core.rmem_default = 2097152

net.core.rmem_max = 2097152

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

 

EOF

#sysctl -p

 


参数解释:

kernel.shmall

是指在任意时刻,系统中可以分配的所有共享内存段的总和的最大值,kernel.shmall >= kernel.shmmax/pagesize ,此处为最小值的4倍

kernel.shmmax

#设置为物理内存大小,也可以根据实际情况设置为其一半

kernel.shmmni = 4096

最小内存大小,也是pagesize大小,为4K,可以通过命令getconf PAGE_SIZE来查看

kernel.sem

等号右边四个分别是semmsl,semmns,semopm,semmni的值

file-max

该参数表示文件句柄的最大数量,用于指定每个进程可以打开的最大文件数量

net.ipv4.ip_local_port_range

表示用于向外连接的端口范围

net.core.rmem_default

表示接收套接字缓冲区大小

net.core.rmem_max

最大socket读buffer,可参考的优化值:873200

net.core.wmem_default

表示发送套接字缓冲区大小

net.core.wmem_max

最大socket写buffer,可参考的优化值:873200

3)  配置oracle帐户shell限制

a)     添加以下内容到/etc/security/limits.conf

修改命令:

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

oracle        soft    nproc  2047

oracle        hard    nproc  16384

oracle        soft    nofile 1024

oracle        hard    nofile 65536

 

最后输入EOF后回车即可。


参数解释:

oracle       

设置需要被限制的用户名

soft   

soft 指的是当前系统生效的设置值

hard   

hard 表明系统中所能设定的最大值,soft 的限制不能比hard限制高

nproc  

进程的最大数目

nofile 

打开文件的最大数目

b) 添加以下内容到/etc/pam.d/login
        修改命令:

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

session    required    /lib/security/pam_limits.so

 

 EOF

解释:

要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。查看/etc/pam.d/login 文件中有:

     session    required   /lib/security/pam_limits.so

c)添加以下内容到/etc/profile,提高 Oracle 用户的 shell 限制

     修改命令:
# cat >> /etc/profile << EOF
 if [ $USER = "oracle" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
              ulimit -p 16384
              ulimit -n 65536
        else
              ulimit -u 16384 -n 65536
        fi
fi
 
EOF
 
使其生效
# source /etc/profile
 

数据库安装准备

                   以下所涉及的主机名,IP地址,数据库名称等均为了让更直接的了解所做出的例子,在实际安装时再根据客户要求进行调整。

操作系统配置

1) 增加dba组和oracle用户

#groupadd dba

#useradd oracle -g dba

#passwd oracle(设置ORACLE用户密码)

2) 更改/etc/hosts文件,配制主机名等(以下假设主机名,网络IP地址等如下)
192.168.1.11  rhel4  rhel4.oracle.com

192.168.1.12  rhel5  rhel5.oracle.com

3) 建立软件安装目录,并将其owner和group设置为oracle和dba

# mkdir -p /app/oracle

# chown -R oracle:dba/app

4) 检查必要的包,检验一下包的安装情况

数据库环境变量配置

配置oracle环境变量

修改oracle用户$ORACLE_HOME的.bash_profile文件,增加如下内容:

export ORACLE_BASE=/app/oracle

exportORACLE_HOME=$ORACLE_BASE/product/10.2/db_1

export ORACLE_SID=****

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

exportPATH=$ORACLE_HOME/bin:$PATH


数据库安装

安装database软件

下载并解压10201_database_linux_x86_64.cpio.gz文件:

(1)$gunzip-v 10201_database_linux_x86_64.cpio.gz

(2)$cpio -idmv < 10201_database_linux_x86_64.cpio

$cd database/

运行$./runInstaller

屏幕名称

回应

欢迎使用

单击 下一步

选择安装类型

选择 定制

指定主目录详细信息

按如下所示设置名称和路径:
名称: OraDb10g_home1
路径: /app/oracle/product/10.2/db_1

可用产品组件

选择相关组件

产品特定的先决性检查

检查通过

特权操作系统组

OSDBA组:dba

OSOPER组: dba

创建数据库

仅安装数据库软件

概要

选择安装

执行配置脚本

安装完成时,将提示您运行 root.sh 脚本。需要记住的是,要依次执行脚本。

安装结束

安装结束时,退出 OUI。

安装database10.2.0.5补丁集(升级oracle软件)

下载并(oracle用户)解压p8202632_10205_Linux-x86-64.zip
$ unzip p8202632_10205_Linux-x86-64.zip 

进入解压目录:

$ cdDisk1/

$ ./runInstaller 

选定database软件安装的目录($ORACLE_HOME)

安装步骤只需确定即可

 

 

屏幕名称

回应

欢迎使用

单击 下一步

指定主目录详细信息

按如下所示设置名称和路径:
名称: OraDb10g_home1
路径: /app/oracle/product/10.2/db_1

产品特定的先决性检查

检查通过,如果没有满足的需要修改后再重新检验

安装过程

和一般安装oracle软件大同小异,等待安装完成即可

执行配置脚本

以root用户执行脚本(如果有覆盖的情况出现,覆盖即可)

安装结束

安装结束时,退出 OUI,oracle软件的升级成功。

安装数据库PSU(包含了CPU补丁)补丁

1.先安装高版本的OPatch工具:

$ cd$ORACLE_HOME

$ tar -zcvfopatch_10.2.0.4.9.tar OPatch/

从MOS下载针对10g的最新版本OPatch,上传到目录中

解压下载好的OPatch包到ORACLE_HOME目录下:

$ unzipp6880880_102000_Linux-x86-64.zip -d $ORACLE_HOME

重新查看OPatch版本:

$ /app/oracle/product/10.2/db_1/OPatch/opatchversion

 

2.打PSU补丁

下载并解压p16619894_10205_Linux-x86-64.zip

$ unzipp16619894_10205_Linux-x86-64.zip

停止数据库实例、ASM实例及监听器等

$ cd 16619894/

$ /app/oracle/product/10.2/db_1/OPatch/opatchapply

 

创建数据库监听进程

运行netca

屏幕名称

回应

欢迎使用

选择 监听程序配置

监听程序配置,监听程序

后续屏幕现在与其他常规监听器配置的相似。您只需接受后续 6 个屏幕的默认参数即可:
选择:添加
监听程序名:LISTENER
选定的协议:TCP
端口号:1521
是否配置另外一个:否
监听程序配置完成:下一步
您将返回到此“欢迎使用”屏幕。

欢迎使用

选择 命名方法配置

命名方法配置,请选择命名方法

后续屏幕是:
选择的命名方法: 本地命名
命名方法配置完成:下一步
您将返回到此“欢迎使用”屏幕。

欢迎使用

选择 完成,退出NETCA

利用裸设备配置ASM磁盘组

1)        在redhat5中,配置裸设备(根据实际环境配置)

分区:fdisk /dev/sdb(多个盘依次执行)

2)        分区完毕后添加裸设备的配置:

# vi /etc/udev/rules.d/60-raw.rules 添加下面的内容到文件中

# 加载裸设备,多个依次可加

ACTION=="add",KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"  

ACTION=="add", KERNEL=="sdc1",RUN+="/bin/raw /dev/raw/raw2 %N"

ACTION=="add", KERNEL=="sdd1",RUN+="/bin/raw /dev/raw/raw3 %N"

 

#设置raw[1-4]设备的用户和权限信息

ACTION=="add",KERNEL=="raw[1-4]",OWNER="oracle",GROUP="dba",MODE="660

3)        重启服务
#start_udev
4)查看raw设备
#ls -lrt /dev/raw或者 raw –aq

4)        执行脚本添加集群同步服务CSS:

#/app/oracle/product/10.2.0/db_1/bin/localconfigadd

5)        执行dbca命令

选择最后一个选项“Configure Automatic Storage Management”,然后进行磁盘组的配置

冗余机制有normal :两个磁盘组,hight:三个磁盘组,external:外部冗余:一个磁盘组

6)        配置完成后,访问实例,验证ASM是否配置成功

$ export ORACLE_SID=+ASM

$ sqlplus / as sysdba

SQL> select instance_name from v$instance;

INSTANCE_NAME

------------------------------------------------

+ASM

查看ASM磁盘组

SQL> desc v$asm_diskgroup

会看到该视图的信息。

创建数据库

启动dbca

屏幕名称

回应

欢迎使用

选择 create database

操作

选择 创建数据库

数据库模版

选择 一般用途

数据库标识

选择:
全局数据库名:orcl
SID 前缀: orcl

管理选项

保留此处的默认选项,即“使用 Enterprise Manager 配置数据库”。

数据库身份证明

选择 所有帐户使用同一口令oracle。输入口令(两次)并确保此口令不是以数字开头。

存储选项

选择 ASM

数据库文件所在位置

选择使用默认值,即使用 Oracle 管理的文件

恢复配置

这里没有选择 指定快速恢复区

选择 启用归档,同时配置归档路径

数据库内容

选择 默认值

初始化参数

内存:选择 典型,百分比为 40%

调整大小:进程 选择 800

字符集:数据库字符集选择 默认的ZHS16GBK,国家字符集选择 默认的AL16UTF16

连接模式:选择 专用服务器模式

数据库存储

修改所有的存储路径

创建选项

保留默认选项创建数据库,并单击 完成 以启动数据库创建过程。

在“概要”屏幕上单击 确定。

创建数据库结束

在数据库创建结束时,退出 DBCA。

退出 DBCA 时,将弹出另一对话框,指示它正在启动所有 Oracle 实例以及服务。这可能需要几分钟的时间才能完成。完成时,所有窗口和对话框将关闭。

 

 

执行modified.sql、utlrp.sql脚本

cd$ORACLE_HOME/rdbms/admin

sqlplus /nolog

SQL> CONNECT/ AS SYSDBA

SQL> STARTUP

SQL>@catbundle.sql psu apply          #加载modified.sql到数据库中

SQL>@utlrp.sql   #重新编译数据库不可用对象

SQL> QUIT

 

 

 

附录

1.不重启识别新添加的磁盘

确定主机总线号,磁盘是有总线连接着的

# ls/sys/class/scsi_host/

host0 host1 host2

重新扫描SCSI总线来添加设备,因为添加的是SCSI磁盘,所以扫描的是SCSI总线

# echo "- --" > /sys/class/scsi_host/host1/scan

验证是否识别成功

# fdisk –l

 

 

0 0
原创粉丝点击