如何在Centos/RHEL上安装Kornkorn shell下载

您所在的位置: &
在RHEL 6(x86)上安装Oracle 10g R2
在RHEL 6(x86)上安装Oracle 10g R2
杨赛 整理编译
最近看到有些朋友问在最新发布的CentOS 6上如何安装Oracle 10g,需要做测试用,而且安装过程中出现了一些问题,所以51CTO编辑决定收集一下这方面的资源,以供参考。本文是针对RHEL 6的教程,CentOS 6上的操作方式应该和RHEL 6一样,软件源方面大家自己想办法解决吧。
【51CTO精选】截止到目前,还没有传出Oracle 10g/11g在RHEL 6上认证的消息,也就是说还不建议大家在RHEL 6的生产环境中使用Oracle 10g/11g。不过最近看到有些朋友问在最新发布的CentOS 6上如何安装Oracle 10g,需要做测试用,而且安装过程中出现了一些问题,所以51CTO编辑决定收集一下这方面的资源,以供参考。
理论上,CentOS 6上的操作方式应该和RHEL 6一样,软件源方面大家自己想办法解决吧,51CTO之前也收集过一些,可以做个参考。
如何在RHEL 6上安装Oracle 10g R2(x86)
RHEL 6.0的服务器
10.2.0.1.0
10.2.0.1.0
10.2.0.4.0
安装步骤:
安装Korn Shell和oraToolKit
# su - root
# mount /dev/cdrom /
# rpm -ivh /mnt/Server/Packages/ksh-.el6.i686.rpm
# cd /var/tmp/oracle
# ls -1 oratool*
oratoolkit-1.0.2.1.5-1.noarch.rpm
# rpm -ivh oratoolkit-1.0.2.1.5-1.noarch.rpm
设置用户oracle的密码
# passwd oracle
检查安装包依赖性
# /opt/oracle/otk/current/bin/installManager swReqCheck osSetup10gR2.cfg
如果有缺少什么就补上,补完了再运行一次,直到没有警告了再继续下一步。
下面是从DVD补完依赖性的参考操作:
# cd /mnt/Server/Packages/
# rpm -ivh libstdc++-devel-4.4.4-13.el6.i686.rpm \
kernel-headers-2.6.32-71.el6.i686.rpm \
glibc-headers-2.12-1.7.el6.i686.rpm \
glibc-devel-2.12-1.7.el6.i686.rpm \
gnome-icon-theme-2.28.0-2.el6.noarch.rpm \
dmz-cursor-themes-0.4-4.el6.noarch.rpm \
sgml-common-0.6.3-32.el6.noarch.rpm \
libaio-devel-0.3.107-10.el6.i686.rpm \
ncurses-devel-5.7-3..el6.i686.rpm
elfutils-libelf-devel-0.148-1.el6.i686.rpm \
compat-gcc-34-3.4.6-19.el6.i686.rpm \
libXxf86misc-1.0.2-1.el6.i686.rpm \
libXxf86vm-1.1.0-1.el6.i686.rpm \
libXt-1.0.7-1.el6.i686.rpm \
libXmu-1.0.5-1.el6.i686.rpm \
mpfr-2.4.1-6.el6.i686.rpm \
cpp-4.4.4-13.el6.i686.rpm \
xorg-x11-xauth-1.0.2-7.1.el6.i686.rpm \
compat-gcc-34-c++-3.4.6-19.el6.i686.rpm \
libdaemon-0.14-1.el6.i686.rpm \
avahi-0.6.25-8.el6.i686.rpm \
avahi-glib-0.6.25-8.el6.i686.rpm \
shared-mime-info-0.70-4.el6.i686.rpm \
libIDL-0.8.13-2.1.el6.i686.rpm \
ORBit2-2.14.17-3.1.el6.i686.rpm \
GConf2-2.28.0-6.el6.i686.rpm \
gnome-vfs2-2.24.2-6.el6.i686.rpm \
libbonobo-2.24.2-4.el6.i686.rpm \
libtool-ltdl-2.2.6-15.5.el6.i686.rpm \
unixODBC-2.2.14-11.el6.i686.rpm \
gtk2-engines-2.18.4-5.el6.i686.rpm \
libmcpp-2.7.2-4.1.el6.i686.rpm \
mcpp-2.7.2-4.1.el6.i686.rpm \
xorg-x11-server-utils-7.4-15.el6.i686.rpm \
libXv-1.0.5-1.el6.i686.rpm \
ConsoleKit-x11-0.4.1-3.el6.i686.rpm \
xorg-x11-xinit-1.0.9-13.el6.i686.rpm \
libXp-1.0.0-15.1.el6.i686.rpm \
libXxf86dga-1.1.1-1.el6.i686.rpm \
libdmx-1.1.0-1.el6.i686.rpm \
xorg-x11-utils-7.4-8.el6.i686.rpm \
compat-db43-4.3.29-15.el6.i686.rpm \
compat-db42-4.2.52-15.el6.i686.rpm \
ppl-0.10.2-11.el6.i686.rpm \
cloog-ppl-0.15.7-1.2.el6.i686.rpm \
gcc-4.4.4-13.el6.i686.rpm \
gcc-c++-4.4.4-13.el6.i686.rpm \
compat-libstdc++-33-3.2.3-69.el6.i686.rpm \
compat-db-4.6.21-15.el6.i686.rpm \
gnome-themes-2.28.1-6.el6.noarch.rpm \
system-icon-theme-6.0.0-2.el6.noarch.rpm \
system-gnome-theme-60.0.2-1.el6.noarch.rpm \
unixODBC-devel-2.2.14-11.el6.i686.rpm \
readline-devel-6.0-3.el6.i686.rpm \
libgnome-2.28.0-11.el6.i686.rpm
# cd /; umount / eject
# /opt/oracle/otk/current/bin/installManager swReqCheck osSetup10gR2.cfg
如果要使用增强的sql*plus&&
# cd /opt/oracle/otk/current/tools/rlwrap/
# ./configure
# make install
# /usr/local/bin/rlwrap -v
执行installManager的osSetup
这一步用来设置内核参数、创建路径、文件所有者和其他一些参数设置。如果想进行默认安装那就啥都别动。
# cd /opt/oracle/otk/current/conf/installManager/
# vi osSetup10gR2.cfg
# sdiff -s osSetup10gR2.cfg sample/osSetup10gR2.cfg
# /opt/oracle/otk/current/bin/installManager osSetup osSetup10gR2.cfg
将Oracle软件移入软件源
Oracle软件就是上面你下载下来的那个。
# cd /var/tmp/oracle
# chown oracle:oinstall *
# mv 10201_database_linux32.zip 10201_companion_linux32.zip p04_Linux-x86.zip /var/opt/oracle/repository/
以oracle身份登录,对PS1变量进行设置
# su - oracle
------------------------------------------------------
oraToolKit 1.0 environment variables
------------------------------------------------------
Installation directory :
/opt/oracle/otk
$RUN directory
/opt/oracle/otk/1.0/bin
$LOG_BASE directory
/var/opt/oracle/otk/1.0/log
------------------------------------------------------
&SITE|COMPANY&:oracle@stquist1p:sidNotSet$ grep ^SITE .profile.custom.interactive
SITE=&&SITE|COMPANY&&
&SITE|COMPANY&:oracle@stquist1p:sidNotSet$ vi .profile.custom.interactive
&SITE|COMPANY&:oracle@stquist1p:sidNotSet$ grep ^SITE .profile.custom.interactive
SITE=&Quist-LU&
&SITE|COMPANY&:oracle@stquist1p:sidNotSet$ exit
# su - oracle
Quist-LU:oracle@stquist1p:sidNotSet$
安装Oracle软件
不要用OUI安装,否则你要坐在电脑前面点鼠标。使用swlnst让它自动运行吧。
$ cd $INSTALL_CONF
$ cp sample/swInstEeSrv10gR2-Step[123]-linux-x86.cfg .
$ installManager swInst swInstEeSrv10gR2-Step1-linux-x86.cfg
# /opt/oracle/eesrv/10.2.0/db1/root.sh
$ installManager swInst swInstEeSrv10gR2-Step2-linux-x86.cfg
$ installManager swInst swInstEeSrv10gR2-Step3-linux-x86.cfg
# /opt/oracle/eesrv/10.2.0/db1/root.sh
创建数据库
使用installManager里面的dbSetup来创建数据库。注意路径。执行命令之前,ORACLE_HOME记得先定义了。
$ cd $INSTALL_CONF
$ ls -1 dbSetup*.cfg
dbSetup-dev.cfg
dbSetup-prod.cfg
dbSetup-test.cfg
$ vi dbSetup-prod.cfg
$ sdiff -s dbSetup-prod.cfg sample/dbSetup-prod.cfg
ORACLE_HOME=/opt/oracle/eesrv/10.2.0/db1 | ORACLE_HOME=/opt/oracle/sesrv/11.1.0/db1
$ installManager dbSetup dbSetup-prod.cfg
连接到数据库
Oracle数据库到此已经安装完毕,用EZCONNECT或TNS尝试连接一下:
$ sourceProdEnv
$ sqlplus otk/otk@//$ORACLE_HOSTNAME:1531/PROD
$ sqlplus otk/otk@PROD
如果你打算在生产环境下使用,那么请继续看下面几个步骤:
用appctl管理Oracle
$ ctl status all
$ ctl stop all
$ ctl start all
设置数据库备份
backupManager的Rman备份
记得要检查好参数后再执行备份:
$ cd $BACKUP_CONF
$ vi prod.cfg
$ sdiff -s prod.cfg sample/prod.cfg
DISK_DEVICE_MOUNT_POINT=&/& | DISK_DEVICE_MOUNT_POINT=&/backup01&
$ backupManager full prod.cfg
设置cron让它按时备份
手动备份成功后就可以设置夜间自动备份了:
$ crontab -l|head -2
# Example 1: Daily physical database backup
# 0 2 * * * [ -d $HOME/../current ] && (ksh -c '. ./.profile &/dev/ backupManager full &sid_1&.cfg &sid_2&.cfg &sid_n&.cfg &/dev/null')
$ crontab -e
$ crontab -l|head -2
# Example 1: Daily physical database backup
0 2 * * * [ -d $HOME/../current ] && (ksh -c '. ./.profile &/dev/ backupManager full prod.cfg &/dev/null')
到此结束。
【编辑推荐】
【责任编辑: TEL:(010)】
关于&&的更多文章
红帽在11月10日发布了其企业级Linux,RHEL 6的正式版。根据红帽
Linux界极具活力,面向不同的用户可以使用不同的Linux发行版,比如适合新手和游戏爱好者等。
日晚7点整,微软公司如约发布了Windows 8
日,对于Windows粉丝来说是一个非常重要
本专题盘点了开源世界中那些最臭名昭著的“坏小子”,
在网络应用越来越复杂的今天,传统的网络应用已经不能满足企业和用户的需要,这就对网络管理员、信息管理部门提出了更高的要求。
51CTO旗下网站shell的简介_Linux教程_
shell的简介
来源:人气:4501
什么是 Shell?
  Shell是一种具备特殊功能的程序,它是介于使用者和 UNIX/ 之核心程序(kernel)间的一个接口。为什么我们说 shell 是一种介于系统核心程序与使用者间的中介者呢?读过操作系统概论的读者们都知道操作系统是一个系统资源的管理者与分配者,当您有需求时,您得向系统提出;从操作系统的角度来看,它也必须防止使用者因为错误的操作而造成系统的伤害?众所周知,对计算机下命令得透过命令(command)或是程序(ogram);程序有编译器(compiler)将程序转为二进制代码,可是命令呢?其实shell 也是一支程序,它由输入设备读取命令,再将其转为计算机可以了解的机械码,然后执行它。
  各种操作系统都有它自己的 shell,以 DOS 为例,它的 shell 就是
