ORACLE CentOS5.6安装

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 分区大小

clip_image002

clip_image004

clip_image006

1.1.3 IP配置

clip_image008

clip_image010

1.1.4 自定义软件

clip_image012

clip_image014

clip_image016

clip_image018

clip_image020

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

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查看内存,也没运行什么服务,内存就不够用了。

clip_image022

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

[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可访问的目录即可。

clip_image024

安装成功。

安装完成后,可以删除/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 重新安装。

安装成功

原文地址:https://www.cnblogs.com/perfei/p/4926669.html