vm6.5,redhat5安装oracle11gR2

来源:互联网 发布:小学生题目解答软件 编辑:程序博客网 时间:2024/04/29 22:51

环境:

  1、vm6.5

  2、redhat5

  3、oracle11gR2

 

首先用ROOT用户登录:

1、在安装oracle之前,用命令检查必需的RPM软件包有没有安装 
命令如下: 
#rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio  libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel

如果RPM包安装完全的话会如图所示

 

 

如果未安装完全会显示XXX is not installed,这个时候可以通过挂在RHEL5.4的光盘或镜像,在Server文件夹里寻找相应的RPM包安装。如图:

其实安装操作如下,切换到 RHEL5.4的光盘,然后yum命令进行安装:

#yum install RPM包名

 

注:在安装时,报一个warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 37017186的错误,按道理已经在配置文件里指定不检查KEY,不理这么多,直接绕过,

用#yum install --nogpgcheck RPM包名*   实现RPM包的安装。

例如:#yum install --nogpgcheck numact*

 

2、建立oracle系统用户和安装目录 
创建一个主组oracle和一个副组dba 
#groupadd oinstall 
#groupadd dba
 
创建oracle安装文件夹 
#mkdir -p /oracle 
添加一个oracle用户, 根目录是 /oracle, 主的组是oinstall 副的组是dba 
#useradd -g oinstall -G dba -d /oracle oracle 
拷贝包含环境变量的文件到安装目录下,这个之后会用到 
#cp /etc/skel/.bash_profile /oracle 
#cp /etc/skel/.bashrc /oracle 
#cp /etc/skel/.bash_logout /oracle
 
为oracle用户设置密码 123456 
#passwd oracle 
设置安装目录用户权限 
#chown -R oracle:oinstall /oracle 
检查 nobody 是否存在 
#id nobody 
缺省存在的,会显示nobody的uid、gid和groups,默认都是99。如果不存在可以输入以下命令 
#/usr/sbin/useradd -g nobody 
3、修改内核参数 
#vi /etc/sysctl.conf 
在sysctl.conf这个文件中加入以下内容,加在文件的末尾,打开vi界面,按i,为编辑此文件

(注意,OEL 5 已经为 kernel.shmall 和 kernel.shmmax 定义了值。如果默认值等于或大于要求值,则使用默认值。也可以注销掉已有参数)


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 
 

 

   注:VI保存方式,按ESC键 跳到命令模式,然后输入:w , 此命令为保存文件但不退出vi

 

 4、设置oracle用户的shell limit 
#vi /etc/security/limits.conf 
在limits.conf中加入以下内容,同样放在末尾,如图所示 
oracle           soft    nproc   2047 
oracle           hard    nproc  16384 
oracle           soft    nofile   1024 
oracle           hard    nofile  65536
 

 

增加下面的内容到文件 /etc/pam.d/login 中,使shell limit生效 
#vi /etc/pam.d/login  追加:
session    required     pam_limits.so 


在此,重启一下电脑,使之前配置生效!


5、设置oracle 用户环境变量 
首先切换到oracle用户下 
#su – oracle 
#vi .bash_profile
 
在隐藏的.bash_profile文件中,将原有的环境变量删除,加入以下环境变量,注意自己的根目录位置 ,其中ORACLE_SID为数据库实例名
ORACLE_BASE=/oracle 
ORACLE_HOME=$ORACLE_BASE/oracle 
ORACLE_SID=ORCL

PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin 
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

6、将oracle安装包解压后上传到linux中,准备开始安装 
Oracle 11g Release 2 linux x86(32位)/linux.x64_11gR2(64位) 官方的安装包分两个文件,一个1.2G一个900+M,解压缩后会有一个database文件夹,把这个文件夹拷过去就可以了。复制完成后,改变oracle用户访问安装包的权限 
#chown -R oracle:oinstall /usr/oracle_install/database

 

在这之前,默认redhat5分辨率为800*600,安装oracle时,若为800*600则下一步按钮一直在那闪屏,所以修改其分率为1024*768,在 系统—管理—显示—硬件—显示器类型—配置—选择LCD,改LCD 1024*768 后确定 ,重启系统在系统-首选项-屏幕分辨率1024*768


注销root用户,改用oracle用户登录,来的database文件夹下,开始安装 
#./runinstaller


7、安装过程 
弹出oracle 11g的图形安装界面

 

           

            选择单实例数据库安装

这里会提示要创建一个清单目录,回到命令行下,输入以下命令,否则文件夹不存在会报错。 
创建完文件夹后再点击下一步

#su - root
#mkdir /oraInventory

#cd /
#chown -R oracle:oinstall oraInventory

安装程序会检查物理内存和空间大小,由于虚拟机分的内存很小,所以oracle检查会提示失败,不过我们可以忽略它,在右上角打勾即可(真实的服务器内存非常大,一般不会出现此问题)




安装完毕, 提示执行两个脚本 
./oraInventory/orainstRoot.sh 
./oracle/oracle/root.sh
 
最后点finish,oracle安装完成!


8、开启oracle监听服务 
首先在命令行上输入netca,会有可能出现此问题:

Oracle Net Services 配置:

#

# An unexpected error has been detected by HotSpot Virtual Machine:

#

#  SIGSEGV (0xb) at pc=0xa43ea4d4, pid=4341, tid=3086784720

#

# Java VM: Java HotSpot(TM) Client VM (1.5.0_17-b02 mixed mode)

# Problematic frame:

# C  [libnnz11.so+0x3c4d4]

#

# An error report file with more information is saved as hs_err_pid4341.log

#

# If you would like to submit a bug report, please visit:

#   http://java.sun.com/webapps/bugreport/crash.jsp

#

