RHEL 6.4下安装Oracle 11.2.0.3 - 图文

更新时间:2024-07-05 11:39:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

RHEL 6.4下安装Oracle 11.2.0.3

1 软件版本

数据库:11.2.0.3.0 - 64bit 操作系统:RHEL6.4 x86_64

2 硬件配置

2.1 Swap

下图是官方建议的交换内存设置:

如果物理内存足够大,根本就不需要交换内存了。为了让oracle安装脚本运行成功,可以设置一个很小的交换分区。安装操作系统时就应该把交换内存设置好。

如果安装操作系统时候没有建立交换分区,或者交换分区不够,导致无法启动oracle安装脚本,可以使用以下两种办法解决:

(1)当前还有多余的空余磁盘分区 卸掉使用的交换内存:

[root@huida ~]# swapoff -v /dev/sdb2 挂载新的交换内存

[root@huida ~]# swapon -v /dev/sdb3 (2)没有了多余的空闲分区

如果安装系统时交换分区设置得太小,而且没有多余的磁盘分区,可以手动建立交换文件,充当交换分区。

建立交换文件,文件包括2000个块,块大小是1m,所以文件大小是2G: [~]#dd if=/dev/zero of=/root/swapfile count=2000 bs=1024k 格式化交换文件: [~]#mkswap /root/swapfile 挂载交换文件: [~]#swapon /root/swapfile

于是,交换内存就在原来的基础上增加了2G。 设置为开机自动挂载:

echo “/root/swapfile swap swap defaults 0 0” >> /etc/fstab

注意:一般情况下,只有的确存在问题(例如oracle安装启动脚本无法运行)时,才改变交换分区

2.2 /tmp可用空间确认

/tm剩余空间大小需要在1G以上 使用如下命令确认: [~]#df -h /tmp

文件系统 容量 已用 可用 已用%% 挂载点 /dev/sda1 28G 16G 11G 59% /

2.3 磁盘空间

简单测试使用,30g足够;生产环境使用,自然越多越好。

2.4 内存

最小512m,越大约好

在RHEL上需要着重关注shmfs文件系统: [~]#df –h //查看当前的shmfs文件系统大小 文件系统 容量 已用 可用 已用%% 挂载点 /dev/sda1 28G 14G 13G 51% / shmfs 200M 0 200M 0% /dev/shm

注意:shmfs文件系统大小一般是物理内存的一半,如果准备分配给oracle的内存(memory_target)大于物理内存的一半,就需要使用下面的命令重新分配shmfs大小:

[root@huida ~]# mount -t tmpfs shmfs -o size=300m /dev/shm 写入开机启动文件:

[~]#echo \/dev/shm\>> /etc/rc.local

或者:echo \ /dev/shm tmpfs rw,size=1000m 0 0\ >> /etc/fstab

注意:在rc.local文件中,自动挂载命令必须写在oracle启动脚本之前,否则会影响oracle启动。

3 关闭相关服务

测试环境下,为避免不必要的麻烦,关闭防火墙,关闭selinux,重启系统

3.1 关闭防火墙

#service iptables stop #chkconfig iptables off #service ip6tables stop #chkconfig ip6tables off

3.2 关闭SELINUX

编辑 SELinux 配置文件 #vi /etc/selinux/config,将 SELINUX 的值设为 disabled,如下: SELINUX=disabled;

修改该文件可使重启系统后不启动 SELinux。关闭当前已开启的 SELinux 使用如下命令: #setenforce 0

查看SELinux状态:

1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态 SELinux status: enabled

2、getenforce ##也可以用这个命令检查

关闭SELinux:

1、临时关闭(不用重启机器):

setenforce 0 ##设置SELinux 成为permissive模式

##setenforce 1 设置SELinux 成为enforcing模式

2、修改配置文件需要重启机器: 修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

4 安装包检查:

检查下列rpm包是否已经安装:

rpm -qa libaio mksh unixODBC unixODBC-devel libstdc++ libstdc++-devel libgcc gcc gcc-c++ sysstat binutils make libaio-devel glibc

glibc-devel glibc-headers glibc-common elfutils-libelf elfutils-libelf-devel setarch compat-libstdc++-33 pdksh

在安装操作系统时,上面的包多数都安装了,少数几个可能需要安装(比如

libaio,libaio-devel,setarch, pdksh),如果在安装光盘里找不到,可以上网下载对应版本的包,下载链接:http://rpm.pbone.net。部分安装包也可以在ISO文件的Packages目录下找到。