檔。如同 DOS 下有 NDOS,4DOS,DRDOS 等不同的命令解译程序可以取代标准的
,UNIX 下除了 Bourne shell(/bin/sh) 外还有 C shell(/bin/csh)、Korn shell(/bin/ksh)、Bourne again shell(/bin/bash)、Tenex C shell(tcsh) … 等其它的 shell。UNIX/Linux 将 shell 独立于核心程序之外,使得它就如同一般的应用程序,可以在不影响操作系统本身的情况下进行修改、更新版本或是添加新的功能。
  Shell 的激活
  在系统起动的时候,核心程序会被加载内存,负责管理系统的工作,直到系统关闭为止。它建立并控制着处理程序,管理内存、档案系统、通讯等等。而其它的程序,包括 shell 程序,都存放在磁盘中。核心程序将它们加载内存,执行它们,并且在它们中止后清理系统。Shell 是一个公用程序,它在您签入时起动。藉由解译使用者输入的命令(由命令列或命令档),Shell 提供使用者和核心程序产生交谈的功能。 当您签入(login)时,一个交谈式的shell 会跟着起动,并提示您输入命令。在您键入一个命令后,接着就是 shell 的工作了,它会进行:
  1. 语法分析命令列
  2. 处理万用字符(wildcards)、转向(redirection)、管线(pes)与工作控制(job control)
  3. 搜寻并执行命令
  当您刚开始学UNIX/Linux系统时,您大部份的时间会花在于提示符号(prompt)下执行命令。
  如果您经常会输入一组相同形式的命令,您可能会想要自动执行那些工作。如此,您可以将一些命令放入一个档案(称为命令档,script),然后执行该档。一个shell 命令档很像是 DOS 下的批次檔(如 Autoexec.bat):它把一连串的 UNIX 命令存入一个档案,然后执行该档。较成熟的命令档还支持若干现代程序语言的控制结构,譬如说能做条件判断、循环、档案测试、传送参数等。要写着写命令档,不仅要学习程序设计的结构和技巧,而且对 UNIX/Linux 公用程序及如何运作需有深入的了解。有些公用程序的功能非常强大(例如 grep、sed 和awk),它们常被用于命令档来操控命令输出和档案。在您对那些工具和程序设计结构变得熟悉之后,您就可以开始写命令档。当由命令档执行命令时,此刻,您就已经把 shell 当做程序语言使用了。
  细说 Shell 的生平
  第一个有重要意义的,标准的 UNIX shell 是V7(AT&T的第七版)UNIX,在1979 年底被提出,且以它的创造者 Stephen Bourne 来命名。Bourne shell 是以 Algol 这种语言为基础来设计,主要被用来做自动化系统管理工作。虽然 Bourne shell 以简单和速度而受欢迎,但它缺少许多交谈性使用的特色,例如历程、别名和工作控制。
  C shell 是在加州大学柏克来分校于70年代末期发展而成,而以2BSD UNIX的部分发行。这个 shell 主要是由 Bill Joy 写成,提供了一些在标准 Bourne shell 所看不到的额外特色。C shell 是以C 程序语言作为基础,且它被用来当程序语言时,能共享类似的语法。它也提供在交谈式运用上的改进,例如命令列历程、别名和工作控制。因为 C shell 是在大型机器上设计出来,且增加了一些额外功能,所以 C shell 有在小型机器上跑得较慢,即使在大型机器上跟 Bourne shell 比起来也显得缓慢。
  有了 Bourne shell 和 C shell 之后,UNIX 使用者就有了选择,且争论那一个 shell 较好。AT&T 的David Korn 在 80 年代中期发明了 Korn shell,在 1986 年发行且在 1988 年成为正式的部分 SVR4 UNIX。Korn shell 实际上是 Bourne shell 的超集,且不只可在 UNIX 系统上执行,同时也可在 OS/2、VMS、和 DOS上执行。它提供了和 Bourne shell 向上兼容的能力,且增加了许多在 C shell 上受欢迎的特色,更增加了速度和效率。 Korn shell 已历经许多修正版,要找寻您使用的是那一个版本可在 ksh 提示符号下按 Ctrl-v 键。
  三种主要的 Shell 与其分身
  在大部份的UNIX系统,三种著名且广被支持的shell 是Bourne shell(AT&T shell,在 Linux 下是BASH)、C shell(Berkeley shell,在 Linux 下是TCSH)和 Korn shell(Bourne shell的超集)。这三种 shell 在交谈(interactive)模式下的表现相当类似,但作为命令文件语言时,在语法和执行效率上就有些不同了。
  Bourne shell 是标准的 UNIX shell,以前常被用来做为管理系统之用。大部份的系统管理命令文件,例如 rc start、stop 与shutdown 都是Bourne shell 的命令档,且在单一使用者模式(single user mode)下以 root 签入时它常被系统管理者使用。Bourne shell 是由 AT&T 发展的,以简洁、快速著名。 Bourne shell 提示符号的默认值是 $。
  C shell 是柏克莱大学(Berkeley)所开发的,且加入了一些新特性,如命令列历程(history)、别名(alias)、内建算术、档名完成(filename completion)、和工作控制(job control)。对于常在交谈模式下执行 shell 的使用者而言,他们较喜爱使用 C shell;但对于系统管理者而言,则较偏好以 Bourne shell 来做命令档,因为 Bourne shell 命令檔比 C shell 命令档来的简单及快速。C shell 提示符号的默认值是 %。
  Korn shell 是Bourne shell 的超集(superset),由 AT&T 的 David Korn 所开发。它增加了一些特色,比 C shell 更为先进。Korn shell 的特色包括了可编辑的历程、别名、函式、正规表达式万用字符(regular expression wildcard)、内建算术、工作控制(job control)、共作处理(coprocessing)、和特殊的除错功能。Bourne shell 几乎和 Korn shell 完全向上兼容(upward compatible),所以在 Bourne shell 下开发的程序仍能在 Korn shell 上执行。Korn shell 提示符号的默认值也是 $。在 Linux 系统使用的 Korn shell 叫做 pdksh,它是指 Public Domain Korn Shell。
  除了执行效率稍差外,Korn shell 在许多方面都比 Bourne shell 为佳;但是,若将 Korn shell 与 C shell 相比就很困难,因为二者在许多方面都各有所长,就效率和容易使用上看,Korn shell 是优于 C shell,相信许多使用者对于 C Shell 的执行效率都有负面的印象。 在shell 的语法方面,Korn shell 是比较接近一般程序语言,而且它具有子程序的功能及提供较多的资料型态。至于 Bourne shell,它所拥有的资料型态是三种 shell 中最少的,仅提供字符串变量和布尔型态。在整体考量下 Korn shell 是三者中表现最佳者,其次为 C shell,最后才是 Bourne shell,但是在实际使用中仍有其它应列入考虑的因素,如速度是最重要的选择时,很可能应该采用 Bourne shell,因它是最基本的 shell,执行的速度最快。
  tcsh 是近几年崛起的一个免费软件(Linux 下的C shell 其实就是使用 tcsh)执行,它虽然不是UNIX 的标准配备,但是从许多地方您都可以下载到它。如果您是 C shell 的拥护者,笔者建议不妨试试 tcsh,因为您至少可以将它当作是 C shell 来使用。如果您愿意花点时间学习,您还可以享受许多它新增的优越功能,例如:
  1. tcsh 提供了一个命令列(command line)编辑程序。
  2. 提供了命令列补全功能。
  3. 提供了拼字更正功能。它能够自动检测并且更正在命令列拼错的命令或是单字。
  4. 危险命令侦测并提醒的功能,避免您一个不小心执行了rm* 这种杀伤力极大的命令。
  5. 提供常用命令的快捷方式(shortcut)。
  bash 对 Bourne shell 是向下兼容(backward compatible),并融入许多C shell 与Korn shell 的功能。这些功能其实 C shell(当然也包括了tcsh)都有,只是过去 Bourne shell 都未支持。以下笔者将介绍 bash 六点重要的改进(详细的使用说明笔者会在以后的章节介绍):
  1. 工作控制(job contorl)。bash 支持了关于工作的讯号与指令,本章稍后会提及。
  2. 别名功能(aliases)。alias 命令是用来为一个命令建立另一个名称,它的运作就像一个宏,展开成为它所代表的命令。别名并不会替代掉命令的名称,它只是赋予那个命令另一个名字。
  3. 命令历程(command history)。BASH shell 加入了C shell 所提供的命令历程功能,它以 history 工具程序记录了最近您执行过的命令。命令是由 1 开始编号,默认值为500。history 工具程序是一种短期记忆,记录您最近所执行的命令。要看看这些命令,您可以在命令列键入 history,如此将会显示最近执行过之命令的清单,并在前方加上编号。
  这些命令在技术上每个都称为一个事件。事件描述的是一个已经采取的行动(已经被执行的命令)。事件是依照执行的顺序而编号,越近的事件其编号码越大,这些事件都是以它的编号或命令的开头字符来辨认的。history 工具程序让您参照一个先前发生过的事件,将它放在命令列上并允许您执行它。最简单的方法是用上下键一次放一个历程事件在您的命令列上;您并不需要先用 history 显示清单。按一次向上键会将最后一个历程事件放在您的命令列上,再按一次会放入下一个历程事件。按向下键则会将前一个事件放在命令列上。
  4. 命令列编辑程序。BASH shell 命令列编辑能力是内建的,让您轻松地在执行之前修改您输入的命令。若是您在输入命令时拼错了字,您不需重新输入整个命令,只需在执行命令之前使用编辑功能纠正错误即可。这尤其适合于使用冗长的路径名称当作参数的命令时。命令列编辑作业是 Emacs 编辑命令的一部份。您可以用 Ctrl-F 或向右键往前移一个字符,Ctrl-b 或向左键往回移一个字符。Ctrl-d 或DEL 键会删除光标目前所在处的字符。要增加文字的话,您只需要将光标移到您要插入文字的地方并键入新字符即可。无论何时,您都可以按 ENTER 键执行命令。
  5. 允许使用者自订按键。
  6. 提供更丰富的变量型态、命令与控制结构至 shell 中。
  bash 与tcsh 一样可以从许多网站上免费下载,它们的性质也十分类似,都是整合其前一代的产品然后增添新的功能,这些新增的功能主要都着重在强化 shell 的程序设计能力以及让使用者能够自行定义自己偏好的作业环境。除了上述的五种 shell 之外,zsh 也是一个广为UNIX 程序设计人员与进阶使用者所采用的 shell,zsh 基本上也是 Bourne shell 功能的扩充。
  Shell 的使用
  不论是哪一种Shell,它最主要的功用都是解译使用者在命令列提示符号下输入的指令。Shell 语法分析命令列,把它分解成以空白区分开的符号(token),在此空白包括了跳位键(tab)、空白和换行(New Line)。如果这些字包含了metacharacter,shell 将会评估(evaluate)它们的正确用法。另外,shell 还管理档案输入输出及幕后处理(background processing)。在处理命令列之后,shell 会寻找命令并开始执行它们。
  Shell 的另一个重要功用是提供个人化的使用者环境,这通常在 shell 的初始化档案中完成(.profile、.login、.cshrc、.tcshrc 等等)。这些档案包括了设定终端机键盘和定义窗口的特征;设定变量,定义搜寻路径、权限限、提示符号和终端机类形;以及设定特殊应用程序所需要的变量,例如窗口、文字处理程序、及程序语言的链接库。Korn shell 和 C shell 加强了个别化的能力:增加历程、别名、和内建变量集以避免使用者误杀档案、不慎签出、并在当工作完成时通知使用者。
  Shell 也能当解译性的程序语言(interpreted programing language)。Shell 程序,通常叫做命令文件,它由列在档案内的命令所构成。此程序在编辑器中编辑(虽然也可以直接在命令列下写作程序, online scripting),由 UNIX 命令和基本的程序结构,例如变量的指定、测试条件、和循环所构成。您不需要编译 shell 命令檔。Shell 本身会解译命令档中的每一行,就如同由键盘输入一样。shell 负责解译命令,而使用者则必须了解这些命令能做什么。这本书的索引列出了一些有用的命令和它们的使用方法。
  Shell 的功用
  为了确保任何提示符号下输入的命令都能够适当地执行。shell 担任的工作包括有:
  1. 读取输入和语法分析命令列
  2. 对特殊字符求值
  3. 设立管线、转向、和幕后处理
  4. 处理讯号
  5. 设立程序来执行