/u01/oracle/bin/netca: line 178:  4341 已放弃     $JRE $JRE_OPTIONS -classpath $CLASSPATH oracle.net.ca.NetCA $*

错误原因:

安装操作系统是,默认主机名localhost造成错误

修改方法:

#su

#vi /etc/sysconfig/network

编辑为如下内容:
HOSTNAME=linuxhostname

 

#su 

# vi /etc/hosts
编辑为如下内容:

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1        localhost.localdomain localhost linuxhostname

 

输入netca,弹出框:

 

一直默认下一步就可以了,最后点“完成”结束


9、创建oracle数据库 
回到命令行,输入dbca,会弹出以下会话框

    数据库名称和SID(注意要和环境变量中设置的SID一样)

   用户设置统一口令

   

可以设置字符集!!!



注:当前用户为oracle,若创建数据库实例时,有时oracle软件要在/etc/下面创建文件,会报“无法创建/etc/oratab”这证明没有权限,则 打开终端,切换到root用户,然后创建所需的文件,接着在把这个文件的操作权限赋给oracle,如:

$su

#vi /etc/oratab (这个是创建oratab文件,然后按esc,输入:w,就可以保存)

#chown -R oracle:oinstall /etc/oratab (赋权限)


接着在点创建,就可以继续操作了!!!


10、数据库启动和停止命令

启动监听

$ lsnrctl start

 

数据库启动

$ sqlplus /nolog

SQL> conn /as sysdba   //连接数据库 
Connected to an idle instance.   //oracle实例未开启 
SQL> startup   
ORACLE instance started.

Total System Global Area  238530560 bytes 
Fixed Size                  1335724 bytes 
Variable Size             121638484 bytes 
Database Buffers          113246208 bytes 
Redo Buffers                2310144 bytes 
Database mounted. 
Database opened. 
SQL> conn /as sysdba   
Connected. 

 

关闭监听
$ lsnrctl stop

 

数据库停止

$ sqlplus /nolog
SQL> conn /as sysdba   //连接数据库
SQL> shutdown immeidate //关闭数据库


查看监听的状态
$ lsnrctl status

 

 

查看IP地址

$/sbin/ifconfig

 

 

 

 

 

 

 

 

 

 Linux 下Oracle11g 自动随系统启动

安装完毕 Oracle 11g 每次都得手动启动 | 停止数据库(dbstart | dbshut)、监听器(lsnrctl)、控制台(emtcl)。  


设置一下,若手动启动数据库的同时监听器没有启动(即启动数据库时自动启动监听器,停止数据库时停止监听器),则需要修改 dbstart  脚本文件


以oracle用户登录:

oracle安装后目录为/oracle/oracle


1、修改dbstart

$cd /oracle/oracle/bin 

$cp dbstart dbstart_back

$vi dbstart


找到此段话,在最前端

# First argument is used to bring up Oracle Net Listener

ORACLE_HOME_LISTNER=$1       

//需要将此处的 ORACLE_HOME_LISTNER=$1 修改为ORACLE_HOME_LISTNER=$ORACLE_HOME

if [ ! $ORACLE_HOME_LISTNER ] ; then



2、需要修改 dbshut

$cd /oracle/oracle/bin 

$cp dbshut dbshut_back

$vi dbshut

# The  this to bring down Oracle Net Listener

ORACLE_HOME_LISTNER=$1

//需要将此处的 ORACLE_HOME_LISTNER=$1 修改为ORACLE_HOME_LISTNER=$ORACLE_HOME

if [ ! $ORACLE_HOME_LISTNER ] ; then


3、切换到root,转到  /etc/init.d  目录, 使用 vi 命令,新建一个以 oracle 命名的文件,并将以下代码复制至文件


$ su

#cd /etc/init.d

#vi oracle



#!/bin/sh

# chkconfig: 345 61 61

# description: Oracle 11g AutoRun Services

# /etc/init.d/oracle

#

# Run-level Startup script for the Oracle Instance, Listener, and

# Web Interface


export ORACLE_HOME=/oracle/oracle  #oracle安装目录 

export ORACLE_SID=ORCL  #实例

export PATH=$PATH:$ORACLE_HOME/bin


ORA_OWNR="oracle"  #oracle服务启动的用户


# if the executables do not exist -- display error


if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]

then

     echo "Oracle startup: cannot start"

     exit 1

fi


# depending on parameter -- startup, shutdown, restart

# of the instance and listener or usage display


case "$1" in

 start)

     # Oracle listener and instance startup

     su $ORA_OWNR -lc $ORACLE_HOME/bin/dbstart

     echo "Oracle Start Succesful!OK."

     ;;

 stop)

     # Oracle listener and instance shutdown

     su $ORA_OWNR -lc $ORACLE_HOME/bin/dbshut

     echo "Oracle Stop Succesful!OK."

     ;;

 reload|restart)

     $0 stop

     $0 start

     ;;

 *)

     echo $"Usage: `basename $0` {start|stop|reload|reload}"

     exit 1

esac

exit 0



在编辑完成之后,使用 :w  命令保存此文件。 使用:q 退出vi


4、赋予执行权限

# chmod 750 /etc/init.d/oracle

链接:

# ln -s /etc/init.d/oracle /etc/rc1.d/K61oracle

# ln -s /etc/init.d/oracle /etc/rc3.d/S61oracle

执行以下命令:

# /sbin/chkconfig --level 345 oracle on

#/sbin/chkconfig --add oracle  //添加到服务里



注意:


这样的脚本一般不会启动实例,如果想让实例也随脚本一起启动的话,就需要修改文件/etc/oratab 

如果这个文件不存在,就要运行脚本文件产生它。

# vi /etc/oratab


ORCL:/orcale/oracle:N


将N改成Y,实例orcl是自动启动的(标识为Y)

0 0
原创粉丝点击