ORACLE CentOS5.6安装

时间:2021-06-24 15:45:32

1 准备

CentOS 5.6企业版 oracle11g fs 安装。安装环境为vmware虚拟机。另外,本安装文档非常简洁,但关键步骤都指出来了,其他的都是默认选择,遇到不知该如何选择的操作或者问题时,多想一想,则能学到更多东西。

1.1 CentOS 5.6系统安装

Ø 在windows上使用vmware安装一台虚拟机,安装ISO为CentOS-5.6-i386-bin-DVD.iso. vm选择操作系统类型的时候,选择red hat 企业版 5.5

Ø 网络模式选择host-only,这是最不容易出问题的一种模式

Ø 设置ip地址(setup)

Ø 设置主机名、修改/etc/hosts,设置主机名和Ip的对应关系

1.1.1 安装注意事项

在网络模式中,如果机器没有连接外部网络,包括局域网,那么选择桥接并且配置静态IP的情况下,可能会遇到在虚拟机外面ping 不通虚拟机的情况。在这种情况下使用host-only方式连接,就没有问题。

在安装的过程中,要关闭防火墙。遇到访问不通的网络问题时,注意查看防火墙是否关闭。

安装过程中需要注意的几个点

Ø 安装的位置

Ø oracle的组件的选择,否有特殊选择

Ø 字符集,要用哪种字符集

Ø 库数据存放位置

1.1.2 分区大小

ORACLE CentOS5.6安装

ORACLE CentOS5.6安装

ORACLE CentOS5.6安装

1.1.3 IP配置

ORACLE CentOS5.6安装

ORACLE CentOS5.6安装

1.1.4 自定义软件

ORACLE CentOS5.6安装

ORACLE CentOS5.6安装

ORACLE CentOS5.6安装

ORACLE CentOS5.6安装

ORACLE CentOS5.6安装

服务、虚拟化、集群中的软件包都不需要选。语言选择支持中文。

1.2 安装辅助工具rlwrap

tar -xzvf rlwrap-0.37.tar.gz

cd rlwrap-0.37

./configure

make

make install

然后在环境变量中添加以下内容,可以解决回退的问题。

alias sqlplus="rlwrap sqlplus"

alias rman="rlwrap rman"

1.3 其他小知识

查看桌面上的文件

ll Desktop/

2 检测

2.1 内存

free查看内存,也没运行什么服务,内存就不够用了。

ORACLE CentOS5.6安装

重启再次查看,可用内存充足了。

[root@study ~]# free -m

total used free shared buffers cached

Mem: 2201 385 1815 0 31 284

-/+ buffers/cache: 69 2131

Swap: 6000 0 6000

但基于第一次出现的情况,以及机器总内存8G的配置,分给虚拟机内存3G。

2.2 磁盘

[root@study ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda3 30G 5.7G 22G 21% /

/dev/sda1 122M 12M 104M 10% /boot

tmpfs 1.5G 0 1.5G 0% /dev/shm

2.3 安装oracle依赖的软件包

从oracle的官方文档查阅得知,oracle 11g在linux5.5上依赖以下安装包

The following are the list of packages required for Oracle Database 11g Release 2 (11.2):

The following or later version of packages for Asianux 3, Oracle Enterprise Linux 5, and Red Hat Enterprise Linux 5 should be installed:

binutils-2.17.50.0.6

compat-libstdc++-33-3.2.3

elfutils-libelf-0.125

elfutils-libelf-devel-0.125

elfutils-libelf-devel-static-0.125

gcc-4.1.2

gcc-c++-4.1.2

glibc-2.5-24

glibc-common-2.5

glibc-devel-2.5

glibc-headers-2.5

kernel-headers-2.6.18

ksh-20060214

libaio-0.3.106

libaio-devel-0.3.106

libgcc-4.1.2

libgomp-4.1.2

libstdc++-4.1.2

libstdc++-devel-4.1.2

make-3.81

sysstat-7.0.2

unixODBC-2.2.11

unixODBC-devel-2.2.11

经查找,该CentOS 5.6版本的Linux有以下几个软件包没有安装,需要安装:

libaio-devel

sysstat

unixODBC-devel

rpm -ivh libaio-devel-0.3.106-5.i386.rpm

rpm -ivh sysstat-7.0.2-3.el5_5.1.i386.rpm

rpm -ivh unixODBC-2.2.11-7.1.i386.rpm

rpm -ivh unixODBC-devel-2.2.11-7.1.i386.rpm

以下这个安装包Oracle需要,但不安装也可以

rpm -ivh pdksh-5.2.14-36.el5.i386.rpm

也可以将以上所需软件包放入一个文件夹,进入文件夹,执行以下命令进行安装:

rpm -ivh *.rpm

2.4 创建用户和组

创建组与用户

groupadd oinstall

groupadd dba

useradd -g oinstall -G dba oracle

创建密码

passwd oracle

id oracle

uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)

