Linux 下安装oracle数据库

时间:2023-03-08 18:26:32

原文出处       http://www.linuxidc.com/Linux/2015-02/113222.html

需要安装Oracle DataGuard,所以先要安装单台Oracle11g,下面是Linux下单台Oracle11g的详细安装过程。

1,安装环境

硬件环境:2台linux虚拟机,CentOS6.4 ,4G ,4核,磁盘50G

Oracle软件版本:

linux.x64_11gR2_database_1of2.zip

linux.x64_11gR2_database_2of2.zip

下载地址为:http://pan.baidu.com/s/1bappO

rlwrap软件安装参考:http://www.linuxidc.com/Linux/2013-01/77198.htm

Oracle 11gR2 RAC实时应用集群http://www.linuxidc.com/Linux/2015-01/111298.htm

在CentOS 6.4下安装Oracle 11gR2(x64) http://www.linuxidc.com/Linux/2014-02/97374.htm

Oracle 11gR2 在VMWare虚拟机中安装步骤 http://www.linuxidc.com/Linux/2013-09/89579p2.htm

Debian 下 安装 Oracle 11g XE R2 http://www.linuxidc.com/Linux/2014-03/98881.htm

Oracle Linux 6.5安装Oracle 11.2.0.4 x64 http://www.linuxidc.com/Linux/2014-11/109903.htm

2,解压缩

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip

会在本目录下面出现一个database的目录,大概2.3g左右大小。

3,操作系统版本及补丁矩阵

需要安装以下RPM软件包(加32bit括号注解的是该软件包32位版本,对应同名未加注解的则是该软件包64位版本。在64位版本平台上,两种版本都要安装):

binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-2.5-24 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 (32 bit)
glibc-headers-2.5
ksh-20060214
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
sysstat-7.0.2

采用yum安装,如下:
yum install -y binutils*
yum install -y compat-libstdc*
yum install -y elfutils-libelf*
yum install -y gcc*
yum install -y glibc*
yum install -y ksh*
yum install -y libaio*
yum install -y libgcc*
yum install -y libstdc*
yum install -y make*
yum install -y sysstat*
yum install libXp* -y
yum install -y glibc-kernheaders

检查下lib是否安装齐全:

[root@powerlong4 ~]# rpm -q --queryformat %-{name}-%{version}-%{release}-%{arch}"\n" \ compat-libstdc++-33 glibc-kernheaders glibc-headers libaio libgcc glibc-devel xorg-x11-deprecated-libs

如果缺少,就继续安装缺失的组件包。

4,网络、系统参数调整及说明

在生产环境中要求尽量使用2块千/百兆网卡做绑定,预防网卡、网线、端口、单个网络交换机带来的单点故障。

4.1、调整内核参数及用户限制

以下所有相关操作需要root用户执行,并且重启动操作系统才能完全生效。

(1)  编辑/etc/sysctl.conf文件,设置相关参数的系统默认值。如果该文件中已有相关参数的设置,则确保参数值不小于如下对应值;如果还没有相关参数的设置,则按照如下格式添加相应的参数设置行。

Vim /etc/sysctl.conf

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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 = 1048586

(2)编辑/etc/security/limits.conf文件,修改操作系统对oracle用户资源的限制。在该文件中添加如下行。

vim /etc/security/limits.conf

oracle          soft    nproc  2047

oracle          hard    nproc  16384

oracle          soft    nofile  1024

oracle          hard    nofile  65536

oracle          hard    stack  10240

4.2、开启操作系统异步IO(AIO)

前面部分第2点需要安装的包已经包含了libaio-0.3.106,默认开启异步I/O。

检查在操作系统中AIO是否运行,运行命令及显示结果类似如下:

$ cat /proc/slabinfo | grep kio

kioctx    51    120    320  12    1 : tunables  54  27    8 : slabdata    10    10    0

kiocb      30    30    256  15    1 : tunables  120  60    8 : slabdata    2      2    0

注:如数据库使用的是文件系统,且要使用异步IO,则需要修改该数据库的初始化参数

