centos510安装oracle教程及问题分析.docx

上传人:b****7 文档编号:10005343 上传时间:2023-02-07 格式:DOCX 页数:15 大小:34.21KB
下载 相关 举报
centos510安装oracle教程及问题分析.docx_第1页
第1页 / 共15页
centos510安装oracle教程及问题分析.docx_第2页
第2页 / 共15页
centos510安装oracle教程及问题分析.docx_第3页
第3页 / 共15页
centos510安装oracle教程及问题分析.docx_第4页
第4页 / 共15页
centos510安装oracle教程及问题分析.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

centos510安装oracle教程及问题分析.docx

《centos510安装oracle教程及问题分析.docx》由会员分享,可在线阅读,更多相关《centos510安装oracle教程及问题分析.docx(15页珍藏版)》请在冰豆网上搜索。

centos510安装oracle教程及问题分析.docx

centos510安装oracle教程及问题分析

操作系统:

CentOS5.1064位

数据库:

Oracle11GR2(版本号为11.02)

安装操作系统的时候,注意交换分区的大小不得低于2G,主分区最好大点本次分配了10G

1.同步时钟及修改/etc/hosts

yum-yinstallntp

ntpdatetime.nist.gov

echo"**/2***/sbin/ntpdatetime.nist.gov">>/etc/crontab

修改/etc/hosts

将机器名称加入,我这里的是node1,则

2.关闭服务:

iptablesselinuxportmaprpc.statdcupsdavahi-daemonsendmailkillalliptables

chkconfig--level2345iptablesoff

killallportmap

chkconfig--level2345portmapoff

killallavahi-daemon

chkconfig--level2345avahi-daemonoff

killallsendmail

chkconfig--level2345sendmailoff

3.安装oracle11gR2依赖的组件包

yum-yinstallbinutilscompat-libstdc++-33elfutils-libelfelfutils-libelf-develglibcglibc-commonglibc-develgccgcc-c++libaio-devellibaiolibgcclibstdc++libstdc++-develmakesysstatunixODBCunixODBC-develpdkshnumactl-develglibc-headers libaio-devellibaio

/sbin/ldconfig

4.调整内核参数

vi/etc/sysctl.conf

fs.file-max=6815744

kernel.shmall=2097152

kernel.shmmax=536870912

kernel.shmmni=4096

kernel.sem=25032000100128

net.ipv4.ip_local_port_range=900065500

net.core.rmem_default=262144

net.core.rmem_max=4194304

net.core.wmem_default=262144

net.core.wmem_max=1048576

fs.aio-max-nr=1048576

#让内核参数生效

sysctl-p

5.修改limits.conf

vi/etc/security/limits.conf

#oraclesettings

oracle     soft  nproc 2047

oracle     hard  nproc 16384

oracle     soft  nofile 1024

oracle     hard  nofile 65536

6.改/etc/pam.d/login

#添加以下内容:

session  required  /lib64/security/pam_limits.so

session  required  pam_limits.so

注意:

如果使用的是32位的操作系统,则上面要写成

session  required  /lib/security/pam_limits.so

session  required  pam_limits.so

7.修改/etc/profile

vi/etc/profile

#添加以下内容:

if[$USER="oracle"];then

 if[$SHELL="/bin/ksh"];then

   ulimit-p16384

   ulimit-n65536

 else

   ulimit-u16384-n65536

 fi

fi

8.改/etc/csh.login

vi/etc/csh.login

#添加以下内容:

if($USER=="oracle")then

  limitmaxproc16384

  limitdeors65536

endif

9.创建oracle用户

groupaddoinstall

groupadddba

useradd-goinstall-Gdbaoracle

passwdoracle   

mkdir-p/data/oracle

mkdir-p/data/oraInventory

mkdir-p/data/software

chown-Roracle:

oinstall/data/oracle

chown-Roracle:

oinstall/data/software

chown-Roracle:

oinstall/data/oraInventory