// 在Packages下有

#rpm -ivh mksh-39-7.el6.x86_64.rpm

#rpm -ivh unixODBC-2.2.14-12.el6_3.x86_64.rpm

#rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm // 也可以像下面一样安装

#yum -y install gcc-4.4.7-3.el6.x86_64.rpm // 需下载

#rpm -ivh libaio-devel-0.3.107-10.el6.x86_64.rpm #rpm -ivh elfutils-libelf-devel-0.152-1.el6.x86_64.rpm #rpm -ivh libstdc++-devel-4.4.7-3.el6.x86_64.rpm #rpm -ivh gcc-c++-4.4.7-3.el6.x86_64.rpm #rpm -ivh pdksh-5.2.14-37.el5.x86_64.rpm

// 安装所有运行库/开发库

#yum groupinstall \// 安装输入法

#yum groupinstall \

5 配置相关参数和oracle帐号。

5.1 配置内核参数

vi /etc/sysctl.conf, 在末尾添加如下参数(有的参数可能已经有了): fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152

kernel.shmmax = 17179869184 //此数代表单个共享内存块最大大小,可以设置为80%内存大小,单位字节

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 = 1048576

注意:上面这些参数有的已经有默认值了,如果默认值比上面列出的大,就不要再把他调小了。

保存并使之生效: sysctl -p

如果有如下提示错误,忽略,因为即使未修改参数也可能会提示有这个错误 error: \error: \error: \

5.2 进行安装用户的资源限制

vi /etc/security/limits.conf,对oracle帐号进行资源限制,添加下面内容到末尾: oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240

5.3 配置登录认证pam模块

vi /etc/pam.d/login,配置登录认证pam模块,添加下面内容到末尾: session required pam_limits.so /lib64/security/pam_limits.so

5.4 设定bash和ksh资源限制

