Linux平台Oracle多个实例启动

转载 2013年07月30日 11:08:38

1.切换Oracle用户:

# su oracle

2.切换到Oracle目录下:

#  cd $oracle_home

3.执行配置文件 .bash_profile

[oracle@db ~]$ ..bash_profile

4. 查看参数是否已经配置成功

Echo$oracle_home

Echo $oracle_sid

5.启动数据库实例

#sqlplus  /nolog

#conn /as sysdba

#startup

就可以正常的启动数据库了。

#exit

6.  启动监听程序

[oracle@db ~]$lsnrctl start

检查Oracle DB监听器是否正常

回到终端机模式,输入:

[oracle@db ~]$lsnrctl status

检查看看监听器是否有启动


7.  启动另外一个数据库,先修改参数

[oracle@db ~]$export ORACLE_SID=devdb

然后重复步骤4-6

Oracle查看当前实例

SQL> select name from v$database;

NAME
---------
JSSBOOK

方法2:

SQL> SELECT host_name, instance_name, version FROM v$instance;

HOST_NAME
----------------------------------------------------------------
INSTANCE_NAME    VERSION
---------------- -----------------
ZZH-PC
jssbook          11.2.0.1.0


oracle数据库启动和关闭方式 
一、几种启动方式: 

1、startup nomount
非安装启动,这种方式启动下可执行:重建控制文件、重建数据库,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。

2、startup mount dbname
安装启动,这种方式启动下可执行:数据库日志归档、数据库恢复、重新命名一些数据库文件,如:系统表空间或日志文件。
执行“nomount”,然后打开控制文件   

3、startup open dbname

先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,, 这种方式下可访问数据库中的数据。  

4、startup

等于以下三个命令:startup nomount;alter database mount;alter database open;

5、startup restrict

约束方式启动

这种方式能够启动数据库,但只允许具有一定特权的用户访问,非特权用户访问时,会出现以下提示:     

ERROR:ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用  

6、startup force
强制启动方式,当不能关闭数据库时,可以用startup force来完成数据库的关闭,先关闭数据库,再执行正常启动数据库命令。

7、startup pfile=参数文件名

带初始化参数文件的启动方式,先读取参数文件,再按参数文件中的设置启动数据库

例:startup pfile=E:\Oracle\admin\oradb\pfile\init.ora

8、startup EXCLUSIVE


二、数据库关闭(SHUTDOWN)

1、SHUTDOWN NORMAL

这是数据库关闭SHUTDOWN命令的确省选项。也就是说如果你发出SHUTDOWN这样的命令,也即是SHUTDOWN NORNAL的意思。

发出该命令后,任何新的连接都将再不允许连接到数据库。在数据库关闭之前,Oracle将等待目前连接的所有用户都从数据库中退出后才开始关闭数据库。采用这种方式关闭数据库,在下一次启动时不需要进行任何的实例恢复。但需要注意一点的是,采用这种方式,也许关闭一个数据库需要几天时间,也许更长。

2、SHUTDOWN IMMEDIATE

这是我们常用的一种关闭数据库的方式,想很快地关闭数据库,但又想让数据库干净的关闭,常采用这种方式。

当前正在被Oracle处理的SQL语句立即中断,系统中任何没有提交的事务全部回滚。如果系统中存在一个很长的未提交的事务,采用这种方式关闭数据库也需要一段时间(该事务回滚时间)。系统不等待连接到数据库的所有用户退出系统,强行回滚当前所有的活动事务,然后断开所有的连接用户。

3、SHUTDOWN ABORT

这是关闭数据库的最后一招,也是在没有任何办法关闭数据库的情况下才不得不采用的方式,一般不要采用。如果下列情况出现时可以考虑采用这种方式关闭数据库。

a、 数据库处于一种非正常工作状态,不能用shutdown normal或者shutdown immediate这样的命令关闭数据库;

b、 需要立即关闭数据库;

c、 在启动数据库实例时遇到问题;

所有正在运行的SQL语句都将立即中止。所有未提交的事务将不回滚。Oracle也不等待目前连接到数据库的用户退出系统。下一次启动数据库时需要实例恢复,因此,下一次启动可能比平时需要更多的时间。

4、SHUTDOWN TRANSACTIONAL
该选项仅在Oracle 8i后才可以使用。该命令常用来计划关闭数据库,它使当前连接到系统且正在活动的事务执行完毕,运行该命令后,任何新的连接和事务都是不允许的。在所有活动的事务完成后,数据库将和SHUTDOWN IMMEDIATE同样的方式关闭数据库。


=====================================================================


四、Oracle启动&停止脚本

1. 修改Oracle系统配置文件:/etc/oratab,只有这样,Oracle 自带的dbstart和dbshut才能够发挥作用。

# vi /etc/oratab
orcl:/opt/oracle/102:Y

# Entries are of the form:
#   $ORACLE_SID:$ORACLE_HOME:<N|Y>:

2. 在 /etc/init.d/ 下创建文件oracle,内容如下:

复制代码
#!/bin/sh
# chkconfig: 35 80 10
# description: Oracle auto start-stop script.

#
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME.
ORA_HOME=/opt/oracle/102
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
    echo "Oracle startup: cannot start"
    exit
fi
case "$1" in
'start')
# Start the Oracle databases:
echo "Starting Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >>/var/log/oracle
echo "Done"

# Start the Listener:
echo "Starting Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >>/var/log/oracle
echo "Done."
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
touch /var/lock/subsys/oracle
;;

'stop')
# Stop the Oracle Listener:
echo "Stoping Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Listener as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >>/var/log/oracle
echo "Done."
rm -f /var/lock/subsys/oracle

