当前位置:首页 » 编程软件 » redhatoracle启动脚本

redhatoracle启动脚本

发布时间: 2022-08-02 14:08:45

A. linux下怎么启动oracle数据库,命令是什么

通过SSH或者SecureCRTPortable等可以直接连接Linux操作系统的软件,连接到Linux系统。这里我使用的是SecureCRTPortable。

B. linux 下启动Oracle11g 怎样启动

Linux 下启动oracle步骤
1.进入到sqlplus启动实例
[oracle@redhat ~]$ su - oracle --“切换到oracle用户”
2.[oracle@redhat ~]$ lsnrctl start --“打开监听”
3.[oracle@redhat ~]$ sqlplus /nolog --“进入到sqlplus”
4.SQL> conn /as sysdba --“连接到sysdba”
5.SQL> startup --“启动数据库实例”
6.SQL> shutdown immediate --“关闭数据库实例”
7.[oracle@redhat ~]$ lsnrctl stop --“关闭监听”

C. redhat下怎么安装oracle11g

这里介绍redhat下安装oracle的准备内容和步骤。

  • 安装redhat操作系统,配置yum本地源,本地yum源的配置文件为/etc/yum.conf下面是一个/etc/yum.conf样例文件的内容:

    [main]

    cachedir=/home/installed

    keepcache=1

    debuglevel=2

    logfile=/var/log/yum.log

    exactarch=1

    obsoletes=1

    gpgcheck=1

    plugins=1

    installonly_limit=3

    这里可将

    cachedir=/home/installed

    #cachedir=/home/installed这是自己定义的yum安装缓存目录

    #keepcache=1表示安装后,不删除包

    #keepcache=0表示安装后,不保留包

    安装“X Window System”“Desk”“gnome”图形界面,安装必须的rpm包。

  • 2

    运行脚本,检查安装oracle需要的包是否都已经安装。如果系统已经配置了本地yum源,可使用最后输出的yum脚本直接安装需要补充的安装包。

    ####下面的代码没有问题,能执行,想法很好

    ####如果没有安装则使用awk 中的yum命令安装

    rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE}-%{ARCH} " binutils

    compat-libstdc++-33 compat-db control-center elfutils-libelf elfutils-libelf-devel gcc

    gcc-c++ glibc glibc-common glibc-devel lio lio-devel libgcc libstdc++

    libstdc++-devel make sysstat unixODBC glibc-headers unixODBC-devel

    oracleasm oracleasmlib oracleasm-support

    pdksh sysstat xscreensaver | grep not | grep -v grep | awk '{print "yum install -y " $2 }'

    ####上面的程序可以改善成以下内容,这样方便查看rpm包关键字

    rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE}-%{ARCH} "

    binutils

    compat-libstdc++-33

    compat-db

    control-center

    elfutils-libelf

    elfutils-libelf-devel

    gcc

    gcc-c++

    glibc

    glibc-common

    glibc-devel

    lio

    lio-devel

    libgcc

    libstdc++

    libstdc++-devel

    make

    sysstat

    unixODBC

    glibc-headers

    unixODBC-devel

    oracleasm

    oracleasmlib

    oracleasm-support

    pdksh

    sysstat

    xscreensaver

    | grep not | grep -v grep | awk '{print "yum install -y " $2 }'

  • 3

    编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件,配置IP地址:

    下面是一个样例的/etc/syscofig/network-scripts/ifcfg-eth0文件内容:

    DEVICE=eth0

    BOOTPROTO=none

    NM_CONTROLLED=yes

    ONBOOT=yes

    TYPE=Ethernet

    UUID="a4f7ad2e-219c-4eb7-bb60-ab83c3b9d651"

    IPADDR=192.168.100.18

    PREFIX=24

    GATEWAY=192.168.100.1

    DEFROUTE=yes

    IPV4_FAILURE_FATAL=yes

    IPV6INIT=no

    NAME="System eth0"

    DNS1=192.168.100.1

    DOMAIN=192.168.100.1

    HWADDR=00:0c:29:14:ba:74

    USERCTL=no

  • 4

    修改/etc/sysconfig/network文件,将里面hostname改成机器名

    后面是一个/etc/sysconfig/network文件内容的样例:

    1. 修改/etc/sysconfig/network 文件

    [root@localhost~]# cat /etc/sysconfig/network

    NETWORKING=yes

    NETWORKING_IPV6=no

    HOSTNAME=dave

    ###配置网络映射/etc/sysconfig/network文件

    我的network文件内容

    ####

    #vi /etc/sysconfig/network

    NETWORKING=yes

    HOSTNAME=guolong

    #add the HOSTNAME lines ONLY

    #the after step is vi /etc/hosts to add the IP and HOSTNAME

    ####

  • 5

    修改/etc/hosts文件,将IP地址和hostname添加到这个文件

    我的hosts文件内容

    # vi /etc/hosts

    ######

    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

    #add the IP address and the HOSTNAME ONLY

    #the next step is to run hostname in the command line

    122.122.100.10 guolong

    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

    ######

  • 6

    创建oracle用户所属的组oinstall 所属组dba 用户oracle,修改oracle用户密码,设置权限:

    添加oracle用户和oinstall,dba组

    [root@guolong oradisk]# /usr/sbin/groupadd oinstall

    [root@guolong oradisk]# /usr/sbin/groupadd dba

    [root@guolong oradisk]# /usr/sbin/useradd -g oinstall -G dba oracle

    [root@guolong oradisk]# passwd oracle

    [root@guolong network-scripts]# chown -R oracle:oinstall /opt/app

    [root@guolong network-scripts]# chmod -R 775 /opt/app

    [root@guolong network-scripts]#

  • 7

    配置Linux的内核参数,也就是修改/etc/sysconfig/sysctl.conf文件,并使用/etc/sysctl -p使配置生效。

    可运行下面的命令查询内核参数值。

    /sbin/sysctl -a | grep sem &&

    /sbin/sysctl -a | grep shm &&

    /sbin/sysctl -a | grep file-max &&

    /sbin/sysctl -a | grep ip_local_port_range &&

    /sbin/sysctl -a | grep rmem_default &&

    /sbin/sysctl -a | grep rmem_max &&

    /sbin/sysctl -a | grep wmem_default &&

    /sbin/sysctl -a | grep wmem_max &&

    /sbin/sysctl -a | grep aio-max-nr

    内核参数不能低于下面的参考值:

    ####参考值

    fs.aio-max-nr = 1048576

    fs.file-max = 6815744

    kernel.shmall = 2097152

    #kernel.shmmax = Minimum 536870912

    kernel.shmmax = 68719476736

    kernel.shmmni = 4096

    kernel.sem = 250 32000 100 128

    #net.ipv4.ip_local_port_range = Minimum 32768 Maxmum65500

    net.ipv4.ip_local_port_range = 32768 65500

    net.core.rmem_default = 262144

    net.core.rmem_max = 4194304

    net.core.wmem_default = 262144

    net.core.wmem_max = 1048576

    下面是一个样例sysctl.conf文件的内容:

    ####用oracle用户修改并使得/etc/security/limits.conf配置文件生效

    使用一个oracle安装者进行下面的配置,这里推荐使用oracle用户进行下面的配置

    #编辑 /etc/sysctl.conf

    /etc/sysctl.conf文件内容:

    #vim /etc/sysctl.conf

    io-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 = 1048576

    #使sysctl.conf配置文件生效

    运行下面的命令/etc/sysctl -p

    如果要检查配置是否正确,可使用下面的命令

    #检查sysctl.conf配置文件是否正确

    #/sbin/sysctl -a

    #运行结果如下

    [root@guolong home]# /sbin/sysctl -p

    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 = 1048576

    [root@guolong home]#

  • 8

    修改oracle用户的资源限制文件,

    编辑/etc/security/limits.conf

    内容如下

    以下是一个limits.conf文件的内容

    样例/etc/security/limits.conf内容

    #######

    oracle soft nofile 1024

    oracle hard nofile 65536

    oracle soft nproc 2047

    oracle hard nproc 16384

    oracle soft stack 10240

    oracle hard stack 32768

    #######

  • 9

    修改oracle用户的~/.bash_profile文件,运行 source .bash_profile使配置生效。

    内容如下:

  • 10

    运行xhost命令

    [root@guolong network-scripts]# xhost 122.122.100.10

    122.122.100.10 being added to access control list

  • 11

    配置本地显示

    #配置本地显示

    echo $DISPLAY

    [root@guolong network-scripts]# echo $DISPLAY

    :0.0

    [root@guolong network-scripts]#

  • 12

    设置oracle环境变量,配置DISPLAY 和xhost,如有必要修改/etc/init.d文件,将id:3改为id:5默认使用图形界面启动。

  • 13

    mount oracle安装盘,如果是用光驱或者虚拟光驱,

    mkdir /home/oradisk

    mkdir /mnt/cdrom

    mount -t iso9660 -o loop /dev/sr0 /mnt/cdrom

    cp -Rv /mnt/cdrom/* /home/oradisk

    然后cd /home/oradisk

    命令行运行 ./runInstaller即可

  • 14

    注销系统,或者重启系统,悬着用户oracle,使用oracle用户登录系统。

    ##开始安装oracle

    $ /mount_point/db/runInstaller

D. linux怎么重启oracle数据库

我用的是Redhat Linux,用下面的步骤来启动oracle数据库。
首先使用oracle用户登录Linux,然后在shell命令行中执行下面的命令:
第一步:打开Oracle监听
$ lsnrctl start
第二步:进入sqlplus
$ sqlplus /nolog
SQL>
第三步:使用sysdab角色登录sqlplus
SQL> conn /as sysdba
第四步:启动数据库
SQL> startup
经过上面的四个步骤,oracle数据库就可以启动了。

E. 如何启动oracle

1、打开命令行窗口界面,可以同时按住“ctrl+R”键,在弹出来的运行窗口中输入cmd。2、启动oracle服务,在命令行窗口中输入“netstartoracleserviceXXXX”后面的XXXX实际是需要根据您自己的数据库实例名进行替换。如果您不知道,可以看下“计算机管理”界面下的服务中,能不能找到服务名类似的服务。提示“服务已经启动成功”就说明服务启动起来了。3、启动监听程序,在命令行窗口输入lsnrctlstart,等到提示“命令执行成功”就可以了。4、接下来就开始加载数据库实例了。在命令行窗口输入“sqlplus/assysdba”登录到一个空闲的例程。5、登录完成后,输入“startup”。这个过程可能有点慢,直到出现“数据库已经打开”则表示实例启动成功了。6、测试一下把,随便连接一个数据库用户,如果提示“连接成功”则说明数据库服务现在可以正常使用了。注意事项如果操作过程中提示“监听已经启动”,“服务已经运行”等,则可以跳过相应步骤,继续执行。

F. 如何在redhat Linux中安装脚本程序

所谓标准系统服务,应该是满足以下几条标准的后台运行程序。
1) 用 chkconfig --add 来安装,用 chkconfig --list 检查状态。
2) 用 ntsysv 来定制某个服务,是否伴随机器的启动而自动启动。
3) 在图形模式下,可以用 serviceconf 来启动、停止、重启服务。
4) 开机象系统服务那样显示 starting,关机显示 shutting down。

三、下面是具体的 dbora 脚本,在 Redhat 7.3 上通过,本人已经
验证了几十次,保证能运行。如果在您的系统不能运行,请告知。

备注:启动 lsnrctl 的时候不用 su- 而使用 su,否则失败,并且
要求使用 oracle 用户本身的 BASH_ENV。脚本开头的几个 ORA_xxx
参数都要依照实际情况写,否则会说找不到 Oracle 程序或者 pid。
DOS 格式方便发文,拷下来后请大家用 UltraEdit 转为 Unix 格式。

------------------------------------------------------------------------

#!/bin/bash

#

# /etc/rc.d/init.d/dbora

#

# Starts the dbora daemon

#

# chkconfig: 345 94 6

# description: Runs commands scheled by the at command at the time \

# specified when at was run, and runs batch commands when the load \

# average is low enough.

# processname: dbora

#

# right: Written by Wwashington AT smth bbs, free to distribute. \

# You must keep everything in this file, including the right \

# announcement. Study demo: atd & postgresql in /etc/rc.d/init.d

# Source function library.

INITD=/etc/rc.d/init.d

. $INITD/functions

# Source system profile.

if [ -r /etc/profile ] ; then . /etc/profile ; fi

ORA_SID=udb01

ORA_USER=oracle

ORA_BASE=/udb01/app/oracle

ORA_HOME=/udb01/app/oracle/proct/8.1.7

BASH_ENV=$ORA_BASE/.bashrc

test -x $ORA_HOME/bin/dbstart || exit 0

RETVAL=0

GREP_UNIX=`uname | awk '{if($1 ~ /(^SunOS|^HP-UX)/) print $1}'`

if ! [ "$GREP_UNIX" = "" ]

then

GREP_FLAG=ef

else

GREP_FLAG=efw

fi

RUNLEVEL=`runlevel | awk '{ print $2 }'`

# RUNLEVEL=6

case "$RUNLEVEL" in

3)

SH_FLAG=1

;;

4)

SH_FLAG=1

;;

5)

SH_FLAG=1

;;

*)

SH_FLAG=0

;;

esac

# Below is a debug info to display Show Flag

# echo RUNLEVEL=$RUNLEVEL , SH_FLAG=$SH_FLAG

#

# See how we were called.

#

prog="dbora"

start() {

# Check flag, if dbora already started, quit dbora

if [ ! -f /var/lock/subsys/dbora ]; then

echo -n $"Starting $prog: "

# This is the background exec which can work under

# both CLI (dbora) and GUI mode (serviceconf). We

# must forward stderr to a file or null, otherwise

# dbora won't start with a return code in GUI mode

echo ""

echo "[oralog] ----->;"

echo "Starting Oracle8i: "

echo "-------------------------------------------------------------------------"

# Please note that forward stderr(2) to /dev/null or &- means close stderr

su - $ORA_USER -c "$ORA_HOME/bin/dbstart >; /tmp/ORA-dbuplog" 2>;/dev/null

if [ $SH_FLAG -eq 1 ]; then

cat /tmp/ORA-dbuplog

fi

echo

echo "Starting TNS Listener:"

echo "-------------------------------------------------------------------------"

su $ORA_USER -c "$ORA_HOME/bin/lsnrctl start >; /tmp/ORA-lsnrlog" 2>;&-

if [ $SH_FLAG -eq 1 ]; then

cat /tmp/ORA-lsnrlog

fi

pid=`pidof -s ora_pmon_$ORA_SID`

if [ "$pid" == "" ]; then

RETVAL=1;

else

RETVAL=0;

fi

[ $RETVAL -eq 0 ] && touch /var/lock/subsys/dbora

echo

fi

return $RETVAL

}

stop() {

echo -n $"Stopping $prog: "

# In order to use database local cmd to keep safe,

# we use dbshut instead of simply kill ora_ proc.

# When we reboot (runlevel = 0 or 6), no verbose.

# Force remove /var/lock/subsys/dbora to activate

if [ $SH_FLAG -eq 1 ]; then

echo ""

echo "[oralog] ----->;"

echo "Shutting down TNS Listener:"

echo "-------------------------------------------------------------------------"

su $ORA_USER -c "$ORA_HOME/bin/lsnrctl stop"

else

su $ORA_USER -c "$ORA_HOME/bin/lsnrctl stop >; /dev/null"

fi

if [ $SH_FLAG -eq 1 ]; then

echo

fi

if [ $SH_FLAG -eq 1 ]; then

echo "Shutting down Oracle8i: "

echo "-------------------------------------------------------------------------"

su - $ORA_USER -c "$ORA_HOME/bin/dbshut"

else

su - $ORA_USER -c "$ORA_HOME/bin/dbshut >; /dev/null"

fi

pid=`ps -$GREP_FLAG | grep -e ora_ -e lsnr | grep -v grep | awk '{ print $2 }'`

# Show pids when shutdown failed, to see debug info

# echo $pid

if [ $pid ]; then

failure ""

else

success ""

fi

echo ""

rm -f /var/lock/subsys/dbora

return $RETVAL

}

restart() {

echo "Restarting Oracle8i and Listener: "

echo "========================================================================="

stop

start

}

reload() {

restart

}

status_ol() {

echo "Checking Oracle8i and Listener: "

echo "========================================================================="

su - $ORA_USER -c "$ORA_HOME/bin/dbstat"

}

case "$1" in

start)

start

;;

stop)

stop

;;

reload|restart)

restart

;;

condrestart)

if [ -f /var/lock/subsys/dbora ]; then

restart

fi

;;

status)

status_ol

;;

*)

echo $"Usage: $0 {start|stop|restart|condrestart|status}"

exit 1

esac

exit $?

exit $RETVAL

------------------------------------------------------------------------

caiwolf 回复于:2004-10-17 00:47:46

顶一个.:)

wwashington 回复于:2004-10-17 11:32:42

刚才的文件是 /etc/rc.d/init.d/dbora,现在补充一个 dbstat,
bash-2.05a# cat $ORACLE_HOME/bin/dbstat

GREP_UNIX=`uname | awk '{if($1 ~ /(^SunOS|^HP-UX)/) print $1}'`

if ! [ "$GREP_UNIX" = "" ]
then
GREP_FILE=/usr/xpg4/bin/grep
GREP_FLAG=ef
else
GREP_FILE=/bin/grep
GREP_FLAG=efw
fi
echo
echo "# ps -$GREP_FLAG | $GREP_FILE -e ora_ -e lsnr| grep -v grep"
echo
ps -$GREP_FLAG | $GREP_FILE -e ora_ -e lsnr| grep -v grep
echo

bash-2.05a# cat $ORACLE_BASE/.bashrc

# User specific environment and startup programs

ORA_FLAG=`echo $PATH | grep -e ^$ORACLE_BASE`
if [ "$ORA_FLAG" = "" ]; then
PATH=$ORACLE_HOME/bin:$PATH
export PATH
fi

java_HOME=/usr/java/1.18
LD_ASSUME_KERNEL=2.2.5
export JAVA_HOME LD_ASSUME_KERNEL

. /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh

G. 如何在LINUX下启动ORACLE

手动启动:
用 oracle用户登录(或su - oracle)
lsnrctl start
sqlplus / as sysdba
startup
exit

自动启动,要编写一个启动脚本,用root用户拷到/etc/init.d下,取名叫oracle
然后, chkconfig oracle on,即可加入服务列表
/etc/init.d/oracle start #启动
/etc/init.d/oracle stop #停止
脚本的示例(里面的变量要按实际情况修改):
#!/bin/bash
#
# chkconfig: 345 99 01
# description: This is a program that is responsible for taking care of
# configuring the Oracle Database 11g Stardard/Enterprise Edition and its associated
# services.
#

# Source fuction library
if [ -f /lib/lsb/init-functions ]
then
. /lib/lsb/init-functions
elif [ -f /etc/init.d/functions ]
then
. /etc/init.d/functions
fi

# Set path if path not set (if called from /etc/rc)
case $PATH in
"") PATH=/bin:/usr/bin:/sbin:/etc
export PATH ;;
esac

# Save LD_LIBRARY_PATH
SAVE_LLP=$LD_LIBRARY_PATH

RETVAL=0

ORACLE_OWNER=oracle
ORACLE_OWNER_HOME=/opt/oracle
ORACLE_BASE=$ORACLE_OWNER_HOME/app/oracle
ORACLE_HOME=$ORACLE_BASE/proct/11.2.0/dbhome_1
ORACLE_SID=orcl
ORACLE_UNQNAME=$ORACLE_SID
LSNR=$ORACLE_HOME/bin/lsnrctl
SQLPLUS=$ORACLE_HOME/bin/sqlplus
STARTDB_SQL=$(mktemp /tmp/start.XXXXXX)
echo -e "startup;\nquit;\n" > $STRTDB_SQL
STOPDB_SQL=$(mktemp /tmp/stop.XXXXXX)
echo -e "shutdown immediate;\nquit;\n" > $STOPDB_SQL
SU=/bin/su
export ORACLE_HOME
export ORACLE_SID
export PATH=$ORACLE_HOME/bin:$PATH
LOG="$ORACLE_HOME_LISTNER/listener.log"

export LC_ALL=C

if [ $(id -u) != "0" ]
then
echo "You must be root to run the configure script. Login as root and then run the
configure script."
exit 1
fi

if [ -f /etc/redhat-release ]
then
. /etc/init.d/functions

init_status()
{
return 0
}
exit_status()
{
exit $?
}
success_status()
{
success
echo
}
failure_status()
{
failure $?
echo
}

elif [ -f /etc/SuSE-release ]
then
. /etc/rc.status

init_status()
{
rc_reset
}
success_status()
{
echo "OK"
return 0
}
failure_status()
{
echo "Failed"
return 1
}
exit_status()
{
exit $?
}

else
if [ -d /etc/default ]
then
CONFIGURATION="/etc/default/$CONFIG_NAME"
fi

init_status()
{
return 0
}

success_status()
{
echo "OK"
return 0
}

failure_status()
{
echo "Failed"
return 0
}

exit_status()
{
exit $?
}
fi

init_status

start() {

status=`ps -ef | grep tns | grep oracle`
if [ "$status" == "" ]
then
if [ -f $ORACLE_HOME/bin/tnslsnr ]
then
echo "Starting Oracle Net Listener."
$SU -s /bin/bash $ORACLE_OWNER -c "$LSNR start" # > /dev/null 2>&1
fi
fi
echo "Starting Oracle Database 11g Instance."
$SU -s /bin/bash $ORACLE_OWNER -c "$SQLPLUS -s /nolog @${STARTDB_SQL}" # > /dev/null 2>&1
RETVAL=$?
if [ $RETVAL -eq 0 ]
then
echo
else
echo Failed to start Oracle Net Listener using $ORACLE_HOME/bin/tnslsnr\
and Oracle Database using $ORACLE_HOME/bin/sqlplus.
RETVAL=1
return $RETVAL
fi

}

startconsole() {

$SU -s /bin/bash $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole &" # > /dev/null 2>&1
RETVAL=$?
return $RETVAL
}

stop() {

# Stop Oracle 11g Database and Listener
$SU -s /bin/bash $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole &" # > /dev/null 2>&1

echo Shutting down Oracle Database 11g Instance.
$SU -s /bin/bash $ORACLE_OWNER -c "$SQLPLUS -s /nolog @${STOPDB_SQL}" # > /dev/null 2>&1
echo Stopping Oracle Net Listener.
$SU -s /bin/bash $ORACLE_OWNER -c "$LSNR stop" # > /dev/null 2>&1
RETVAL=$?
echo
if [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$LSNR
then
return $RETVAL
fi
}

stopconsole() {
# Stop Oracle 11g Database and Listener
$SU -s /bin/bash $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole &" # > /dev/null 2>&1
RETVAL=$?
return $RETVAL
}

# See how we were called
case "$1" in
start)
start
;;
startconsole)
startconsole
;;
stop)
stop
;;
stopconsole)
stopconsole
;;
restart|reload|force-reload)
stop
start
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|force-reload}"
exit 1
esac

H. 怎么在linux下安装oracle数据库

由于Oracle自身比较复杂,在Linux环境下安装要涉及很多方面的因素。本文分两个方面介绍在Linux RedHat 6.0环境下Oracle 8.0.5的安装。
一、调整Linux核心与环境
在安装Oracle之前,应该先对RedHat 6.0的Linux内核与环境进行调整,要做以下工作:
1、在完成RedHat 6.0 Linux的缺省安装后,需要安装以下软件包。
kernel -source -2.2.5 -15.1386.rpm
Linux 2.2.5内核源码,主要用于修改核心参数后重生成内核。
tcl -8.0.4 -29.1386.rpm
该软件包是安装Oracle Intelligent Agent包所必需的。
Compat -binutils -5.2-2.9.0.23.1.1386.rpm
Compat -glibc -5.2-2.0.7.2.1386.rpm
Compat -egcs -5.2 -1.0.3a.1.1381.rpm
Compat -egcs -C++ -5.2 -1/0/3a.1.1386.rpm
Compat -libs -5.2 -1.1386.rpm
2、调整Linux核心参数
根据Oracle 8.0.5对Linux核心内存参数的要求,可对Linux核心参数进行调整。编辑修改/usr/src/linux/include/asm/shmparam.h文件,修改SHMMAX选项。Oracle推荐使用4294967295,这意味着系统的共享内存达到4G,这是不合适的。一般,SHMMAX的设置可略大于本机内存配置。
事实上,缺省安装的RedHat 6.0核心运行Oracle 8.0.5是没有问题的,一般情况下可不对这些参数作出调整。
如确需调整,在完成修改后,要按文档要求重生成核心,并用lilo命令指定用新的核心进行引导。
3、增加用户,创建安装目录
Oracle安装与运行需要创建一个属于dba组的Oracle用户,同时要创建一个属主为Oracle用户的安装点目录,例如/u0/oracle,并指定该目录为Oracle用户的缺省主目录。
为了设置Oracle用户的运行环境,在Oracle用户的主目录下要建立一个脚本文件,用于在以Oracle用户登录进自动设置环境变量。该脚本文件的命名与用户所使用的shell有关(在etc/passwd文件中定义)。如采用bash,则脚本文件是.bash_profile;如采用sh,则脚本文件名为.profile。以bash为例,在脚本文件.bash_profile中输入以下内容:
#ORACLE_HOME指定Oracle的安装目录
ORACLE_HOME=/u0/oracle; export ORACLE_HOME
#LD_LIBRARY_PATH指定Oracle的共享库目录
LD_LIBRARY_PATH=$ORACLE_HOME /lib;export LD_LIBRARY_PATH
ORACLE_BASE=$ORACLE_HOME; export ORACLE_BASE
#ORACLE_SID指定Oracle数据库实例名,Oracle建议小于或等于4个字符
ORACLE_SID=BROS;export ORACLE_SID
#ORACLE_TERM Oracle用户的终端类型
ORACLE_TERM=ansi; export ORACLE_TERM
PATH=$PATH: $ORACLE_HOME /bin; export PATH
#TMPDIR指定临时目录,Oracle要求至少20M的空间
TMPDIR=/var/tmp;export TMPDIR
umask 022
退出登录后,再以Oracle用户登录,测试环境变量是否符合要求。
二、安装Oracle
Oracle的安装可采用光盘或指定安装路径的方式。
对用Oracle for linux光盘来安装的,应执行以下命令:
mount -t iso9660 /dev/cdrom /home/Oracle
安装光盘介质。正常情况下,CDROM应安装在/mnt/cdrom目录下。
对指定原始安装路径安装的,应事先将压缩档案文件805ship.tgz解压缩到一个临时目录,如/home/Oracle,使用命令:
gunzip - c 805ship.tgz| tar xvf -
假设使用指定原始安装路径/home/Oracle,在该目录下执行:
cd orainst
sh oratab.sh
oratab.sh命令的主要目的是创建/etc/oratab。
由于RedHat 6.0使用的是glibc 2.0,因此在RedHat 6.0环境下安装Oracle 8.0.5需打补丁。方法是:卸载位于ftp.Oracle.com站点的/pub/www/otn/linux/glibcpatch.tgz文件,在完成Oracle基本系统安装后,对$ORACLE_HOME/bin目录下的执行程序进行修正。
做完上述工作后,即可以开始Oracle基本系统的安装。
1、进入/home/Oracle目录;
2、执行./orainst /c;
3、选择Custom安装。
根据提示进行以下选择:
Install,Upgrade or De -instal software
Install new proct -DO NOTCREAT DB Objects。这一步非常重要,由于安装包中的执行程序与blibc2.0不兼容,因此,在打补丁前,无法启动Oracle引擎来创建数据库对象。
按照上述步骤招待完退出后,系统应提示:
Result:Success
4、对Oracle执行程序进行glibc修正。步骤如下:
* 建立$ORACLE_HOME/orapatch目录;
* 将glibcpatch.tgz拷贝至主目录;
* 执行tar -xvzf glibcpatch.tgz;
* 执行sh glibcpatch.sh。
完成 补丁程序安装后,要重新运行Oracle的安装程序,步骤如下:
* cd orainst;
* 执行orainst /c;
* 进行custom安装。
根据提示进行以下选择:
Create/upgrade Database objects
Create Database objicts
Oracle 8 Standard RDBMS 8.0.5.0.0
Create proct DB Objicts
Filisystem -bases Database
直至提示:Rusult:Success
5、执行后安装处理
* 以Oracle用户登录;
* 执行su -p root,输入root用户密码;
* cd orainst;
* 执行sh root.sh;
* 编辑修改 /etc/oratab文件。
找到Oracle -SID指示行,如:
$BROS: /u0/Oracle:N
修改为:
$BROS: /u0/Oracle:Y
以允许Oracle服务器自启动。
*修改TNS相关的文件权限:
chown oracle.dba $ORACLE_HOME/bin/tnslsnr
chmod 750 $ORACLE_HOME/bin/tnslsnr
chown oracle.dba $ORACE_HOME/network/log
chmod 775 $ORACLE_HOME/network/log
chown root.dba $ORACLE_HOME/network/log/listener.log
chmod 664 $ORACLE_HOME/network/log/listener.log
至此,安装基本完成。

I. 怎么在linux中操作oracle数据库

我用的是redhat
linux,用下面的步骤来启动oracle数据库。
首先使用oracle用户登录linux,然后在shell命令行中执行下面的命令:
第一步:打开oracle监听
$
lsnrctl
start
第二步:进入sqlplus
$
sqlplus
/nolog
sql>
第三步:使用sysdab角色登录sqlplus
sql>
conn
/as
sysdba
第四步:启动数据库
sql>
startup
经过上面的四个步骤,oracle数据库就可以启动了。

J. oracle 10g 数据库集群启停脚本

/etc/init.d/oracle #!/bin/sh
#
# oraShell -- user start|stop script for oracle
#
LOG_EMERG=0 # system is unusable
LOG_ALERT=1 # action must be taken immediately
LOG_CRIT=2 # critical conditions
LOG_ERR=3 # error conditions
LOG_WARNING=4 # warning conditions
LOG_NOTICE=5 # normal but significant condition
LOG_INFO=6 # informational
LOG_DEBUG=7 # debug-level messages
script_name=`basename $0`
clulog()
{
log_level=$1
log_info=$2
/opt/cluster/bin/clulog -p $$ -n $script_name -s $log_level "$log_info"
}
case $1 in
start)
# start listener
su - oracle -c "lsnrctl start"
retval=$?
if [ $retval -eq 0 ]; then
clulog $LOG_INFO "oraShell: lsnrctl start succeeded."
else
clulog $LOG_ERR "oraShell: lsnrctl start failed, ret=$retval."
exit 1
fi
# start oracle
su - oracle -c "sqlplus /nolog" <<EOF
connect / as sysdba
startup
quit
EOF
ps -wwwef | grep ora_pmon | grep -v grep >/dev/null 2>&1
retval=$?
if [ $retval -eq 0 ]; then
clulog $LOG_INFO "oraShell: oracle database start succeeded."
else
clulog $LOG_ERR "oraShell: oracle database start failed."
exit 1
fi
;;
stop)
# stop listener
su - oracle -c "lsnrctl stop"
retval=$?
if [ $retval -eq 0 ]; then
clulog $LOG_INFO "oraShell: lsnrctl stop succeeded."
else
clulog $LOG_ERR "oraShell: lsnrctl stop failed, ret=$retval."
exit 1
fi
# stop oracle
su - oracle -c "sqlplus /nolog" <<EOF
connect / as sysdba
shutdown immediate
quit
EOF
ps -wwwef | grep ora_pmon | grep -v grep >/dev/null 2>&1
retval=$?
if [ $retval -ne 0 ]; then
clulog $LOG_INFO "oraShell: oracle database stop succeeded."
else
clulog $LOG_ERR "oraShell: oracle database stop failed."
exit 1
fi
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
# succeed
exit 0

热点内容
京东登录密码如何清除 发布:2025-02-10 09:07:41 浏览:689
dns服务器地址192 发布:2025-02-10 09:07:39 浏览:661
redis缓存实现 发布:2025-02-10 09:01:26 浏览:710
后台登录脚本 发布:2025-02-10 08:56:11 浏览:658
我的辣鸡账号和密码是多少 发布:2025-02-10 08:55:37 浏览:690
超父算法 发布:2025-02-10 08:43:05 浏览:910
电脑主机配置需要哪些硬件 发布:2025-02-10 08:22:52 浏览:706
平板太卡换存储卡有用吗 发布:2025-02-10 08:14:16 浏览:828
台北服务器搭建 发布:2025-02-10 08:13:33 浏览:273
webconfig数据库的连接配置 发布:2025-02-10 08:13:24 浏览:967