在Linux安装ORALCE11g数据库总结

Oracle 11g for Linux CentOS 5.2 安装步骤(带图解) (建议在安装之前先浏览一遍)

首先在oracle官方上下载一个oracle 11g(特别说明一下在安装CentOS 5.2时尽量是把开发包装全一些,这样您在安装包检测的时候就会少装一些包。还有一点:安装大概需要5G多的空间,空间不够就老是出错。oralcle安装目录下面的空间一定要大点 要不然没有法安装)
1、用unzip解压 Oracle 11g文件

unzip linux_x86_11gR1_database.zip

(这个您也可以在Windows下面解压,不过您要加载过来,如果你的分区是NTFS,那您就要安装kernel-module-ntfsfusentfs-3g,当然具体的怎么操作就不必多说了。不过显卡一定要好。上次我在公司弄了一台戴尔破机器 因为网卡没有装好。点击下一步都点击不了)

2、安装包检测及安装

在终端中执行: rpm -q gcc make binutils setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel unixODBC unixODBC-devel libaio-devel sysstat
显示结果如下:

vel sysstat

gcc-4.1.2-42.el5

make-3.81-3.el5

binutils-2.17.50.0.6-6.el5

setarch-2.0-1.1

package compat-db is not installed

package compat-gcc is not installed

package compat-gcc-c++ is not installed

package compat-libstdc++ is not installed

package compat-libstdc++-devel is not installed

unixODBC-2.2.11-7.1

package unixODBC-devel is not installed

package libaio-devel is not installed

package sysstat is not installed

分析:

上面package 软件包 is not installed 部分说明此软件包没有安装,您可以再光盘里面找,再用rpm -ivh 安装就行,这些包在centos安装盘中都用;或者直接用yum install 软件包 来安装,具体操作如下:

yum install compat-db

安装成功Installed: compat-db.i386 0:4.2.52-5.1 Complete!

yum install compat* (这个包比较多,要稍等一会,不急先抽根烟吧。)

安装成功 Installed: compat*......... Complete!

yum install unixODBC-devel

安装成功 Installed: unixODBC-devel.i386 0:2.2.11-7.1 Complete!

yum install  libaio-devel

安装成功 Installed: libaio-devel.i386 0:0.3.106-3.2 Complete!

yum install  sysstat

安装成功 Installed: sysstat.i386 0:7.0.2-1.el5 Complete!

说明:您可以再执行一次rpm -q 软件包组合 具体如下:

gcc-4.1.2-42.el5

make-3.81-3.el5

binutils-2.17.50.0.6-6.el5

setarch-2.0-1.1

compat-db-4.2.52-5.1

package compat-gcc is not installed

package compat-gcc-c++ is not installed

package compat-libstdc++ is not installed

package compat-libstdc++-devel is not installed

unixODBC-2.2.11-7.1

unixODBC-devel-2.2.11-7.1

libaio-devel-0.3.106-3.2

sysstat-7.0.2-1.el5

如上所述:还是有4个软件包没有安装,这个不用理会,其实我们刚才安装的compat包已经包含了;可以继续下一步了。

3、系统参数和用户及目录设置
//
系统参数设置
vi /etc/sysctl.conf

以下为此文件更改后的内容:

# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications
kernel.core_uses_pid = 1

# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1

# Controls the maximum size of a message, in bytes
#kernel.msgmnb = 65536

# Controls the default maxmimum size of a mesage queue
#kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes
#kernel.shmmax = 4294967295

# Controls the maximum number of shared memory segments, in pages
#kernel.shmall = 268435456

#Below for oracle11g
kernel.core_uses_pid = 1
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
fs.file-max = 6553600
net.ipv4.ip_local_port_range = 1024 65000

 

//添加用户组及用户

执行如下命令:
#groupadd dba
#groupadd oinstall
#useradd oracle -g oinstall -G dba
#passwd oracle

//
新建目录权限

执行如下命令:
#mkdir -p /u01
#chown -R oracle:dba /u01
#chmod -R 755 /u01

//
用户环境变量

先切换用户到oracle:
su – oracle

修改.bash_profile文件:
vi .bash_profile

以下是此文件的内容:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
      . ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:HOME/bin
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.1.0.6
export ORACLE_SID=sales
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:ORACLE_HOME/lib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORA_NLS10=$ORACLE_HOME/nls/data
unset USERNAME
umask 022

4、安装oracle
注销root ;