a.    设置disk_asynch_io参数值为TRUE(默认值)

b.    设置filesystemio_options参数值为ASYNCH

5: 目录结构及空间规划

5.1 存储设置

PC Server的数据库存储一般不会使用高端存储(vg物理分区推荐为32M),所以vg物理分区(PE Size)大小为操作系统安装时默认的32M,或者256M(中低端存储vg物理分区推荐值)均可。

5.2 临时目录

/tmp:至少1GB空间,推荐5GB,用于存放Oracle软件安装时产生的日志。

5.3 交换要求

交换区(SWAP):按照操作系统推荐配置,根据内存大小,为物理内存的1-1.5倍。推荐:创建2个大小相同、且分布在不同盘(pv)上的SWAP空间。

5.4,数据库软件安装目录

Oracle软件安装目录建议设置为单独的文件系统,挂载的目录名定为/tpsys,实际安装的主目录为/tpsys/app/oracle,大小一般配置为20GB,目录的owner要求为oracle:oinstall。

5.5,数据库空间规划

Oracle数据库空间用表空间(tablespace)表示,如默认的:SYSAUX、SYSTEM、TEMP、UNDOTBS1、USERS等;表空间的组成单位是数据文件(datafile)。我们定义基于文件系统的文件来创建Oracle的数据文件,并定义回滚表空间、临时表空间和数据表空间单个数据文件的大小为10G。
数据库使用的文件目录及相应用途和对应文件系统大小规划如下(假设数据库名称为test,在实际操作中,斜体的test需要替换为实际定义的数据库名):
/data/oracle/data:系统及数据表空间对应数据文件存放路径;/oracle/app/oracle
/data/oracle/redolog/  :redo重做日志文件存放路径;
/data/oracle/archive/  :归档日志文件存放路径;
/data/oracle/tempfile/  :tempfile文件存放路径(n为顺序中最后一个编号)。

/data/oracle/backup/data:备份目录

……
注意:以上文件系统挂载在二级目录上,即,挂载的目录是:/data/oracle/data、/data/oracle/redolog/、/data/oracle/archive/、/data/oracle/tempfile/等

另外,根据实际使用需要,还可能要有用于闪回区的文件目录和对应文件系统:
/data/oracle/flashback:闪回区目录,建议100GB
如果需要将数据库备份到硬盘,则要创建用于存放数据库备份的文件目录及文件系统:
/data/oracle/backup:备份目录,根据将来数据量大小,建议大于数据表空间容量
注意:以上文件系统挂载在二级目录上
以上所有目录的owner要求为oracle:oinstall。

6 ,数据库软件的安装和数据库的创建配置

6.1,数据库安装用户和组的创建

使用root用户,进行如下操作:
创建oinstall组
# groupadd  -g 5000 oinstall
创建dba组
# groupadd  -g 501 dba
创建oracle用户
#useradd -g oinstall  -G  dba  oracle

6.2,数据库安装用户的profile文件的设置

首先确定数据库名及数据库实例名,对于单实例(非RAC)环境下,两者一般是一致的。

假设数据库(实例)名为powerdes,使用oracle用户,编辑/home/oracle/.bash_profile,加入以下内容

#added by timman for oracle

export ORACLE_BASE=/oracle/app/oracle

export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/dbhome_1

export ORACLE_SID=powerdes

export PATH=$ORACLE_HOME/bin:$PATH

export ORACLE_TERM=xterm

export TNS_ADMIN=$ORACLE_HOME/network/admin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/oracm/lib:$ORACLE_HOME/lib

export CLASSPATH=$CLASSPATH:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/jlib:$ORACLE_HOME/network/lib

export LANG=en_US.gbk

export NLS_LANG=american_america.ZHS16GBK

export EDITOR=vi

6.3 创建相应的文件系统(或安装目录)并改变相应的权限

[root@powerlong4 oracle]# mkdir -p /oracle/app/oracle