AIX上创建密码后需要登录一次

2.5 创建目录

产品安装目录

mkdir -p /u01/oracle

chown -R oracle:oinstall /u01

chmod -R 755 /u01

创建库目录

mkdir /oradata

chown -R oracle:oinstall /oradata

chmod -R 755 /oradata

库目录一般需要安装在单独的硬盘上,这里从简处理了。

2.6 修改oracle环境变量

$ ll -a

total 40

drwx------ 4 oracle oinstall 4096 Oct 31 14:09 .

drwxr-xr-x 3 root root 4096 Oct 31 14:09 ..

-rw-r--r-- 1 oracle oinstall 33 Oct 31 14:09 .bash_logout

-rw-r--r-- 1 oracle oinstall 176 Oct 31 14:09 .bash_profile

-rw-r--r-- 1 oracle oinstall 124 Oct 31 14:09 .bashrc

-rw-r--r-- 1 oracle oinstall 515 Oct 31 14:09 .emacs

drwxr-xr-x 3 oracle oinstall 4096 Oct 31 14:09 .kde

drwxr-xr-x 4 oracle oinstall 4096 Oct 31 14:09 .mozilla

-rw-r--r-- 1 oracle oinstall 658 Oct 31 14:09 .zshrc

vi .bash_profile

export ORACLE_SID=orcl

export ORACLE_BASE=/u01

export ORACLE_HOME=$ORACLE_BASE/oracle

export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

stty erase ^h

alias sqlplus="rlwrap sqlplus"

alias rman="rlwrap rman"

. ./.bash_profile

重启计算机,以oracle身份登录

确认环境变量

echo $ORACLE_BASE

echo $ORACLE_HOME

echo $ORACLE_SID

echo $PATH

echo $LD_LIBRARY_PATH

2.7 上传软件

以oracle身份上传软件

Linux_11gR2_Database_1of2.zip

Linux_11gR2_Database_2of2.zip

2.8 配置参数

2.8.1 vi /etc/sysctl.conf

在/etc/sysctl.conf添加以下内容,并sysctl -p 使其生效

vi /etc/sysctl.conf

# sysctl -p

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 4294967295

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

2.8.2 vi /etc/security/limits.conf

在/etc/security/limits.conf 文件中添加

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft nproc 2048

oracle hard nproc 16384

oracle soft stack 10240

2.8.3 修改pam文件

vi /etc/pam.d/login

添加下面一行

session required pam_limits.so

这句话会使 vi /etc/security/limits.conf中添加的限制生效

2.8.4 修改profile文件

vi /etc/profile

if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384

ulimit -n 65536

fi

fi

source /etc/profile

2.8.5 关闭不需要的服务

chkconfig autofs off

chkconfig acpid off

chkconfig sendmail off

chkconfig cups-config-daemon off

chkconfig xfs off

chkconfig lm_sensors off

chkconfig gpm off

chkconfig cpuspeed off

chkconfig nfslock off

chkconfig ip6tables off

chkconfig rpcidmapd off

chkconfig sendmail off

chkconfig rpcgssd off

