阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 6.6_x64安装Oracle 10g 图文详解

112次阅读
没有评论

共计 7775 个字符,预计需要花费 20 分钟才能阅读完成。

本次实验使用的 CentOS 6.6 系统,数据库为 Oracle 10g。

Centos 版本:CentOS-6.6_X64-bin-DVD1.iso

Oracle Database 版本:10201_database_linux_x86_64.cpio.gz

安装 Oracle 数据库,Linux 必须安装 destoop。否则无法安装 Oracle 数据库。

1. 安装 oracle 所需要的安装包

yum -y install binutilscompat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelfelfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-develglibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devellibaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-develmake sysstat

最后还需要安装 libXp 这个 Library,这个一定要安装,否则安装 Oracle 时会出现 java Exception。

yum install libXp libXt.i686 libXtst.i686

有的包是 64 的有的包是 32 的,都需要装

2. 修改 linux 系统所需的配置文件

Oracle 数据库的安装不建议在超级用户 root 上安装,建议另外增加一个用户 oracle 在 linux 系统上。但是在增加该用户之前,我们还需要为该用户设置一些系统内核参数。

使用 Vi 编辑器在 /etc/sysctl.conf 文件的末尾增加下面的参数:

———————————————————–

kernel.shmall= 2097152                            #表示系统一次可以使用的共享内存总量(以页为单位)。

kernel.shmmax= 2147483648                    #定义了共享内存段的最大尺寸(以字节为单位)。缺省为 32M,对于 oracle 来说,该缺省值太低了,通常将其设置为 2G。

kernel.shmmni= 4096                                #用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096

kernel.sem= 250 32000 100 128                  #表示设置的信号量

net.ipv4.ip_local_port_range= 1024 65000  #本地端口数量上限

net.core.rmem_default=4194304                #默认的接收窗口大小

net.core.rmem_max=4194304                      #接收窗口的最大大小

net.core.wmem_default=262144                  #默认的发送窗口大小

net.core.wmem_max=262144                      #发送窗口的最大大小

———————————————————-

[root@CentOS6~]# /sbin/sysctl -p            #执行生效

编辑 /etc/security/limits.conf 文件,用于设置系统资源限制。假如未来由 oracle 这个用户来安装 oracle 数据库,则需要系统管理员将以下参数添加到 limits.conf。

# vi/etc/security/limits.conf

加入以下四行:

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

然后在编辑 /etc/pam.d/login 文件,增加以下参数:

# vi/etc/pam.d/login

session required /lib/security/pam_limits.so

session required pam_limits.so

注:

etc 目录下包括 pam.d 目录,在 pam.d 目录下还有个 login 子目录。etc 指的系统配置文件目录,pam.d 指的是验证登陆配置,login 是登陆配置文件。简单说就是 linux 操作系统的登陆配置文件。

3. 创建相应的用户名及用户组

在这里只讨论单主机环境,不考虑 RAC 环境的配置。执行以下指令以新增 oracle 安装时所需要的使用者与群组。

3.1 建立群组 oinstall

# groupadd oinstall

 3.2 建立群组 dba

# groupadd dba

 3.3 建立用户 oracle 将加入 oinstall 和 dba 群组,并测试

# useradd -g oinstall -G dba oracle

3.4 建立 oracle 的新密码

# passwd 123456

4. 修改 /etc/profile,修改用户的 shell limits

将以下代码新增到 profile 文件中:

if [$USER = “oracle”]; then

        if [$SHELL= “/bin/ksh”]; then

                ulimit -p16384

                ulimit -n65536

        else

                ulimit -u16384 -n 65536

        fi

fi

5. 修改 Linux 发行版本信息

由于 Oracle10g 发行的时候,CentOS6.6 没有发行,所以 Oracle10g 并没有对 CentOS6.6 确认支持,需要修改相关文件让 Oracle10g 支持 CentOS 6。

我们需要手工修改 Linux 的发行注记,让 Oracle 10g 支持 CentOS6.5。

编辑 /etc/RedHat-release 文件

# vim /etc/redhat-release

将其中的内容 CentOS release 6.5 (Final)修改为 redhat 4

6. 创建 oracle 的安装文件夹及数据存放目录

mkdir –p /u01/app/oracle

6.1 修改 /u01/app/oracle 目录所属用户及组,修改为 oracle 和 oinstall 组。

查看目前 oracle 目录的用户及组:ls –la |grep oracle

修改 oracle 目录用户及组:

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

6.2 修改 /u01/app/oracle 的目录权限,使 oinstall 组对 /u01/app/oracle 目录也有可读写执行权限。

使用如下命令:

chmod -R 775 /u01/app/oracle

7. 配置 oracle 用户的环境变量