优质网站模板博客访问: 134184
博文数量: 73
博客积分: 3044
博客等级: 少校
技术积分: 695
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Oracle
首先在oracle 官方上下载一个oracle 11g( 说明一下在安装CentOS 5.5 时尽量是把开发包装全一些,这样您在安装包检测的时候就会少装一些包,这个可以在安装CentOS 时选择开发工具一览选项。其次,安装CentOS 的SWAP 要大约1.5 倍的物理内存大小。最后,要禁用linux 防火墙以及SElinux ,这两个可以在安装CentOS 时选择禁用)1 、下载 Oracle 11g 文件下载oracle 从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 sysstatgcc-4.1.2-42.el5make-3.81-3.el5binutils-2.17.50.0.6-6.el5setarch-2.0-1.1package compat-db is not installedpackage compat-gcc is not installedpackage compat-gcc-c++ is not installedpackage compat-libstdc++ is not installedpackage compat-libstdc++-devel is not installedunixODBC-2.2.11-7.1package unixODBC-devel is not installedpackage libaio-devel is not installedpackage 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.el5make-3.81-3.el5binutils-2.17.50.0.6-6.el5setarch-2.0-1.1compat-db-4.2.52-5.1package compat-gcc is not installedpackage compat-gcc-c++ is not installedpackage compat-libstdc++ is not installedpackage compat-libstdc++-devel is not installedunixODBC-2.2.11-7.1unixODBC-devel-2.2.11-7.1libaio-devel-0.3.106-3.2sysstat-7.0.2-1.el5如上所述:还是有4 个软件包没有安装,这个不用理会,其实我们刚才安装的compat 包已经包含了注意,除了上面的软件需要安装外,安装最新的Oracle Database 11 g 第 2 版还需要安装:pdksh所以需要运行:yum install pdksh这里解释一段话:为什么要安装那么多软件包?可以看官网说一下 ORACLE 内部安装过程:Oracle 公司提供了一个管理工具OUI (Oracle Universal Installer ),OUI 就是用来安装Oracle 产品的,而OUI 的中心是产品清单。产品清单用于存储在计算机上安装的所有Oracle 产品的详细信息,包括版本、位置,有时还包括已应用的补丁信息。当每次运行OUI 时,都将在清单中检查不兼容性,然后才允许继续将现有产品安装到Oracle 主目录,才使用已经安装和已经升级产品的详细信息更新产品清单。而产品清单的位置是由oraInst.loc 来指定的。DBA 可以在第一次运行OUI 时,选择Linux 产品清单的位置。Linux 下是这个文件/etc/oraInst.locoraInst.loc 这个文件存储的是产品清单的位置。oraInst.loc 的内容如下:[oracle@localhost etc]$ cat oraInst.locinventory_loc=/u01/app/oraInventoryinst_group=dba注意:上面的/u01/app/oraInventory 就是产品清单的位置启动OUI 时,它将查找此文件(oraInst.loc )。如果找不到,OUI 将认为相应的计算机上没有安装任何ORACLE 软件,这时,他会创建文件,在其中写入要创建的新产品清单的位置。以后每次运行任何版本的OUI 时,都能找到此产品清单。涉及到创建,需要有写入权限。所以通常只有root 用户才可以写入/etc 或者/var ,由于安全原因,不允许用root 用户身份运行OUI ,所以OUI 会生成一个orainstRoot.sh 脚本,这个脚本的属主是root, 而这个脚本用于创建oraInst.loc ,也就是说在oracle 的安装过程中,会需要用户以root 的身份运行orainstRoot.sh 这个脚本,而这个脚本的目的之一是创建oraInst.loc 。这个在你一会安装oracle 的时候等到最后的 “安装产品”这一步后,系统会自动提示你运行两个脚本,第一个就是orainstRoot.sh 。这里我先给出他的内容,以便大家分析:[root@localhost Desktop]# cat /u01/app/oraInventory/orainstRoot.sh看看第19 行就是复制oraInst.loc ,就是创建他的。#!/bin/shAWK=/bin/awkCHMOD=/bin/chmodCHGRP=/bin/chgrpCP=/bin/cpECHO=/bin/echoMKDIR=/bin/mkdirRUID=`/usr/bin/id|$AWK -F\( '{print $2}'|$AWK -F\) '{print $1}'`if [ ${RUID} != "root" ];then$ECHO " 必须以 root 身份执行此脚本"exit 1fiif [ -d "/etc" ]; then$CHMOD 755 /else$MKDIR -p /fiif [ -f "/u01/app/oraInventory/oraInst.loc" ]; then$CP /u01/app/oraInventory/oraInst.loc /etc/oraInst.$CHMOD 644 /etc/oraInst.locelseINVPTR=/etc/oraInst.locINVLOC=/u01/app/oraInventoryGRP=dbaPTRDIR="`dirname $INVPTR`";# 创建软件产品清单位置指针文件if [ ! -d "$PTRDIR" ]; then$MKDIR -p $PTRDIR;fi$ECHO " 创建 Oracle 产品清单指针文件($INVPTR)";$ECHO inventory_loc=$INVLOC > $INVPTR$ECHO inst_group=$GRP >> $INVPTRchmod 644 $INVPTR# 如果产品清单目录不存在, 则创建它if [ ! -d "$INVLOC" ];then$ECHO " 创建 Oracle 产品清单目录($INVLOC)";$MKDIR -p $INVLOC;fifi$ECHO " 更改权限/u01/app/oraInventory.添加组的读取和写入权限。删除全局的读取, 写入和执行权限。";$CHMOD -R g+rw,o-rwx /u01/app/oraIif [ $? != 0 ]; then$ECHO "OUI-35086: 警告: chmod/u01/app/oraInventory添加组的读取和写入权限。, 删除全局的读取, 写入和执行权限。失败!";fi$ECHO " 更改组名/u01/app/oraInventory 到 dba.";$CHGRP -R dba /u01/app/oraIif [ $? != 0 ]; then$ECHO "OUI-10057: 警告: chgrp/u01/app/oraInventory 到 dba 失败!";fi$ECHO " 脚本的执行已完成。"OUI 在运行之前要先检查服务器计算机上的某些需求。这些需求在oracle 安装软件(比如说现在oracle 软件在DVD 上)的/install/oraparam.ini 给出3 、系统参数和用户及目录设置// 系统参数设置注意 每一次修改完内核参数后,需要用下面命令使修改生效/sbin/sysctl -p如果内核参数与我的不一样,可以根据实际安装过程中的条件检测部分的提示来修改即可。一定要具体情况具体看待。为什么要设置系统参数,以及参数为什么这样设置可以参看oracle 官方文档vi /etc/sysctl.conf以下为此文件更改后的内容:# Kernel sysctl configuration file for&&Linux## For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and# sysctl.conf(5) for more details.# Controls IP packet forwardingnet.ipv4.ip_forward = 0# Controls source route verificationnet.ipv4.conf.default.rp_filter = 1# Do not accept source routingnet.ipv4.conf.default.accept_source_route = 0# Controls the System Request debugging functionality of the kernelkernel.sysrq = 0# Controls whether core dumps will append the PID to the core filename# Useful for debugging multi-threaded applicationskernel.core_uses_pid = 1# Controls the use of TCP syncookiesnet.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 = # Controls the maximum number of shared memory segments, in pages#kernel.shmall = #Below for oracle11gfs.aio-max-nr=1048576kernel.core_uses_pid = 1kernel.shmmax = kernel.shmmni = 4096kernel.shmall = 2097152kernel.sem = 250 8net.core.rmem_default = 4194304net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576fs.file-max = 6815744net.ipv4.ip_local_port_range = // 添加用户组及用户执行如下命令:#groupadd dba 创建用户组dba#groupadd oinstall 创建用户组oinstall#useradd oracle -g oinstall -G dba 添加用户oracle 使其属于组oinstall 和附加组dba#passwd oracle 设置用户oracle 的秘密// 新建目录权限执行如下命令:#mkdir -p /u01 新建目录 /u01#chown -R oracle:dba /u01 将目录/u01 (递归)属主和属组分别更改为oracle dba#chmod -R 755 /u01 将/u01 权限赋值为755// 用户环境变量先切换用户到oracle:su – oracle修改.bash_profile 文件:vi .bash_profile以下是此文件的内容:# .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then. ~/.bashrcfi# User specific environment and startup programsPATH=$PATH:HOME/binexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.1.0.6export ORACLE_SID=salesexport PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/binexport TNS_ADMIN=$ORACLE_HOME/network/adminexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:ORACLE_HOME/libexport NLS_LANG=AMERICAN_AMERICA.ZHS16GBKexport ORA_NLS10=$ORACLE_HOME/nls/dataunset USERNAMEumask 022上面的LD_LIBRARY_PATH 变量包含可能需要的动态连接库如果要远程安装到其他服务器上,需要设置DISPLAY这里介绍一下 OFA (Optimal Flexible Architecture )Oracle 公司设计了 OFA 作为简化多个 Oracle 产品版本维护的文件系统目录结构。实际上就是一个目录结构。 OFA 的核心是两个环境变量:ORACLE_BASE 和 ORACLE_HOME 。 ORACLE_BASE 目录是服务器上的一个目录,其中安装所有 Oracle 软件。每个产品的每个版本都有自己的 ORACLE_HOME (此文件夹在 ORACLE_BASE 目录下),此结构确保在最终将文件放在适当的位置的情况下,创建和升级多个数据库。ORACLE_BASE 的 Linux 和 Unix OFA 标准是:它应是一个模板格式为 /pm/h/u 的目录,其中, p 是一个字符串常量(如 u ) ,m 是一个数字常量(如 01 ) ,h 是标准目录名(如 app ), u 是拥有所有 Oracle 软件的操作系统帐号(如 Oracle )。ORACLE_HOME 的 OFA 标准是 $ORACLE_BASE/product/v/db_n 其中, product 是不变的产品,v 是产品版本号(比如 11.1.0.6 ), db_n 是安装程序基于产品推导的名称,以及每个产品安装的增量编号。我的 CentOS5.5 系统上, ORACLE_BASE 和 ORACLE_HOME 的典型值如下:u01/app/oracle/u01/app/oracle/product/11.1.0.6/db_1为 oracle 用户设置 Shell 限制Oracle 建议对每个 Linux 帐户可以使用的进程数和打开的文件数设置限制。要进行这些更改,以 root 用户的身份执行下列命令:cat >> /etc/security/limits.conf <<EOForacle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536EOFcat >> /etc/pam.d/login <<EOFsession required /lib/security/pam_limits.soEOF下面参数的意义,可参考&修改 bash 和 ksh 的默认配置文件以及 cshell 的默认登录脚本。cat >> /etc/profile <<EOFif [ \$USER = "oracle" ]; thenif [ \$SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fiumask 022fiEOFcat >> /etc/csh.login <<EOFif ( \$USER == "oracle" ) thenlimit maxproc 16384limit descriptors 65536umask 022endifEOF我的安装设置了两次 shell 环境。这里有《精通 shell 编程》第二版的一段话,可以有助于理解:korn shell (ksh )的初始化过程是这样的:1.ksh 检查文件 /etc/profile 是否存在2. 如果存在,ksh 就读取该文件,否则,跳过3.ksh 检查主目录下的文件.profile 是否存在。4. 如果存在,ksh 就读取该文件,否则,跳过5.ksh 检查主目录下的文件.kshrc 是否存在。6. 如果存在,ksh 就读取该文件,否则,跳过。这些步骤都执行完后,就出现提示符了,ksh 默认提示符是$.而 Bourne Again shell (bash )的初始化过程是这样的:1.bash 检查文件/etc/profile 是否存在2. 如果存在,bash 就读取该文件,否则,跳过3.bash 检查主目录下的文件.bash_profile 是否存在。4. 如果存在,bash 就读取該文件,否则,跳过5.bash 检查主目录下的.bash_login 是否存在。6. 如果存在,bash 就读取该文件,否则,跳过7.bash 检查主目录下的文件.profile 是否存在8. 如果存在, bash 就读取该文件,否则,跳过。这些步骤都执行完后,就出现提示符了, ksh 默认提示符是 $.4. 安装进入 oracle 目录安装数据库首先需要手动解压缩 linux_11gR2_database_1of2.zip linux_11gR2_database_1of2.zip 这两个软件包,然后将解压的内容放到一个文件夹。比如放到 oracle_database11g 中注意:两个文件夹中有同名的部分,需要合并在一起而不是覆盖。解压后的子目录 database 也有同民的文件夹 stage ,而 stage 里面的 Components 也需要合并在一起。这个注意一下。然后进入解压并合并的目录比如我的 oracle_database11g[oracle@localhost home]$ cd ~/oracle_database11g/database执行 ./runInstaller[oracle@localhost database]$ ./runInstaller就会探出安装步骤,然后按步骤安装即可。开始的配置安全更新 安装选项 网络安装 产品语言 数据库版本 相应设置就可以了,我给出从安装位置开始的截图图一:图二:图三:从图中可以看到,缺少程序包 pdksh ,所以需要运行 yum install pdksh 来安装他如果你安装过程需要什么软件包,那么你安装即可以了。具体情况具体分析。这里有个问题从图中可以看到,系统内核参数不对, ip_local_port_range 和 aio-max-nr都不对。那么需要修改 /etc/sysctl.conf文件,这个上面已经说过了。为什么 sysctl.conf 中参数格式是那样,比如fs.aio-max-nr 是因为 aio-max-nr 在 /proc/sys/fs 目录中不难理解 kernel.shmmni 是因为 shmmni 在 /proc/sys/kernel 目录中net.ipv4.ip_local_port_range 是因为 ip_local_port_range 在/proc/sys/net 目录中不过,如果你修改了 /proc/sys 相应子目录下的文件,比如你修改了/proc/sys/fs/aio-max-nr , 但是在重启后由系统通过调用 rc.sysinit ( 在 /etc/rc.d/rc.sysinit 中 ) 文件,而 rc.sysrq 文件会调用 sysctl 命令,而 sysctl 命令又会把相应的配置文件 /etc/sysctl.conf 中的配置信息传递给内核,所以,修改 /proc/sys/fs/aio-max-nr 是暂时的,如果彻底修改,还是需要修改 /etc/sysctl.conf有关先决条件的测试,在 oracle 安装软件中给出了比如我的在 oracle_database11g/install/oraparam.ini该文件完成类似于检查显示安装程序的图形设备是否至少是 256 种颜色。图四:图五:图六:根据上图提示运行上面两个脚本就可以了。如果遇到输入什么直接回车就可以了。(这张图片是从 oracle 官网拿来的,主要给大家参考看看)至此 oracle11g 安装完成。5 、测试 oracle[oracle@localhost ~]$ sqlplus /nologSQL*Plus: Release 11.2.0.1.0 Production on Mon Aug 23 17:38:53 2010Copyright (c) , Oracle. All rights reserved.SQL> conn / as sysdbaConnected to an idle instance.SQL> startupORA-01078: failure in processing system parametersLRM-00109: could not open parameter file '/u01/app/oracle/product/11.1.0.6/dbs/initsales.ora'这是因为没有创建数据库的原故。大家可以参考其他方法创建高手进阶:/etc/profile环境变量配置解析&与环境变量相关的文件可能还会有/etc/bashrc等,不过这是shell变量,是局部的,对于特定的shell器作用。/etc/profile是全局的,适用于所有的shell。profile文件会告诉shell使用什么语言,什么shell,命令的搜索路径等等。一些标准的环境变量:SHELL 默认shellLANG 默认语言PATH linux寻找命令的默认路径,一般包括/bin,/usr/bin,/sbin,/usr/sbin,/usr/X11R6/bin,/opt/bin,/usr/local/bin等。用户可以自行添加,如/home/bin等.MANPATH man手册的默认路径INPUTRC 默认键盘映象,详见/etc/inputrcBASH_ENV bash shell的环境变量,通常在~/.bashrc中DISPLAY X窗口适用的控制台,DISPLAY=:0对应于控制台F7,DISPLAY=:1对应于控制台F8,DISPLAY=server:0向远程计算机发送GUI应用程序。COLORTERM GUI中的默认终端,通常是gnome-terminal。USER 自动设置当前登陆用户的用户名。LONGNAME 通常设置为$USERMAIL 设置特定$USR的标准邮件目录HOSTNAME 设置为/bin/hostname的命令输出HISTSIZE 设置为history命令记住的命令数例子:&## /etc/profile##修改或添加PATH可以自定义命令的寻找路径,如果你不想将可执行文件添加到默认目录中但又可以在终端中使用命#令,那就改吧。export PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/X11R6/bin:/opt/bin:/usr/local/bin"export MANPATH="/usr/man:/usr/X11R6/man"export LESSCHARSET="latin1"export INPUTRC="/etc/inputrc"export LESS="-R"# Locale settings (find your locale with ''locale -a'')export LANG="zh_CN" #修改这里可以改变系统的默认使用语言export LC_COLLATE="C"export COLUMNS LINESexport PS1=''[\u@\h \W]\$ ''export PS2=''> ''umask 022…………# End of file&
阅读(1053) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。

我要回帖

更多关于 rhel centos 区别 的文章

 

随机推荐