仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 844|回复: 7
打印 上一主题 下一主题

[CentOS(社区)] 来讲讲:CentOS 6.3(x86_64)下装置Oracle 10g R2

[复制链接]
透明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 21:07:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
小知识:CentOS在服务器提供商、中小型公司中装机量几乎是最大的Linux发行版。
1、硬件请求
2、软件
3、体系装置留意
4、装置Oracle前的体系预备任务
5、装置Oracle,并停止相干设置
6、进级Oracle到patchset10.2.0.4
7、应用rlwrap挪用sqlplus中汗青敕令


1、硬件请求
1、内存&swap
Minimum:1GBofRAM
Recommended:2GBofRAMormore

检讨内存情形
#grepMemTotal/proc/meminfo
#grepSwapTotal/proc/meminfo
2、硬盘
因为CentOS装置后差不多有4~5G,再加上Oracle等等的装置,所以请预备至多10G的硬盘空间。
检讨磁盘情形
#df-h


2、软件
体系平台:CentOS6.3(x86_64)
CentOS-6.3-x86_64-bin-DVD1.iso
Oracle版本:Oracle10gR2
10201_database_linux_x86_64.cpio
补钉:p6810189_10204
p6810189_10204_Linux-x86-64.zip
3、体系装置留意
体系装置时必定要装置桌面形式,不然没法装置oracle,别的请勿开启SELinux,oracle官方不建议应用SELinux,CentOS的防火墙也请临时封闭,削减装置时的困扰。为避免Oracle装置过程当中涌现乱码,建议应用英文作为体系说话,停止Oracle的装置任务。
本文中所描写的体系敕令,未经特别标示,均为“#”代表root权限,“$”代表oracle权限。
4、装置Oracle前的体系预备任务
起首,请先以root账号登入作一些前置设定功课。
1、封闭防火墙、禁用SELinux

#setup

#vi/etc/selinux/config
修正SELINUX=disabled,然后重启。
假如不想重启体系,应用敕令setenforce0

2、装置依附包
Oracle官方文档请求的装置包:

检查Oracle相干包能否曾经装置:

用yum方法装置所需的包:
#yum-yinstallbinutilscompat-libstdc++-33compat-libstdc++-33.i686elfutils-libelfelfutils-libelf-develgccgcc-c++glibcglibc.i686glibc-commonglibc-develglibc-devel.i686glibc-headerskshlibaiolibaio.i686libaio-devellibaio-devel.i686libgcclibgcc.i686libstdc++libstdc++.i686libstdc++-develmakesysstat

最初还须要装置libXp这个Library,这个必定要装置,不然装置Oracle时会涌现javaException。
#yuminstalllibXp

3、创立Oracle用户与组
在这里只评论辩论单主机情况,不斟酌RAC情况的设置装备摆设。
履行以下指令以新增oracle装置时所须要的应用者与群组。
(1)树立群组oinstall
#groupaddoinstall
(2)树立群组dba
#groupadddba
(3)新增应用者oracle并将其参加oinstall和dba群组
#useradd-m-goinstall-Gdbaoracle
(4)测试oracle账号能否树立完成
#idoracle
(5)树立oracle的新暗码
#passwdoracle

4、将oracle应用者参加到sudo群组中
#vi/etc/sudoers
找到
rootALL=(ALL)ALL
这行,而且在底下再参加
oracleALL=(ALL)ALL
输出wq!(因为这是一份只读文档所以须要再加上!)而且按下Enter

5、设置装备摆设体系内核参数
#vi/etc/sysctl.conf
修正和添加以下内容:
kernel.shmall=4294967296//表现体系一次可使用的同享内存总量(以页为单元)。缺省值就是2097152,平日不须要修正
kernel.shmmax=68719476736//界说了同享内存段的最年夜尺寸(以字节为单元)。缺省为32M,关于oracle来讲,该缺省值太低了,平日将其设置为2G
kernel.shmmni=4096//用于设置体系规模内同享内存段的最年夜数目。该参数的默许值是4096。平日不须要更改
kernel.sem=25032000100128//表现设置的旌旗灯号量
net.ipv4.ip_local_port_range=102465000
net.core.rmem_default=4194304//默许的吸收窗口巨细
net.core.rmem_max=4194304//吸收窗口的最年夜巨细
net.core.wmem_default=262144//默许的发送窗口巨细
net.core.wmem_max=262144//发送窗口的最年夜巨细
会有一些与今朝的参数反复的,就修正成文件上供给的。