oracle帐号进入,进入Oracle所在的目录我的是/disk/Oracle11g-linux_x86
[oracle@root-bs Oracle11g-linux_x86]$  ls
doc install response runInstaller stage welcome.html
执行./runInsaller进行安装:

[oracle@root-bs Oracle11g-linux_x86]$ ./runInstaller

 当进度条走到头时弹出密码管理窗口不想更改,点确定


 


//最后再做几下修改就大功告成了:

vi /u01/app/oracle/producte/11.1.0.6/bin/dbshut

ORACLE_HOME_LISTNER=$1改成ORACLE_HOME_LISTNER=$ORACLE_HOME

vi /u01/app/oracle/producte/11.1.0.6/bin/dbstart

ORACLE_HOME_LISTNER=$1改成ORACLE_HOME_LISTNER=$ORACLE_HOME

vi /etc/oratab

sales:/u01/app/oracle/product/11.1.0.6:N 改成ales:/u01/app/oracle/product/11.1.0.6:Y

好了,到此Oracle 11g安装完成了,安装的是否成功测试一下就知道了(等不急了......)

5、测试oracle
[oracle@root-bs Oracle11g-linux_x86]$ dbstart

Processing Database instance "sales": logfile /u01/app/oracle/product/11.1.0.6/

startup.log
[oracle@root-bs Oracle11g-linux_x86]$ sqlplus /nolog

SQL*Plus: Release 11.1.0.6.0 - Production on Wed Sep 24 13:57:51 2008

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

SQL> conn / as sysdba
Connected.
SQL> startup

ORA-01081: cannot start already-running ORACLE - shut it down first

此提示说明服务已经运行不必再重新启动了。如果出现如下错误:
ORA-01078: failure in processing system parameters

LRM-00109: could not open parameter file '/u01/app/oracle/product/11.1.0.6/dbs/initsales.ora'
说明没有找到Oracle实例,请重新创建实例:

[oracle@root-bs Oracle11g-linux_x86]$ netca


创建监听:

具体步骤不再多说
[oracle@root-bs Oracle11g-linux_x86]$ dbca

创建数据库:


具体步骤不再多说

 

总述:到此安装步骤已经写晚了,第一次写这么详细的步骤,写的比较匆忙,不足之处请大伙谅解,写这个步骤主要是不想让初学者们不要走这么多的弯路,尽可能的把我所知道的全部贡献给大家,希望能带给大伙一点点的帮助。


   目前最全面最详细的Oracle 11g for Linux CentOS 5.2 安装步骤(带图解) ,当然redhat也可以。

Oralce11g 一定注意磁盘分区

 

一、关于Linux的分区情况

虽然硬盘分区表中最多能存储四个分区,但我们实际使用时一般只分为两个分区,一个是主分区(Primary Partion)一个是扩展分区(extended partition)两种,主分区可以马上被使用但不能再分区,扩展分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么由扩充分区再分下去的是什么呢?它就是逻辑分区(Logical Partion),况且逻辑分区没有数量上限制。 对习惯于使用DosWindows的朋友来说,有几个分区就有几个驱动器,并且每个分区都会获得一个字母标识符,然后就可以选用这个字母来指定在这个分区上的文件和目录,它们的文件结构都是独立的,非常好理解。

   但是初上手Red Hat Linux吗,可就有点恼人了。因为对Linux用户来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构。Red Hat Linux中每个分区都是用来组成整个文件系统的一部分,因为它采用了一种叫挂载点的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。

下面我们先来看看Red Hat Linux的驱动器是如何标识的。 对于IDE硬盘,驱动器标识符为“hdx1”,其中“hd”表明分区所在设备的类型,这里是指IDE硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“1”代表分区,前四个分区用数字14表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。对于SCSI硬盘则标识为“sdx1”SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样,不再多说。

我们从上面可以看到,Red Hat Linux的分区是不同于其它操作系统分区的,它的分区格式常用的有Ext3Swap两种,Ext3用于存放系统文件,Swap则作为Red Hat Linux的交换分区(相当于windows中的虚拟内存文件)。那么现在我们就可以知道Red Hat Linux至少需要两个专门的分区(Linux Native(本地)和Linux Swap(交换))。由于不能将Red Hat Linux安装在Dos/Windows分区。一般来说我们将Red Hat Linux安装一个或多个类型为“Linux Native”的硬盘分区,但是在Red Hat Linux的每一个分区都必须要指定一个“Mount Point”(挂载点),告诉Red Hat Linux在启动时,这个目录要给哪个目录使用。对“Swap”分区来说,一般定义一个且它不必要定义载入点。