打开 cd /home/oracle,使用 Vi 编辑.bash_profile。如下图:

修改并加入以下內容:

export TMP=/tmp;

export TMPDIR=$TMP;

export ORACLE_BASE=/u01/app/oracle;

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;

export ORACLE_SID=orcl;

export ORACLE_TERM=xterm;

export PATH=/usr/sbin:$PATH;

export PATH=$ORACLE_HOME/bin:$PATH;

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;

保存后使用如下命令,使设置生效:

source /home/oracle/.bash_profile

8. 安装 Oracle,并进行相关设置

8.1 解压缩安装文件

将下载的压缩包放至即将安装 oracle 的文件夹 /uo1/app/oracle 下:

       

解压该文件,使用如下命令:

#gunzip 10201_database_linux_x86_64.cpio.gz

#cpio -idmv < 10201_database_linux_x86_64.cpio

解压缩完成会在同一个文件夹中看到 database 的文件夹

目前 database 文件夹的所有者和用户组均是 root。现在我们要该更它:

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

8.2 安装 oracle 数据库

上述解压 oracle 安装包后,我们要注销掉 root 用户,使用 Oracle 用户登录,然后使用该用户进行 oracle 的安装。

在终端下,进入 /u01/app/oracle/database 目录:

准备执行数据库安装,如果你的 centos 是中文环境,安装时会出现中文乱码,请下以下指令。使系统临时为英文状态:

export LC_ALL=en_US.UTF-8

然后接着执行如下命令,进行安装:

./runInstaller

 

CentOS 6.6_x64 安装 Oracle 10g 图文详解

弹出这个界面,下面我们的安装就顺利了。

如果我们没其他的要求的话,我们完全可以按照软件的提示一步一步的进行安装。

但是,如果你使用突然间有一天你会发现。在你把原来其他服务器上的数据库(含中文字符)导入到这个 oracle 数据库中显示乱码时,你就会哭了。

因为按照这个提示进行安装的 oracle 数据库字符集是英文字符集而不是中文字符集。

也行有些人会说,那我可以在安装好 oracle 数据库再修改中文字符集的啊。呵呵,我会笑的。因为到最后你会发现即使你通过 SQL 语句修改了数据库的字符集,然后数据库中的中文字符还是乱码!

但是你还会发现如果是在 windows 系统下,使用 SQL 语句修改字符集是可以的哦!

那么在 Linux 系统里面,我们只需要选择高级安装即可,如下图:

CentOS 6.6_x64 安装 Oracle 10g 图文详解

CentOS 6.6_x64 安装 Oracle 10g 图文详解

注意:修改存放目录。

上图是指定证书存放的目录。

CentOS 6.6_x64 安装 Oracle 10g 图文详解

上图选择安装的数据库类型及 oracle 所支持的语言,这里选择企业版,语言选择英文和简体中文。

CentOS 6.6_x64 安装 Oracle 10g 图文详解

上图指定 oracle 环境变量,及安装路径。因为我们在.bash_profile 中已经声明,所以这里会自动填充。

CentOS 6.6_x64 安装 Oracle 10g 图文详解

Oracle 开始进行安装前的检查工作。

检查发现 1 个 warning 和一个 requirement,查看日志发现

—-warning

Expectedresult: 2214MB

ActualResult: 0MB

Checkcomplete. The overall result of this check is: Failed <<<<

Problem:The system does not have the required swap space.

Recommendation:Make more swap space available to perform the install.

根据当前磁盘大小,发现根目录 (24G) 下磁盘空间比较充足,

# 在根目录下创建交换分区文件夹,用来开辟交换区

[root@CentOS6oracle]# cd /

[root@CentOS6/]#  mkdir swapimage

[root@CentOS6/]# cd /swapimage

# 使用 dd 命令,在 /swapimage 文件下新增一个 2G 的文件

[root@CentOS6swapimage]# dd if=/dev/zero of=/swapimage/swap bs=1024 count=2500000

2500000+0records in

2500000+0records out

2560000000bytes (2.6 GB) copied, 77.0965 s, 33.2 MB/s

# 查看磁盘空间,可以发现根目录下少了 2.6G

[root@CentOS6swapimage]# df -hl

Filesystem      Size Used Avail Use% Mounted on

/dev/sda3        30G 7.0G  22G  25% /

tmpfs          740M  80K 740M  1% /dev/shm

/dev/sda1      194M  25M  160M  14% /boot

/dev/sda2        20G 1.5G  17G  8% /u01

# 使用 mkswap 将 /swapimage/swap 文件格式化为虚拟内存文件格式

[root@CentOS6swapimage]# mkswap /swapimage/swap

mkswap:/swapimage/swap: warning: don’t erase bootbits sectors

        on whole disk. Use -f to force.