编纂完以后,贮存,然后履行:
#sysctlCp
启用方才所做的变革。

6、编纂/etc/security/limits.conf
#vi/etc/security/limits.conf
添加以下四行
oraclesoftnproc2047
oraclehardnproc16384
oraclesoftnofile1024
oraclehardnofile65536

7、编纂/etc/pam.d/login
#vi/etc/pam.d/login
添加以下两行
sessionrequired/lib64/security/pam_limits.so
sessionrequiredpam_limits.so

8、修正/etc/profile
#vi/etc/profile
将以下代码新增到profile档案中。
  1. if[$USER="oracle"];thenif[$SHELL="/bin/ksh"];thenulimit-p16384ulimit-n65536elseulimit-u16384-n65536fifi
复制代码



9、修正Linux刊行版本信息
因为Oracle10g刊行的时刻,CentOS6没有刊行,所以Oracle10g并没有对CentOS6确认支撑,须要修正文件让Oracle10g支撑CentOS6。
我们须要手工修正Linux的刊行注记,让Oracle10g支撑CentOS6。
编纂/etc/redhat-release文件
#vi/etc/redhat-release
将个中的内容CentOSrelease6.3(Final)修正为redhat4

10、创立Oracle装置文件夹和数据寄存文件夹
#mkdir/opt/oracle
#mkdir/opt/oracle/102
#chown-Roracle:dba/opt/oracle

11、设置装备摆设Linux主机
检讨/etc/hosts文件中能否有localhost的记载(指向127.0.0.1便可),若没有的话,在前面设置装备摆设Oracle监听的时刻会涌现一些成绩,招致没法启动监听,在此手工添加此记载便可。

第一阶段到此终了,接上去,完成这些设定以后,请先刊出root账号,而且以oracle账号再次登入体系。

12、设置装备摆设oracle用户情况变量
$cd/home/oracle
$vi.bash_profile
修正并参加以下热
ORACLE_BASE=/opt/oracle//下面创立的Oracle装置文件夹
ORACLE_HOME=$ORACLE_BASE/102
ORACLE_SID=orcl
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
exportORACLE_BASEORACLE_HOMEORACLE_SIDLD_LIBRARY_PATHPATH

保留后应用以下敕令,使设置失效:
$source/home/oracle/.bash_profile
5、装置Oracle,并停止相干设置
1、解紧缩装置文件
将下载的10201_database_linux_x86_64.cpio放至行将装置oracle的文件夹/opt/oracle
回到终端形式而且进入到oracle文件夹:
$cd/opt/oracle
解紧缩10201_database_linux_x86_64.cpio
$cpio-idmv<10201_database_linux_x86_64.cpio
接着会看到连续串的解紧缩举措。

解紧缩完成会在统一个文件夹中看到database的文件夹,请进入到database文件夹中:
$cddatabase
预备履行数据库装置,假如你的centos是中文情况,装置时会涌现中文乱码,请下以下指令
$exportLANG=en_US
接着履行
$./runInstaller
假如没法看到装置界面,请应用root帐户履行以下敕令后再运转装置法式:
#exportDISPLAY=:0.0
#xhost+
$./runInstaller

碰到毛病:Exceptionin....../lib/i386/libawt.so:libXp.so.6:cannotopensharedobjectfile:Nosuchfileordirectory

处理:
#yum-yinstalllibXp.i686
剖析:看报错信息"/lib/i386/libawt.so:libXp.so.6:cannotopensharedobjectfile:Nosuchfileordirectory",libXp须要装置i386的包,而不克不及装置X64的包。下面以为64位的linux须要装置64位的libXp包,所以招致这个成绩。
再次履行
$./runInstaller
碰到毛病:Exceptionin....../lib/i386/libawt.so:libXt.so.6:cannotopensharedobjectfile:Nosuchfileordirectory