(为oracle用户在bash和ksh中设定资源限制。编辑文件vi /etc/profile,添加下列内容至末尾:

if [ $USER = \if [ $SHELL = \#ulimit -p 16384 ulimit -n 65536 else

ulimit -u 16384 -n 65536 fi fi

5.5 C shell 登录配置

vi /etc/csh.login,添加: if( $USER == \limit maxproc 16384 limit descriptors 65536 umask 022

endif

5.6 添加相关用户组及用户:

groupadd oinstall groupadd dba

useradd -g oinstall -G dba -d /u01 oracle //把/u01设置为软件基目录 chown -R oracle:oinstall /u01 passwd oracle //设置oracle帐号密码

6 用oracle帐号登录:

用oracle帐号登录,建立相关目录,配置相关环境变量: $mkdir /u01/oracle

$mkdir /u01/oracle/oraInventory $vi /u01/.bash_profile ORACLE_BASE=/u01/oracle ORACLE_HOME=$ORACLE_BASE/soft LD_LIBRARY_PATH=$ORACLE_HOME/lib

ORACLE_SID=orcl #实例名,尽量不要超过八位,否则数据库名会被截断 #NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16GBK' NLS_LANG='SIMPLIFIED CHINESE_CHINA.AL32UTF8'

LANG=zh_CN.UTF-8 #设置好这个环境变量,否则安装时会出现乱码 #NLS_LANG=American_America.ZHS16GBK #LANG=en_US

#英文版用这个

PATH=$ORACLE_HOME/bin:$PATH

export ORACLE_BASE ORACLE_HOME LD_LIBRARY_PATH ORACLE_SID PATH LANG NLS_LANG 使环境变量生效:

$source ~/.bash_profile

$mkdir /u01/soft //创建软件安装包存放目录

使用oracle帐号,上传软件安装包到oracle目录/u01/soft

[oracle.11.2.0.3.linux.64.bit].[oracle.11.2.0.3.linux.64.bit].p10404530_112030_Linux-x86-64_1of7.zip

[oracle.11.2.0.3.linux.64.bit].[oracle.11.2.0.3.linux.64.bit].p10404530_112030_Linux-x86-64_2of7.zip

解压安装包 $unzip

[oracle.11.2.0.3.linux.64.bit].[oracle.11.2.0.3.linux.64.bit].p10404530_112030_Linux-x86-64_1of7.zip

$unzip

[oracle.11.2.0.3.linux.64.bit].[oracle.11.2.0.3.linux.64.bit].p10404530_112030_Linux-x86-64_2of7.zip

注意:不要使用su oracle命令,应该用oracle帐号重新登录,登录界面中要切换到中文。

7 开始安装

以oracle用户登录,进入oracle安装文件database目录 执行 ./runInstaller 如果出现乱码,请将zysong.ttf文件复制到字体目录下。 #mkdir -p /usr/share/fonts/zh_CN/TrueType/ #cp zysong.ttf /usr/share/fonts/zh_CN/TrueType/

安装截图如下:

图1:启动安装

图2 忽略安全更新

图3 跳过软件更新

图4 选择安装完成后立即创建数据库(虽然可以用dbca,但是这里建议选择)

图5:选择服务器类:

图6:选择单实例:

图7:选择高级安装,自行设置

图8:语言默认即可

图9:选择企业版

图10:指定安装目录(默认自动读取ORACLE_BASE和ORACLE_HOME环境变量)

图11:产品清单目录,默认即可

图12:一般用途,默认即可

图13:设置数据库名和实例名,默认分别读取环境变量DB_NAME和ORACLE_SID

图14,内存设置

推荐启用自动内存管理方式,默认占用40%的物理内存。在实际环境中,如果服务器仅仅用于数据库,可以用80%的物理内存,只要保证shmps文件系统足够即可。字符集默认是ZHS16GBK,无需设置。安全性和实例方案可以忽略。为了支持数据库中存储中文,请选择AL32UTF8。

图15,默认下一步

图16,设置数据文件存放目录,默认即可

图17,不启用自动备份

图18,设置口令,可以为帐号设置不同口令,也可设置相同口令

图19,设置操作系统组,默认即可

图20,先决条件检查,如遇交换内存问题,可以忽略

图21,开始安装

图22,由于之前设置了口令,而且不需要为用户解锁,所以这里点击确定即可。

8 使用root权限运行两个脚本,完成安装

图23,口令管理完成弹出窗口,要求用root权限运行两个脚本

# sh /u01/app/oraInventory/orainstRoot.sh

# sh /u01/app/oracle/product/11.2.0/dbhome_1/root.sh

图24,直接su root,手动执行这两个脚本即可。

$vi .bash_profile ORACLE_OWNER=oracle

ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 NLS_LANG='SIMPLIFIED CHINESE_CHINA.AL32UTF8' 修改或增加上述环境变量。

图25,执行第二个脚本,执行完脚本后返回确定,安装结束

9 善后工作

安装完成后,已经启动默认监听和刚才安装的实例,可以用system,sys帐号远程登录了。 还要做下面几件事:

1. OEM是不需要的,手动关闭:

[oracle@RedHat-TA ~]$emctl stop dbconsole 2. 设置为开机自动启动:

把下面的内容加入vi /etc/rc.local末尾 su - oracle << EOF lsnrctl start sleep 1

sqlplus / as sysdba << EOE

startup quit EOE EOF 安装结束

10 其他

10.1 关于忘记sys用户口令的解决办法

1. 关闭数据库 2. 删除口令文件

rm /u01/oracle/soft/dbs/orapworcl

3. 执行orapwd重建建立orapworcl文件

$orapwd file= /u01/oracle/soft/dbs/orapworcl password 123456 entries=5

10.2 更改用户的LOCK,EXPIRED状态

首先, 如果是locked状态还好办, DBA直接执行alter user scott account unlock 就可以了.

但是如果变成expired状态, oracle本身是不提供解锁的语句的, 因为账户过期,必须要用户更改密码, 账户才能重新使用. 但有些时候, 因为各种原因, 我们并不知道原密码的明文是什么,这时候就很麻烦了, 经研究发现, 可以用原密码的密文来更改密码: $ sqlplus / as sysdba

SQL> alter user scott identified by tiger; SQL> quit

这种情况下,用户scott的密码为tiger,同时可以把expired的状态更改掉.

10.3 登录方法

1 网络验证方式:

SQL> conn sys/oracle as sysdba Connected. SQL> show user; USER is \2本地验证方式:

[oracle@wwl ~]$ sqlplus / as sysdba SQL> show user; USER is \SQL>

3查看system用户状态

SQL> select username,account_status from dba_users where username='SYSTEM'; USERNAME ACCOUNT_STATUS

---------- -------------------------------- SYSTEM LOCKED SQL>

本文来源:https://www.bwwdw.com/article/g4e.html

Top