[root@powerlong4 oracle]# chown -R oracle:oinstall /oracle/app/oracle

[root@powerlong4 oracle]# chmod -R 775 /oracle/app/oracle

[root@powerlong4 oracle]#

6.4,准备vnc远程连接linux桌面
参考:Linux安装设置VNC远程桌面连接来安装Oracle 11g  http://www.linuxidc.com/Linux/2015-01/112326p2.htm

6.6,在linux下准备

使用oracle用户进行。安装需要在图形界面(在控制台或者用X-Window工具软件)。打开一个终端窗口,执行如下命令进行安装:

export DISPLAY=10.7.32.145:0.0

输入xclock测试,如果能够看见时钟证明图形化可用

yum install tigervnc tigervnc-server

在xshell的linux系统里面,执行如下命令:

[root@powerlong4 rlwrap-0.37]#  xhost + 
access control disabled, clients can connect from any host
[root@powerlong4 rlwrap-0.37]# 
表示linux下视窗环境以及准备OK,可以进行oracle安装了。

7,开始安装
先用vnc远程连接linux系统,如下所示:

Linux 下安装oracle数据库

7.1,在linux系统上面准备启动启动命令

[root@powerlong4 ~]$ su - Oracle[root@powerlong4 ~]# export DISPLAY=192.168.121.217:0.0[root@powerlong4 ~]#  xhost + access control disabled, clients can connect from any host[root@powerlong4 /]#

[oracle@powerlong4 ~]$ cd /home/oracle_64/database/

[oracle@powerlong4 database]$ ./runInstaller

Starting Oracle Universal Installer...

Checking Temp space: must be greater than 120 MB.  Actual 21658 MB    Passed

Checking swap space: must be greater than 150 MB.  Actual 2047 MB    Passed

Checking monitor: must be configured to display at least 256 colors.    Actual 16777216    Passed

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-01-23_12-18-01PM. Please wait ...[oracle@powerlong4 database]$

[root@powerlong4 database]#

如下图所示:

Linux 下安装oracle数据库

7.2 去掉I wish to receive security updates via My Oracle Surrport选项,点击Next。

Linux 下安装oracle数据库

7.3,选择Install database software only,点击Next。

Linux 下安装oracle数据库

7.4,选择Single instance database installation,点击Next。

Linux 下安装oracle数据库

7.5,在Available Languages中点选English、Simplified Chinese、Traditional Chinese,点击两个框中间的>,将选中的语言加入到右边的Selected Languages中,然后点击Next。

Linux 下安装oracle数据库

7.6,按照实际情况,选择企业版本,如下图

Linux 下安装oracle数据库

7.7,填写Oracle的软件路径和基本路径,如下图:

Linux 下安装oracle数据库

7.8,选择安装日志目录,如下图所示:

Linux 下安装oracle数据库

7.9,选择dba组

Linux 下安装oracle数据库

7.10,继续下一步安装操作

Linux 下安装oracle数据库

7.11,可以忽略,因为CentOS版本较高,所以11g check的时候不识别高版本lib包

Linux 下安装oracle数据库

7.12,继续安装

Linux 下安装oracle数据库

7.13,安装中,这个时间比较漫长

Linux 下安装oracle数据库

需要等待中,大概20分钟左右

点击OK,继续

Linux 下安装oracle数据库

7.14,然后点击close,结束

Linux 下安装oracle数据库

8,创建数据库

数据库的创建使用Oracle用户进行(假设数据库名称为powerdes,在实际操作中,斜体的powerdes需要替换为实际定义的数据库名),按下面步骤创建数据库。

8.1.安装需要在图形界面(在控制台或者用X-Window工具软件)。打开一个终端窗口,执行如下命令:dbca,如下图所示:

Linux 下安装oracle数据库

8.2,Database Configuration Assistant图形界面启动。标题同时指明了步骤的编号和步骤的名称。在步骤名称为Welcome的欢迎窗口,直接点击next。

Linux 下安装oracle数据库

8.3,等待下一步NEXT

Linux 下安装oracle数据库