处理:
#yum-yinstalllibXt.i686
再次履行
$./runInstaller
碰到毛病:Exceptionin....../lib/i386/libawt.so:libXtst.so.6:cannotopensharedobjectfile:Nosuchfileordirectory

处理:
#yum-yinstalllibXtst.i686
再次履行
$./runInstaller
开端履行装置法式。

因为相干的前置功课曾经在之前做好了,在这个步调只须要将UNIXDBAGroup选择为dba和输出SYS,SYSTEM等账号同享的databasePassword便可。然后选择Next便可。

异样的,将群组选择为dba群组,按Next
在这个步调中,请点选CheckingNetworkConfigurationrequirements为UserVerified,接着按下Next

最初涌现InstallSummary画面,此时只需按下Install按钮,体系即开端装置。

装置进程...

装置进度年夜约到65%时会有毛病提醒:
Errorininvokingtargetcollectorofmakefile/opt/oracle/102/sysman/lib/ins_emdb.mk.

同时oraInventory/logs/目次下的装置日记文件外面会有以下相似毛病提醒:

这是oracle装置法式的一个bug,可以疏忽此毛病持续装置,对体系没甚么影响。
在ConfigurationAssistants时会涌现毛病提醒:
OUI-25031:Someoftheconfigurationassistantsfailed.

剖析:主机名映照毛病
处理:修正/etc/hosts文件,增长IP地址与主机名的映照以下:

接着会碰到毛病提醒:
ORA-27125:unabletocreatesharedmemorysegment

处理:
1.肯定装置oracle所应用的用户组
#idoracle
可以看到oracle组dbaid为501。
2.修正内核参数
echo"501">/proc/sys/vm/hugetlb_shm_group
就能够了。

装置到数据库设置助理,可以在这边拔取passwordmanagement作暗码的修正,如不须要修正,只须要按下ok按钮便可。

装置完成前,涌现以下的设置剧本:

开启一个新的终端,su到root。
将请求履行的两段script依序履行。
/opt/oracle/oraInventory/orainstRoot.sh
/opt/oracle/102/root.sh

履行画面如上图。
履行完后,回到装置窗口按下OK完成一切的oracle装置。装置完成会涌现以下画面。

此时,您可以以上述网址,作为测试,登入账号可认为sys或system
http://CentOS-Oracle:5560/isqlplus
http://CentOS-Oracle:5560/isqlplus/dba
http://CentOS-Oracle:1158/em

以上画面都胜利代表oracle曾经正常装置了。
6、进级Oracle到patchset10.2.0.4
1、进级软件
a.封闭须要进级的实例
停滞实例
SQL>SHUTDOWNIMMEDIATE
停滞与该实例相干的一切后台过程
$emctlstopdbconsole
$isqlplusctlstop
$lsnrctlstop

b.备份Oracle数据库
c.运转进级包进级软件
将补钉包p6810189_10204_Linux-x86-64.zip解压;进入解压后的目次,履行装置敕令。

点击“Next”

指定OracleHome目次具体,点击“Next”

点击“Next”

点击“Next”

点击“Install”,停止装置。

进级进程...

须要履行剧本/opt/oracle/102/root.sh

开一个新窗口,在root账户下履行剧本。

履行完后,回到装置窗口按下“OK”完成一切的oracle装置。装置完成会涌现以下画面。

点击“Exit”,加入Oracle的进级。
假如此前并没有创立数据库,那末进级到10.2.0.4到此就停止了。然后可以去创立新的数据库。
假如此前曾经创立了数据库,那末按以下步调进级数据库到10.2.0.4版本。
2、进级数据库
a.更新数据字典
$sqlplus/assysdba;
SQL>STARTUPUPGRADE
SQL>SPOOLpatch.log
SQL>@?/rdbms/admin/catupgrd.sql

进级进程比拟长,请耐烦期待。

进级终了,总耗时38分钟26秒。
SQL>SPOOLOFF

b.封闭偏重启数据库
SQL>SHUTDOWNIMMEDIATE
SQL>STARTUP
c.编译有效PL/SQL包
SQL>@?/rdbms/admin/utlrp.sql