# Stop the Oracle Database:
echo "Stoping Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >>/var/log/oracle
echo "Done."
echo ""
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
;;

'restart')
$0 stop
$0 start
;;
esac
复制代码

3. 改变文件权限
# chmod 755 /etc/init.d/oracle

4. 添加服务
# chkconfig --level 35 oracle on

5. 需要在关机或重启机器之前停止数据库,做一下操作
# ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle   //关机
# ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle   //重启 

6. 使用方法
# service oracle start        //启动oracle
# service oracle stop        //关闭oracle
# service oracle restart     //重启oracle

7. 测试

a. 开机自启动

复制代码
Last login: Mon Nov 26 19:57:06 2012 from 10.0.0.145
[root@ORS ~]# su - oracle
[oracle@ORS ~]$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Nov 26 20:07:33 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> set linesize 300;
SQL> set pagesize 30;
SQL> select * from scott.emp;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7369 SMITH      CLERK           7902 17-DEC-80        800                    20
      7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30
      7521 WARD       SALESMAN        7698 22-FEB-81       1250        500         30
      7566 JONES      MANAGER         7839 02-APR-81       2975                    20
      7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30
      7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30
      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
      7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20
      7839 KING       PRESIDENT            17-NOV-81       5000                    10
      7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30
      7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20
      7900 JAMES      CLERK           7698 03-DEC-81        950                    30
      7902 FORD       ANALYST         7566 03-DEC-81       3000                    20
      7934 MILLER     CLERK           7782 23-JAN-82       1300                    10

14 rows selected.

SQL>
复制代码

b. service oracle stop

复制代码
SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
[oracle@ORS ~]$ logout
[root@ORS ~]# service oracle stop
Stoping Oracle Listeners ... 
Done.
Stoping Oracle Databases ... 
Done.

[root@ORS ~]# su - oracle
[oracle@ORS ~]$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Nov 26 20:17:20 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> set linesize 300;
SQL> set pagesize 30;
SQL> select * from scott.emp;
select * from scott.emp
*
ERROR at line 1:
ORA-01034: ORACLE not available


SQL> 
复制代码

c. service oracle start

复制代码
SQL> Disconnected
[oracle@ORS ~]$ logout
[root@ORS ~]# service oracle start
Starting Oracle Databases ... 
Done
Starting Oracle Listeners ... 
Done.
[root@ORS ~]# 
复制代码

d. service oracle restart

复制代码
[root@ORS ~]# service oracle restart
Stoping Oracle Listeners ... 
Done.
Stoping Oracle Databases ... 
Done.

Starting Oracle Databases ... 
Done
Starting Oracle Listeners ... 
Done.
[root@ORS ~]# 
复制代码

至此,Oracle服务启动&停止脚本与开机自启动设置完毕。


Linux启动Oracle实例

启动数据库实例,分为两步:第一步,启动监听;第二步,启动数据库实例。   一、如何启动数据库实例    1.进入到sqlplus启动实例 [oracle@redhat ~]$ su - ora...
  • gbj890229
  • gbj890229
  • 2012年07月29日 10:23
  • 10815

一个oracle 用户下面创建多个实例

一个oracle 用户下面创建多个实例 2012/12/10 v1.0 前言 本文主要介绍了同一个oracle 用户下面如何重建多个oracle 实例。本文的测试环境为redhat ...
  • olfisher
  • olfisher
  • 2013年11月27日 13:28
  • 24345

创建多个Oracle数据库及相应的实例

对于使用过SQL Server数据库的用户可以会对Oracle中的数据库的实例的概念理解的不是很好,所以我产生了写一篇博文的想法。 基础概念 一般Oracle数据库(Oracle Database...
  • LuiseRADL
  • LuiseRADL
  • 2011年11月15日 11:35
  • 33233

oracle数据库多个实例配置

listener.ora  配置》》》》 SID_LIST_LISTENER =   (SID_LIST =     (SID_DESC =       (GLOBAL_DBNAME = or...
  • u011498644
  • u011498644
  • 2016年07月12日 15:11
  • 1692

一个oracle 用户下创建多个oracle 实例

  • 2012年12月17日 01:31
  • 40KB
  • 下载

Linux启动多个Oracle实例

概述Centos6.5 有两个数据库实例 orcl1 和 orcl2 需要都起来关键:操作每个数据库实例之前设置ORACLE_SID变量 export ORACLE_SID=数据库实例启动o...
  • yangshangwei
  • yangshangwei
  • 2016年09月28日 19:01
  • 3496

oracle 启动多个实例

启动多个 Oracle实例 在linux上建立第二个ORACLE的实例步骤: 1、在linux服务器的图形界面下,打开一个终端,输入如下的命令; xhost + 2、切换到orac...
  • yang_chj
  • yang_chj
  • 2017年04月20日 00:26
  • 1749

Linux平台下Oracle启动说明(多个数据库实例)

  • 2013年03月05日 02:03
  • 14KB
  • 下载

在LINUX平台上手动创建多个实例(oracle11g)

如果条件允许,可用图形化界面创建更方便快捷 以root用户登录,敲./dbca,如果跳不出图形化界面,就用下面的手动创建 一、以oracle用户登录 二、获取oracle安装路径 [oracl...
  • sunchenglu7
  • sunchenglu7
  • 2014年09月29日 21:26
  • 6764

linux下面查看oracle实例名

linux下面查看oracle实例名方法:在终端输入echo $ORACLE_SID
  • tanzugan
  • tanzugan
  • 2012年05月30日 13:49
  • 20151
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux平台Oracle多个实例启动
举报原因:
原因补充:

(最多只允许输入30个字)