8.4, 选择Custom Database

Linux 下安装oracle数据库

8.5,Global Database Name框:输入前面确定的数据库名SID框:自动出现和数据库名相同的内容作为数据库实例名,单实例情况下不作改动

Linux 下安装oracle数据库

8.6,继续默认

Linux 下安装oracle数据库

8.7,Database Credentials

Use Different Administrative Passwords表格的Password和Confirm Password列中分别为User Name列SYS、SYSTEM、DBSNMP和SYSMAN用户输入口令并重复一次输入(如密码设置过于简单,下一步前会有弹出窗口提示确认接受安全风险)sys和system密码设置可以在数据库建立后修改。

Linux 下安装oracle数据库

密码为sys1624

8.8,Database File LocationsStorage Locations:选择Use Common Location for All Database FilesDatabase File Location框:输入/Oracle/data_ora

Linux 下安装oracle数据库

8.9,Recovery ConfigurationSpecify Fast Recovery Area如果前面Management Options步骤选择了自动备份,则保留勾选,并在下方:Fast Recovery Area框:修改为快速恢复区的目录名Fast Recovery Area Size框:调整快速恢复区的大小

Linux 下安装oracle数据库

8.10,Enable Archiving根据是否归档日志的实际需求决定是否选择(重要的生产系统必须打开归档,测试系统一般关闭归档节省服务器空间)点击旁边的Edit Archive Mode Parameters…,在弹出窗口中:Automatic Archiving:保持默认勾选Archive Log File Format框:修改为%t_%s_%r.arcArchive Log Destinations表格:第一行中输入/Oracle/data_ora/archive点击OK返回主窗口Database ContentDatabase Components页面

8.11,Initialization Parameters,内存分配20%(测试库所以分小一些,生产库可以分配较大的比如40%60%等),字符集选择兼容utf8的选项

Linux 下安装oracle数据库

Linux 下安装oracle数据库

8.12,点击File Location Variables,里面可以看到一些基础参数信息,返回,然后直接下一步,如下图所示:

Linux 下安装oracle数据库

Linux 下安装oracle数据库8.13,选择Generate Database Creation Scripts,默认为 /oracle/app/oracle/admin/powerdes/scripts,如下图:

Linux 下安装oracle数据库

8.14,点击Finish按钮,如下图所示:

Linux 下安装oracle数据库

点击OK按钮,有报错说/etc/oratab读取错误,报错如下图所示

Linux 下安装oracle数据库

Linux 下安装oracle数据库

所以去建立下这个目录

[root@powerlong4 rpms]# mkdir /etc/oratab

[root@powerlong4 rpms]#

[root@powerlong4 rpms]# chown -R Oracle.oinstall /etc/oratab

[root@powerlong4 rpms]#

8.15,之后点击OK按钮,开始创建数据库,如下图所示:

Linux 下安装oracle数据库

等待35分钟后,数据库创建完毕,之后点击,如下所示:

Linux 下安装oracle数据库

9,简单验

[oracle@powerlong4 ~]$ sqlplus "/ as sysdba"

SQL*Plus: Release 11.2.0.1.0 Production on Sat Jan 24 14:51:10 2015

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> create table z_test(id number,name varchar(20));

Table created.

SQL> insert into z_test select 1,'a' from dual;

1 row created.

SQL> select * from z_test;

ID NAME

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

1 a

SQL> commit;

Commit complete.

SQL> exit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

[oracle@powerlong4 ~]$

10,报错信息记录

(1)报错

>>> Ignoring required pre-requisite failures. Continuing...

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-01-21_06-07-35PM. Please wait ...[oracle@powerlong4 database]$ Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/OraInstall2015-01-21_06-07-35PM/jdk/jre/lib/i386/xawt/libmawt.so: libXext.so.6: cannot open shared object file: No such file or directory

at java.lang.ClassLoader$NativeLibrary.load(Native Method)

at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1647)

at java.lang.Runtime.load0(Runtime.java:769)

at java.lang.System.load(System.java:968)