下面我们先对“Linux Native”“Linux Swap”有个初步的了解。

*SWAP分区是LINUX暂时存储数据的交换分区,它主要是把主内存上暂时不用得数据存起来,在需要的时候再调进内存内,且作为SWAP使用的分区不用指定“Mout Point”(载入点),既然它作为交换分区,我们理所当然应给它指定大小,它至少要等于系统上实际内存的量,一般来说它的大小是内存的一至两倍。另外你也可以创建和使用一个以上的交换分区,最多16个。

*Linux Native是存放系统文件的地方,一般用EXT3的分区类型,对Red Hat Linux来说,有了较大的选择余地,可以把系统文件分几个区来装(必须要说明挂载点),也可以就装在同一个分区中(挂载点是“/”)。

 

二、关于挂载点情况(加粗为常用几种)。

目录    内容
/   根目录,存放系统命令和用户数据等(如果下面挂载点没有单独的分区,它们都将在根目录的分区中) 
/boot    boot loader
的静态链接文件,存放与Linux启动相关的程序  (10/2)

/home    用户目录,存放普通用户的数据(10/4)

/tmp    临时文件(10/1)

/usr    Red Hat Linux系统存放软件的地方,如有可能应将最大空间分给它(10/3)

/usr/local 自已安装程序安装在此 (10/1)

/var    不断变化的数据,服务器的一些服务放在下面。(10/1)

/opt    附加的应用程序软件包 (10/1)

/bin   
基本命令执行文件
/dev   
设备文件
/etc   
主机特定的系统配置
/lib   
基本共享库以及内核模块
/media   
用于移动介质的挂载点
/mnt   
用于临时挂载文件系统或者别的硬件设备(如光驱、软驱)
/proc   
系统信息的虚拟目录(2.4 2.6 内核),这些信息是在内存中,由系统自己产生的。
/root    root
用户的目录
/sbin   
基本系统命令执行文件
/sys   
系统信息的虚拟目录(2.6 内核)
/srv   
系统提供的用于 service 的数据

/usr/X1186         X-Windows目录,存放一些X-Windows的配置文件

/usr/include      系统头文件,存储一些C语言的头文件

/usr/src           Linux内核源代码,Linux系统所安装的内核源代码都保存在此

/usr/bin          /bin目录的一些补充

/usr/sbin        /sbin目录的一些补充

/lost+found 这个目录在大多数情况下都是空的。但是如果你正在工作突然停电,或是没有用正常方式关机,在你重新启动机器的时候,有些文件就会找不到应该存放的地方,对于这些文件,系统将他们放在这个目录下,就象为无家可归的人提供一个临时住所。

/boot: 必须总是物理地包含 /etc/bin/sbin/lib /dev,否则您将不能启动系统。典型的根分区需要 150–250MB 大小空间。

/home:每个用户将放置他的私有数据到这个目录的子目录下。其大小取决于将有多少用户使用系统,以及有什么样文件放在他们的目录下。根据规划的用途,应该为每个用户准备 100MB 空间,不过应该按您的需求调整。假如您在 home 目录下计划保存大量的多媒体文件(图片、MP3、电影),该预备更多的空间。

/tmp: 程序创建的临时数据大都存到这个目录。通常 40–100 MB 应该足够。一些应用程序包括归档处理程序、D/DVD 制作工具和多媒体软件可能会使用 /tmp 临时保存映像文件。如果要使用这些程序,应该相应地调整 /tmp 目录的大小。这对于多用户系统或者网络服务器来说是有必要的。这样即使程序运行时生成大量的临时文件,或者用户对系统进行了错误的操作,文件系统的其它部分仍然是安全的。因为文件系统的这一部分仍然还承受着读写操作,所以它通常会比其它的部分更快地发生问题。

/usr:包含所有的用户程序(/usr/bin),库文件(/usr/lib),文档(/usr/share/doc),等等。这是文件系统中耗费空间最多的部分。您需要提供至少 500MB 磁盘空间。总容量会依据您要安装的软件包数量和类型增长。宽松的工作站或服务器安装应该需要 4–6GB