Setting upswapspace version 1, size = 2499996 KiB

no label, UUID=ec52720f-bc50-4e56-9dbf-05cbcd56c583

#vi /etc/fstab – 添加下面一行, 系统启动后自动加载

添加:

/swapimage/swap        swap                    swap    defaults        0 0

[root@CentOS6swapimage]# free -m

            total      used      free    shared    buffers    cached

Mem:          1478      1443        34          0        13        820

-/+buffers/cache:        609        868

Swap:            0          0          0

# 开启 swap 添加

[root@CentOS6swapimage]# swapon  /swapimage/swap

[root@CentOS6swapimage]# free -m

            total      used      free    shared    buffers    cached

Mem:          1478      1445        32          0        13        820

-/+buffers/cache:        611        866

Swap:         2441          0      2441

—-requirement

CheckingNetwork Configuration requirements …

Checkcomplete. The overall result of this check is: Not executed <<<<

Recommendation:Oracle supports installations on systems with DHCP-assigned public IP addresses.  However, the primary network interface on thesystem should be configured with a static IP address in order for the OracleSoftware to function properly.  See theInstallation Guide

解决方法:

[root@CentOS6swapimage]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=dhcp

#IPADDR=192.168.18.8

#NETMASK=255.255.255.0

#GATEWAY=192.168.18.1

修改 /etc/sysconfig/network-scripts/ifcfg-eth0

[root@CentOS6swapimage]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.150.128

NETMASK=255.255.255.0

GATEWAY=192.168.150.1

~

“/etc/sysconfig/network-scripts/ifcfg-eth0″7L, 108C written

使网卡设置马上生效:

[root@CentOS6swapimage]# /etc/init.d/network restart

Shuttingdown interface eth0:  Device state: 3(disconnected)

                                                          [OK]

Shuttingdown loopback interface:                          [OK]

Bringing uploopback interface:                           [OK]

Bringing upinterface eth0:  Active connection state:activated

Activeconnection path: /org/freedesktop/NetworkManager/ActiveConnection/2

                                                          [OK]

[root@CentOS6~]# vi /etc/hosts

#127.0.0.1  localhost CentOS6.5-32 localhost4localhost4.localdomain4  注意:这个要注释掉

192.168.150.128CentOS6.5-32

OK 配置完成后点“Retry”!

CentOS 6.6_x64 安装 Oracle 10g 图文详解

CentOS 6.6_x64 安装 Oracle 10g 图文详解

选择配置选项,在这有三个选择项:创建数据库、配置自动存储管理、只安装数据软件。

我们在此选择第一项,创建数据库。创建数据库后,我们就不必再执行 ”dbca” 进行数据库的创建。

CentOS 6.6_x64 安装 Oracle 10g 图文详解

选择创建的数据库模式,我们在此选择第一项一般用途。因为 “Advanced” 后面有很多 SGA,文件系统都可以自行设置。

CentOS 6.6_x64 安装 Oracle 10g 图文详解

指定 oracle 数据库默认的 SID。指定字符集为库所用的字符集,中文为 simplified Chinesezhs16gbk。如果字符集不对,可能造成以后数据乱码。最下面不用打钩 Create databasewithsample schemas(已有的模式建库)。

CentOS 6.6_x64 安装 Oracle 10g 图文详解

配置选择数据库管理选项

CentOS 6.6_x64 安装 Oracle 10g 图文详解

配置数据库的数据文件存储的位置

CentOS 6.6_x64 安装 Oracle 10g 图文详解

配置数据库备份恢复的相关选项

CentOS 6.6_x64 安装 Oracle 10g 图文详解

配置数据库相关用户密码

CentOS 6.6_x64 安装 Oracle 10g 图文详解

显示安装概要,再次确认相关配置是否正确。

CentOS 6.6_x64 安装 Oracle 10g 图文详解

CentOS 6.6_x64 安装 Oracle 10g 图文详解

开始安装数据库

CentOS 6.6_x64 安装 Oracle 10g 图文详解

CentOS 6.6_x64 安装 Oracle 10g 图文详解

开启一个新的终端,su 到 root。将要求执行的两段 script 依序执行。

/u01/app/oracle/oraInventory/orainstRoot.sh

/u01/app/oracle/product/10.2.0/db_1/root.sh

CentOS 6.6_x64 安装 Oracle 10g 图文详解

CentOS 6.6_x64 安装 Oracle 10g 图文详解

到此 oracle 数据库安装完毕。

查看数据库的状态:

SQL> select instance_name,status fromv$instance;

INSTANCE_NAME   STATUS

orcl            OPEN

更多 Oracle 相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-08/134058.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计7775字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中