at java.lang.ClassLoader$NativeLibrary.load(Native Method)

at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1668)

at java.lang.Runtime.loadLibrary0(Runtime.java:822)

at java.lang.System.loadLibrary(System.java:993)

at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)

at java.security.AccessController.doPrivileged(Native Method)

at java.awt.Toolkit.loadLibraries(Toolkit.java:1509)

at java.awt.Toolkit.<clinit>(Toolkit.java:1530)

at com.jgoodies.looks.LookUtils.isLowResolution(Unknown Source)

at com.jgoodies.looks.LookUtils.<clinit>(Unknown Source)

at com.jgoodies.looks.plastic.PlasticLookAndFeel.<clinit>(PlasticLookAndFeel.java:122)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:242)

at javax.swing.SwingUtilities.loadSystemClass(SwingUtilities.java:1783)

at javax.swing.UIManager.setLookAndFeel(UIManager.java:480)

at oracle.install.commons.util.Application.startup(Application.java:758)

at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:164)

at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:181)

at oracle.install.commons.base.driver.common.Installer.startup(Installer.java:265)

at oracle.install.ivw.db.driver.DBInstaller.startup(DBInstaller.java:114)

at oracle.install.ivw.db.driver.DBInstaller.main(DBInstaller.java:132)

^C

(1)  需要安装 yum install libXext* -y

(2)  chown -R oracle:oinstall /usr/*

yum install libXext.i686 -y

在64位的CentOS安装64位的oracle的时候,有时候会出现“libXext.so.6: cannot open shared object file:”的错误。

这个原因主要是oracle在安装的时候需要安装一些32位的lib,也就是类似于windows下的dll

出现这个问题,可以采用如下的解决办法:

#yum install libXext.i686  即可。

(2)报错

[oracle@powerlong4 database]$ ./runInstaller

Starting Oracle Universal Installer...

Checking Temp space: must be greater than 80 MB.  Actual 38250 MB    Passed

Checking swap space: must be greater than 150 MB.  Actual 2047 MB    Passed

Checking monitor: must be configured to display at least 256 colors

>>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set.    Failed <<<<

Some requirement checks failed. You must fulfill these requirements before

continuing with the installation,

Continue? (y/n) [n] y

>>> Ignoring required pre-requisite failures. Continuing...

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-01-21_07-15-20PM. Please wait ...[oracle@powerlong4 database]$ Exception in thread "main" java.lang.NoClassDefFoundError

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:164)

at java.awt.Toolkit$2.run(Toolkit.java:821)

at java.security.AccessController.doPrivileged(Native Method)

at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:804)

at com.jgoodies.looks.LookUtils.isLowResolution(Unknown Source)

at com.jgoodies.looks.LookUtils.<clinit>(Unknown Source)

at com.jgoodies.looks.plastic.PlasticLookAndFeel.<clinit>(PlasticLookAndFeel.java:122)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:242)

at javax.swing.SwingUtilities.loadSystemClass(SwingUtilities.java:1783)

at javax.swing.UIManager.setLookAndFeel(UIManager.java:480)

at oracle.install.commons.util.Application.startup(Application.java:758)

at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:164)

at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:181)

at oracle.install.commons.base.driver.common.Installer.startup(Installer.java:265)

at oracle.install.ivw.db.driver.DBInstaller.startup(DBInstaller.java:114)

at oracle.install.ivw.db.driver.DBInstaller.main(DBInstaller.java:132)

^C

[oracle@powerlong4 database]$

需要在Linux上安装图形界面服务端程序X Window

yum groupinstall "X Window System" #安装X Window

[root@powerlong4 database]# yum groupinstall "X Window System" "Desktop Platform" Desktop

yum install vnc

[root@powerlong4 database]# export DISPLAY=192.168.121.217:0.0

[root@powerlong4 database]# xhost +

access control disabled, clients can connect from any host

[root@powerlong4 database]#

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

本文永久更新链接地址http://www.linuxidc.com/Linux/2015-02/113222.htm