chkconfig ntpd off

/sbin/service ntpd stop

mv /etc/ntp.conf /etc/ntp.conf.bak

3 安装oracle rdbms

安装前拍一个快照,安装失败后恢复快照可以再次安装;也可以尝试后面的删除操作。

3.1 安装图示

安装前重新执行一遍环境变量

./runInstaller

基本上按默认的下一步进行操作即可。

3.2 netca

netca

下一步到最后即可。

4 安装db

新挂载一个64G的动态磁盘,用于备份恢复以及闪回等。

mkfs.ext3 /dev/sdb

mkdir /orabak

mount /dev/sdb /orabak

chown -R oracle:dba /orabak/

vi /etc/fstabl

/dev/sdb /orabak ext3 defaults 0 0

实际上,库应该放到单独的磁盘上,不过,用于练习的库增长不大,倒不太影响系统。

而闪回则增长非常快,绝对会超出你的想象,必须特殊处理。所以另外挂一块磁,就算硬盘满了,还不影响系统的启动。

用oracle登录,执行以下命令

dbca

本次安装不只是在安装过程中就开启了em,而且也开启了闪回以及归档,并专门指定闪回以及归档的目录。其他的下一步即可。

如果安装遇到目录不正确的问题,输入一个oracle可访问的目录即可。

ORACLE CentOS5.6安装

安装成功。

安装完成后,可以删除/tmp下的文件

rm -rf /tmp/*

5 删除oracle

删除操作小心处理,删除后数据库就得重新安装了。

5.1 操作

安装目录、库

/tmp下的.oracle与Ora*

/var/tmp/.oracle

/etc/ora*

/etc/inittab

Ø 删除/u01下的目录

Ø rm -rf /tmp/.oracle

Ø rm -rf /tmp/Ora*

Ø rm -rf /etc/ora*

Ø rm -rf /var/tmp/.oracle

Ø vi /etc/inittab 清除Oracle相关配置

Ø userdel -r grid

Ø userdel -r oracle

Ø 清除参数配置

6 备份

6.1 参数文件

SQL> show parameter spfile;

NAME TYPE VALUE

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

spfile string /u01/oracle/dbs/spfileorcl.ora

SQL>

SQL>

SQL>

SQL> create pfile from spfile;

File created.

6.2 查看归档及闪回

查看归档、闪回是否开启

SQL> select log_mode,flashback_on from v$database;

LOG_MODE FLASHBACK_ON

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

ARCHIVELOG NO

归档目录

SQL> show parameter arch

NAME TYPE VALUE

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

log_archive_dest_1 string LOCATION=/orabak/arch

闪回目录

SQL> show parameter recover

NAME TYPE VALUE

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

db_recovery_file_dest string /orabak/rec

db_recovery_file_dest_size big integer 3852M

recovery_parallelism integer 0

6.3 简单rman全备

字符集(由于是备份在服务器上,就设置服务器与数据库字符集一致)

查看该视图确定数据库字符集nls_database_parameters

设置服务器字符集

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

切归档

SQL> alter system archive log current;

SQL> /

SQL> /

rman备份

rman target /

backup full database tag 'full1' include current controlfile format '/orabak/rman/full_%d_%T_%s_%p' plus archivelog format '/orabak/arch/arch_%d_%T_%s_%p' delete all input;

到此有了一份全备,一不小心把数据库弄坏起不来了,可以使用全备恢复。

7 可能遇到错误或者问题及解决方案

7.1 ORA-03113: end-of-file on communication channel

在dbca安装过程中发生该错误,这个错误的原因可能有很多种,大概可以理解为oracle服务器与客户的连接断了。如果百分之百确认安装操作没有问题,也就是说不是Oracle本身安装操作的问题,那么就是与系统有关。

尝试以下解决方案

关闭虚拟机,重启电脑。

进入oracle用户,查看监听

lsnrctl status 监听已启动

sqlplus / as sysdba 能够进入

切换到oracle用户

dbca 重新安装。

安装成功