10.设置用户环境变量

#su-oracle

$vi.bash_profile 

#添加以下内容:

ORACLE_SID=orcl;exportORACLE_SID

ORACLE_BASE=/data/oracle;exportORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1;exportORACLE_HOME

PATH=$PATH:

$ORACLE_HOME/bin:

$HOME/bin;exportPATH

说明:

ORACLE_BASE下是admin和product

ORACLE_HOME下则是ORACLE的命令、连接库、安装助手、listener等等一系列的东东。

这只是ORACLE自己的定义习惯。

ORACLE_HOME比ORACLE_BASE目录要更深一些。

也就是说:

ORACLE_HOME=$ORACLE_BASE/product/version

ORACLE_BASE是oracle的根目录,ORACLE_HOME是oracle产品的目录。

简单说,你如果装了2个版本的oracle,那么ORACLE_BASE可以是一个,但ORACLE_HOME是2个

全局数据库名用于区别分布式数据库各个不同机器上的实例。

SID用于区别同一台机器上的不同实例,

即一个用于外部区分。

一个用于内部区分。

$source.bash_profile

11.安装oracle

#可以使用winscp上传oracle安装文件到/data/software目录下,并解压

cd/data/software

unziplinux_11gR2_database_1of2.zip

unziplinux_11gR2_database_2of2.zip

xhost+ (这里使用root用户执行,一定要执行以下2步,如果没有执行,将无法启动图形安装界面)

xhost+localhost

su-oralce

cd/data/software/database

$./runInstaller #(到oracle安装文件所在目录执行该命令)

安装过程省略

12.开机启动设置

#自动启动和关闭数据库实例和监听

vi/data/oracle/product/11.2.0/db_1/bin/dbstart

ORACLE_HOME_LISTNER=$1

#修改为:

ORACLE_HOME_LISTNER=$ORACLE_HOME

vi/data/oracle/product/11.2.0/db_1/bin/dbshut

ORACLE_HOME_LISTNER=$1

#修改为:

ORACLE_HOME_LISTNER=$ORACLE_HOME

vi/etc/init.d/oracle

#!

/bin/sh

#chkconfig:

3456161

#description:

Oracle11gAutoRunServices

#/etc/init.d/oracle

#

#Run-levelStartupscriptfortheOracleInstance,Listener,and

#WebInterface

exportORACLE_BASE=/data/oracle

exportORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

exportORACLE_SID=luke

exportPATH=$PATH:

$ORACLE_HOME/bin

ORA_OWNR="oracle"

#iftheexecutablesdonotexist--displayerror

if[!

-f$ORACLE_HOME/bin/dbstart-o!

-d$ORACLE_HOME]

then

  echo"Oraclestartup:

cannotstart"

  exit1

fi

#dependingonparameter--startup,shutdown,restart

#oftheinstanceandlistenerorusagedisplay

case"$1"in

start)

  #Oraclelistenerandinstancestartup

  su$ORA_OWNR-lc$ORACLE_HOME/bin/dbstart

  echo"OracleStartSuccesful!

OK."

  ;;

stop)

  #Oraclelistenerandinstanceshutdown

  su$ORA_OWNR-lc$ORACLE_HOME/bin/dbshut

  echo"OracleStopSuccesful!

OK."

  ;;

reload|restart)

  $0stop

  $0start

  ;;

*)

  echo$"Usage:

`basename$0`{start|stop|reload|reload}"

  exit1

esac

exit0

chmod750/etc/init.d/oracle

chkconfig--level345oracleon

chkconfig--addoracle

#启动oracle

serviceoraclestart

自动启动和关闭EM

vi/etc/init.d/oraemctl

#!

/bin/sh

#chkconfig:

3456161

#description:

Oracle11gAutoRunServices

#/etc/init.d/oraemctl

#

#Run-levelStartupscriptfortheOracleInstance,Listener,and

#WebInterface

exportORACLE_BASE=/data/oracle

exportORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

exportORACLE_SID=luke

exportPATH=$PATH:

$ORACLE_HOME/bin

ORA_OWNR="oracle"

case"$1"in

start)

echo-n$"StartingOracleEMDBConsole:

"

su- $ORA_OWNR -c"$ORACLE_HOME/bin/emctlstartdbconsole"

echo"OK"

;;

stop)

echo-n$"StoppingOracleEMDBConsole:

"

su- $ORA_OWNR -c"$ORACLE_HOME/bin/emctlstopdbconsole"

echo"OK"

;;

*)

echo$"Usage:

$0{start|stop}"

esac

chmod750/etc/init.d/oraemctl

#启动EM

serviceoraemctlstart

问题分析:

linux安装oracle时DISPLAY解决方法

在Linux上安装Oracle时,经常会报以下错误:

无法使用命令/usr/X11R6/bin/xdpyinfo自动检查显示器颜色。

请检查是否设置了DISPLAY变量。

可以使用下述命令解决这个问题:

1.在root下执行

#xdpyinfo若不能正常显示继续下面步骤

2.进入桌面环境运行终端 在root下执行

#xhost+localhost

3.切换到Oracle用户:

#su-oracle

4.在Oracle用户下执行命令:

exportDISPLAY=:

1.0

5.#xhost+

返回信息为:

accesscontroldisabled,clientscanconnectfromanyhost

6.在Oracle下执行xdpyinfo命令,如果能正常显示,说明设置成功

linux下oracle设置环境变量

需要设置ORACLE_HOME和ORACLE_SID两个环境变量,再把ORACLE的bin目录添加到PATH中即可,

通常缺省安装的情况下ORACLE_SID=orcl,ORACLE_HOME=/home/oracle/oracle/product/10......这样的形式,

操作步骤:

1、suoracle并回车切换到oracle用户;

2、cd并回车回到oracle用户目录;

cd/home/oracle

ls-a

3、vi.bash_profile并回车编辑该文件,按I键进入插入状态,在最后加入以下行:

exportORACLE_SID=orcl

exportORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

exportPATH=$ORACLE_HOME/bin:

$PATH

输入完毕后按ESC键退出vi编辑状态,

输入:

wq并回车存盘退出。

 

注销所有oracle用户,再使用oracle登录即可。

安装时若遇到如下错误直接忽略

Errorininvokingtarget'agentnmbnmonmhs'ofmakefileins_emagent.mk'这个错误。

从网上的一些解决方法,我感觉像是ORACLE暂时对RHEL6支持不够造成的。

我直接忽略了,点击继续安装

在linux下出现cannotrestoresegmentprotafterreloc:

Permissiondenied

应用程序连接oracle的库时会出现如下错误:

XXXXX:

:

errorwhileloadingsharedlibraries:

/usr/local/oracle/product/10.2.0/lib/libnnz10.so:

cannotrestoresegmentprotafterreloc:

Permissiondenied

或者:

XXXXX:

:

errorwhileloadingsharedlibraries:

/usr/local/oracle/product/10.2.0/lib/libclntsh.so.10.1:

cannotrestoresegmentprotafterreloc:

Permissiondenied

等错误。

解决办法是用chcon命令把相应文件的属性改一下即可,如:

chcon-ttexrel_shlib_t  /usr/local/oracle/product/10.2.0/lib/libnnz10.so

chcon-ttexrel_shlib_t /usr/local/oracle/product/10.2.0/lib/libclntsh.so.10.1

上诉文件目录参考时要改成自己的。

解决执行Oracle控制脚本时遇到的“cat:

/etc/oratab:

没有那个文件或目录”的问题

打开dbshut 指令查看,发现了引起错误的语句:

:

#

#$Header:

dbshut.sh.pp03-apr-2001.13:

38:

20jboyceExp$dbshut.sh.ppCopyr(c)1991Oracle

#

###################################

#

#usage:

dbshut

#

#ThisscriptisusedtoshutdownORACLEfrom/etc/rc(.local).

#ItshouldONLYbeexecutedaspartofthesystembootprocedure.

#

#####################################

ORATAB=/etc/oratab

查看相应的文件

#find /etc/oratab

find:

/etc/oratab:

 没有那个文件或目录

这个文件居然不存在,确定是由于该文件的丢失引起的原因。

通过如下指令查看该文件是否在系统其它地方

#find/-name“oratab”

 结果居然没找到。

 估计是当初安装Oracle的遗留问题。

解决方案

 由于该文件已经丢失,所以到另外一台安装了同样版本的Oracle的服务器上查询相应的文件,果然找到了相应的文件,内容如下:

#

#ThisfileisusedbyORACLEutilities. Itiscreatedbyroot.sh

#andupdatedbytheDatabaseConfigurationAssistantwhencreating

#adatabase.

#Acolon,':

',isusedasthefieldterminator. Anewlineterminates

#theentry. Linesbeginningwithapoundsign,'#',arecomments.

#

#Entriesareoftheform:

#   $ORACLE_SID:

$ORACLE_HOME:

:

#

#Thefirstandsecondfieldsarethesystemidentifierandhome

#directoryofthedatabaserespectively. Thethirdfiledindicates

#tothedbstartutilitythatthedatabaseshould,"Y",orshouldnot,

#"N",bebroughtupatsystemboottime.

#

#Multipleentrieswiththesame$ORACLE_SIDarenotallowed.

#

#

#*:

/opt/ora9/product/9.2:

N

#*:

/opt/ora9/product/9.2:

N

*:

/opt/ora9/product/9.2:

N

oracle:

/opt/ora9/product/9.2:

N

demo:

/opt/ora9/product/9.2:

N

拷贝完以后一定记得要修改相应的内容。

P.S.

对于oratab文件的说明:

1.只在Linux环境中存在

2.设置格式:

:

:

示例:

oracle:

/opt/ora9/product/9.2:

N

3.可以为不同的数据库设置相应的选项

4.如果想用$ORACLE_HOME/bin/dbstart脚本来启动数据库,则需要将/etc/oratab文件中相应的数据库的项置为Y,

简单的说即dbstart脚本根据oratab文件中的配置决定启动哪几个数据库。

5.如果不使用dbstart脚本启动数据库,而是用自己的脚本来启动,那么根本不用关心oratab文件。

EnvironmentvariableORACLE_UNQNAMEnotdefined.PleasesetORACLE_UNQNAMEtodatabaseuniquename

解决方法:

    在启动的时候先设置一下oracle_unqname

                   setoracle_unqname=$ORACLE_SID

 

如果还是失败,在环境变量中添加:

    vi~/.bash_profile

 

    在最后添加:

export  ORACLE_UNQNAME=$ORACLE_SID   

 

        启动dbconsole

           emctl  start dbconsole

  

如果还出现上述的错误:

删除dbconsole重新配置

 

emca-deconfigdbconsoledb-reposdrop

 

如果删除失败,进入数据库删除dbconsole以前的用户,并且修改DBSNMP密码

 

     sql>alteruserdbsnmpidentifiedbyorcl;

 

   删除早期DBCONSOLE创建的用户:

 

sql>droproleMGMT_USER;

sql>dropuserMGMT_VIEWcascade;

sql>dropusersysmancascade;

 

 删除早期DBCONSOLE创建的对象:

sql>dropPUBLICSYNONYMMGMT_TARGET_BLACKOUTS;

sql>droppublicsynonymSETEMVIEWUSERCONTEXT;

 重新创建DBCONSOLE:

(如果是在windows下,要先到注册表删除DBCONSOLE的服务,重启电脑)

 

emca-configdbcontroldb-reposcreate

根据提示,先输入SID,再输入Y继续;

输入端口1521,输入SYS密码,输入DBSNMP

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1