/var:所有的可变数据,如新闻组文章、电子邮件、网站、数据库、软件包系统的缓存等等,将被放入这个目录。这个目录的大小取决于您计算机的用途,但是对大多数人来说,将主要用于软件包系统的管理工具。如果做服务器的话空间应尽量大。我的服务器的实际分法及实际使用的大小,还没有实际投入使用。所以/var目录没有用那么多。一般WEB存放网页的目录是/var/www,postfix邮件的存放邮件的目录是:/var/mail,var/log,是系统日志记录分区, /var/spool:存放一些邮件、新闻、打印队列等。

/opt:存放可选的安装的软件。

上面介绍了几个挂载点,一般来说我们最少需要两个分区(当然只要一个分区也可以),需要一个SWAP分区,和一个“/”分区,但把一些常用、重要的挂载点分到其它分区,这样便于管理。一般一个/分区,一个/usr分区,一个/home 分区,一个/var/log分区。当然这没有什么规定,完全是依照需要来定的。我们可以使用Red Hat Linux提供的硬盘管理工具Disk Druid来完成分区和挂载点设置。

三、一些参考分区方案

服务器分区的方案:
分区类型      分区的实际大小
/            1G-2G                  (
最少要150–250MB)
/boot        32M-100M                (
启动分区,最多只要100M左右)
/opt        100M-1G                (
附加应用程序)
/tmp        40M-1000M                (
最大可以设为1G左右,如果加载ISO镜像文件就设为4G左右吧,一般不用那么多)
/home        2G-10G                  (
每个用户100M左右,具体自定。用户目录。)
/usr        3G-10G                  (
最耗用空间的部份。最少要500M左右,一般宽松的服务器要分到4-6G)
/usr/local 3G-15G                  (
自已安装程序安装在此)
/var        >2G--
硬盘余下全部空间        ( 最少300M-500M,一般2-3G,做服务器的话把上面余下的空间都分给它)
SWAP
分区 2G(内存为1G

桌面分区方案
/            1G
/boot        32M
/opt        100M
/tmp        50M
/home        1G-10G
/usr        3G-6G
/usr/local 3G-5G
/var        500M以上
SWAP
分区 2G(内存为1G

最节省的分区方案(服务器不推荐):
文件目录          最少                一般        安装后大小CentOS5.2
/                  150M-250M          500M-2G          (378M)
/boot              32M-100M            64M              (13M)
/opt              30M-100M            50M              (19M)
/tmp              40-100M              50M              (37M)
/home                100M-5G            1G              (483M)
/usr              >500M 4-6G          2.5G            (2.0G)
/usr/local        500M 2-5G            2G              (1.2G)
/var                300-500M 2-3G      500M            (296M)

SWAP分区 2G(内存为1G
/var
目录,如果是服务器,就把依上面的把其他的分区分完之后的空间全部给/var
即分为最大的分区。http服务器目录/var/www,postfix服务器/var/mail.
一般都在/var目录里面。

四、下面以80G硬盘为服务器做的分区和挂载点:(本例是在VM6.0中虚拟的80G硬盘,安装Red Hat Linux9.0时进行的分区和挂载点设置)

 

废话不说,直接入正题:

问题一:

无法找到“../stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles”,请修改oraparam.ini

Oracle 11g R2 下载的两个zip文件解压缩到同一个目录即可解决。

[oracle@logserver 11g]$ ls
linux.x64_11gR2_database_1of2.zip  linux.x64_11gR2_database_2of2.zip
[oracle@logserver 11g]$ unzip linux.x64_11gR2_database_1of2.zip 
[oracle@logserver 11g]$ unzip linux.x64_11gR2_database_2of2.zip 
[oracle@logserver 11g]$ ls
database  linux.x64_11gR2_database_1of2.zip  linux.x64_11gR2_database_2of2.zip

简单的说,就上面这些内容。

 

问题二:

运行 ./runInstaller 之后,卡在欢迎窗口了,进行不下去,如图:

调了一个下午都没有解决,晚上鬼使神差地想起某同事的习惯性动作:每次 su – oracle 或者登录oracle之后,接着输入一个命令 export LANG=C,有意破坏$LANG的设置,导致Linux直接把会话当作英文来处理。

于是,执行我也做了一次 export LANG=C;./runInstaller ,成功了!

我的原始 $LANG是:

[oracle@logserver 11gr2]$ echo $LANG
zh_CN.GBK

为了方便我在oracle用户的.bash_profile 中加入一句:

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章