编译胜利。

d.检讨进级能否胜利,假如一切组件的status都是valid表现进级胜利。
SQL>SELECTCOMP_NAME,VERSION,STATUSFROMSYS.DBA_REGISTRY;

e.检讨能否有进级毛病
SQL>select*fromutl_recomp_errors;

f.修正体系兼容性参数
SQL>altersystemsetcompatible=10.2.0.4.0scope=spfile;
SQL>SHUTDOWN
SQL>STARTUP

进级完成。
7、应用rlwrap挪用sqlplus中汗青敕令
  在Linux中运转SQL*Plus,不克不及挪用汗青敕令;输错字符后也不克不及按Backspace键或Del键删除,固然可以经由过程Ctrl+Backspace组合键完成删除功效,然则严重影响应用效力。应用第三方软件rlwrap可以完成以上功效。
  rlwrap供给了readline的封装(bash下敕令的输出都是经由过程readline这个库来处置的。也就是说,高低箭头检查汗青敕令,Ctrl+r反向查找婚配汗青输出,和Ctrl+w,Ctrl+a等等操作都是由readline供给的),也就是说rlwrap供给一个输出情况,在这个输出情况下可使用readline的各类功效。假如一个法式在敕令行下接收输出,那末用rlwrap直接就能够获得像在bash下输出那样的后果。
7.1装置rlwrap
rlwrap封装了readline,所以装置rlwrap之前须要装置readline库。可以经由过程yum方法装置,也能够下载源码包停止装置。官方网站:http://utopia.knoware.nl/~hlub/uck/rlwrap/
I.yum方法装置
CentOS体系默许的yum软件仓库中没有rlwrap这个包,须要经由过程第三方yum源装置。
a.装置第三方yum源
#rpm-ivhhttp://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
#rpm--import/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6//导入key
默许会在/etc/yum.repos.d/下创立epel.repo和epel-testing.repo两个设置装备摆设文件。
b.装置rlwrap和readline
#yuminstallrlwrapreadlinereadline-devel
II.源码包装置
其他Linux刊行版假如源里没有rlwrap和readline的(如SUSE企业版默许没有这两个包),要分离下载这两个源码包编译装置一下。
a.装置readline
  1. #wgetftp://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz#tarzxvfreadline-6.2.tar.gz#cdreadline-6.2/#./configure#make#makeinstall
复制代码


b.装置rlwrap
  1. #wgethttp://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.37.tar.gz#tarzxvfrlwrap-0.37.tar.gz#cdrlwrap-0.37/#./configure#make#makeinstall
复制代码


7.2设置sqlplus的体系别号
#vim/home/oracle/.bash_profile
在尾部添加:
  1. aliassqlplus=rlwrapsqlplusaliasrman=rlwraprman
复制代码


加入oracle用户再从新登录就OK了。如今Linux下的sqlplus用起来就像cmd中一样了。
小知识:CentOS商业化干掉红帽才是出路?
精灵巫婆 该用户已被删除
沙发
发表于 2015-1-17 05:47:19 | 只看该作者
Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。
变相怪杰 该用户已被删除
板凳
发表于 2015-1-26 12:53:54 | 只看该作者
眼看这个学期的Linux课程已经告一段落了,我觉得有必要写一遍心得体会来总结一下这学期对着门课程的学习。
金色的骷髅 该用户已被删除
地板
发表于 2015-2-4 20:56:14 | 只看该作者
学习Linux应具备的。[书籍+网络资源]
兰色精灵 该用户已被删除
5#
发表于 2015-3-1 13:08:06 | 只看该作者
另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。
灵魂腐蚀 该用户已被删除
6#
发表于 2015-3-10 21:28:24 | 只看该作者
学习Linux应具备的。[书籍+网络资源]
爱飞 该用户已被删除
7#
发表于 2015-3-17 16:56:58 | 只看该作者
未来的学习之路将是以指数增加的方式增长的。从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。
小魔女 该用户已被删除
8#
发表于 2015-3-24 19:45:07 | 只看该作者
Linux?最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具,所以Linux操作系统有着广泛的应用空间。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 13:56

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表