`
yuping322
  • 浏览: 93335 次
  • 来自: ...
社区版块
存档分类
最新评论

Oracle多个数据库启动和关闭脚本

阅读更多

最近突然发现我们的数据库启动比较麻烦,因为我们的Oracle有好几个数据库实例,每次重启的时候都需要修改ORACLE_SID(不知道有没有别的好办法,我暂时只会这样做),然后用Sqlplus连接,然后启动或者关闭,导致每次启动或者关闭都需要很多时间,而且麻烦,最近突然想到应该写一个脚本来实现,于是就开始动手做了。<o:p></o:p>

1、启脚本<o:p></o:p>

Oracle的启脚本,Oracle自己就有,所以我就用了Oracle的。<o:p></o:p>

具体步骤如下:<o:p></o:p>

a $cd $ORACLE_HOME<o:p></o:p>

b $cd bin<o:p></o:p>

c Oracle的启关闭脚本制一份,我之后修改制品就好了。<o:p></o:p>

     具体制:dbstartdbshut两个文件,制之后重新命名。<o:p></o:p>

     制了两份,分dbstartDB1,dbstartDB2,dbshutDB1,dbshutDB2<o:p></o:p>

2Oratab修改<o:p></o:p>

     root,然后切/etc,然后oratab个文件,制之后重新命名。<o:p></o:p>

     制了两份,分oratabDB1oratabDB2<o:p></o:p>

     然后修改两个制品:<o:p></o:p>

     a、修改oratabDB1<o:p></o:p>

         SIDofDB1:/opt/oracle/product/9.2.0:N 修改成 SIDofDB1:/opt/oracle/product/9.2.0:Y<o:p></o:p>

     b、修改oratabDB2<o:p></o:p>

         SIDofDB1:/opt/oracle/product/9.2.0:N 修改成 SIDofDB2:/opt/oracle/product/9.2.0:Y<o:p></o:p>

3、修改启关闭脚本<o:p></o:p>

     a、修改dbstartDB1<o:p></o:p>

         ORATAB=/etc/oratab 修改成 ORATAB=/etc/oratabDB1<o:p></o:p>

     b、修改dbshutDB1<o:p></o:p>

         ORATAB=/etc/oratab 修改成 ORATAB=/etc/oratabDB1<o:p></o:p>

     c、修改dbstartDB2<o:p></o:p>

         ORATAB=/etc/oratab 修改成 ORATAB=/etc/oratabDB2<o:p></o:p>

     d、修改dbshutDB2<o:p></o:p>

         ORATAB=/etc/oratab 修改成 ORATAB=/etc/oratabDB2<o:p></o:p>

     这样修改之后,发觉可以打关闭数据了,但是有关闭数据非常慢,原来是关闭脚本有点问题<o:p></o:p>

     于是我修改了dbshutDB1编辑dbshutDB1,shutdown后添加了一个参数immediate, 这样就可以很快地关闭数据了。<o:p></o:p>

     也修改了dbshutDB2,过这样修改有点不是很好,是原来的比安全。<o:p></o:p>

4<o:p></o:p>

    前面已作好了所有的准工作,于是,就针对自己的数据制作启脚本了。<o:p></o:p>

    aDB1.sh<o:p></o:p>

       内容如下:<o:p></o:p>

       #!/bin/sh<o:p></o:p>

       #Created by yaogao 2006-12-07<o:p></o:p>

       #Mail: yaogao@gmail.com<o:p></o:p>

       ORACLE_HOME=/opt/oracle/product/9.2.0<o:p></o:p>

       export ORACLE_SID=DB1<o:p></o:p>

       case $1 in<o:p></o:p>

       start)<o:p></o:p>

         echo "Start DB1.................."<o:p></o:p>

       . $ORACLE_HOME/bin/dbstartDB1 &<o:p></o:p>

         lsnrctl start DB1 &<o:p></o:p>

       ;;<o:p></o:p>

       stop)<o:p></o:p>

         echo "Stop DB1..................."<o:p></o:p>

       . $ORACLE_HOME/bin/dbshutDB1 &<o:p></o:p>

         lsnrctl stop DB1 &<o:p></o:p>

       esac<o:p></o:p>

       echo "Operation terminated.........."<o:p></o:p>

bDB2.sh<o:p></o:p>

        内容如下:<o:p></o:p>

        #!/bin/sh<o:p></o:p>

        #Created by yaogao 2006-12-07<o:p></o:p>

        #Mail: yaogao@gmail.com<o:p></o:p>

        ORACLE_HOME=/opt/oracle/product/9.2.0<o:p></o:p>

        export ORACLE_SID= DB2<o:p></o:p>

        case $1 in<o:p></o:p>

        start)<o:p></o:p>

          echo "Start DB2.................."<o:p></o:p>

        . $ORACLE_HOME/bin/ dbstartDB2 &<o:p></o:p>

        ;;<o:p></o:p>

        stop)<o:p></o:p>

          echo "Stop DB2..................."<o:p></o:p>

        . $ORACLE_HOME/bin/ dbshutDB2 &<o:p></o:p>

        esac<o:p></o:p>

        echo "Operation terminated.........."<o:p></o:p>

   c、编写启动和关闭脚本<o:p></o:p>

      启动脚本:<o:p></o:p>

      #!/bin/sh<o:p></o:p>

      #Created by yaogao 2006-12-07<o:p></o:p>

      #Mail: yaogao@gmail.com<o:p></o:p>

      ./db1.sh start<o:p></o:p>

      ./db2.sh start<o:p></o:p>

      关闭脚本:<o:p></o:p>

      #!/bin/sh<o:p></o:p>

      #Created by yaogao 2006-12-07<o:p></o:p>

      #Mail: yaogao@gmail.com<o:p></o:p>

      ./db1.sh stop<o:p></o:p>

      ./db2.sh stop<o:p></o:p>

<o:p> </o:p>

   这样就大功告成了,如果还有DB3,用同样的方法处理就可以了。<o:p></o:p>

5于系统环<o:p></o:p>

     Oracle9iRedhat9<o:p></o:p>

 



分享到:
评论

相关推荐

    oracle 手动启动数据库脚本

    在Oracle数据库中,启动数据库通常涉及几个步骤,包括启动实例(instance)和打开数据库(database)。实例是Oracle内存结构和后台进程的集合,而数据库则是实际的数据文件。以下是一个手动启动数据库的通用流程: ...

    ORACLE数据库备份用bat脚本

    综上所述,通过编写bat脚本结合Java的定时任务功能,我们可以实现Oracle数据库的自动备份,确保数据的安全性和可恢复性。这种方法既方便又高效,尤其适合那些需要定期备份大量数据的大型企业或组织。在实际应用中,...

    Oracle数据库RAC健康检查脚本

    RAC是Oracle数据库的一个关键特性,它允许多个实例同时访问同一数据库,从而实现高可用性和负载均衡。在Oracle RAC环境中,确保所有组件健康运行至关重要,因为任何故障都可能影响到整个集群的稳定性和性能。 这个...

    oracle服务启动和关闭脚本

    Oracle 10g的启动和关闭过程涉及到多个步骤,主要包括以下几个关键知识点: 1. **Oracle服务注册**:在Windows中,Oracle服务通常作为Windows服务注册,这样可以通过“服务”管理工具或命令行(如`services.msc`或`...

    Oracle服务启动和关闭脚本

    总之,了解如何创建和使用Oracle服务启动和关闭脚本是数据库管理员必备的技能之一。正确地管理和执行这些脚本有助于保持数据库系统的稳定性和可用性。在遇到权限问题时,务必以管理员权限运行,以确保脚本能够正确...

    oracle常用的数据库脚本

    本文将围绕“Oracle常用的数据库脚本”这一主题,详细讲解Oracle数据库管理中的一些关键脚本和命令,帮助你更好地理解和操作Oracle数据库。 首先,Oracle数据库脚本通常是指SQL(Structured Query Language)脚本,...

    监控Oracle数据库的常用shell脚本

    本文将分享8个常用的shell脚本,涵盖了数据库实例的可用性、监听器的可用性、表空间的使用情况、无效对象的检查等多个方面。 一、监控Oracle数据库实例的可用性 Oracle数据库实例的可用性是DBA最关心的问题之一。...

    oracle创建数据库脚本

    "Oracle创建数据库脚本"这个主题涉及到的是如何使用SQL脚本来创建一个新的Oracle数据库,这通常包括一系列的步骤和配置。在这个过程中,我们不仅需要理解数据库的基本架构,还需要熟悉Oracle的数据文件、控制文件、...

    Oracle多数据库实例启动

    假设在同一台机器上有两个数据库实例DB1和DB2,以下是一种手动启动这两个实例的方法: 1. **设置环境变量**:首先需要设置`ORACLE_SID`环境变量,指定当前要操作的数据库实例名。 ```bash export ORACLE_SID=DB1 ...

    oracle数据库imp批量导入多个DMP文件中的bat脚本

    imp方式批量导入dmp文件。oracle数据库bat脚本。需要配置数据库的链接信息和dmp路径信息。

    Oracle 自动启动脚本

    Oracle数据库的启动分为多个阶段,包括实例启动(Instance Startup)、数据文件检查(Redo Log Checkpoint)、恢复过程(Recovery)以及监听器启动(Listener Startup)。通过自动启动脚本,我们可以简化这个过程,...

    oracle 默认数据库 orcl 启动 关闭 批处理

    在提供的压缩包中,我们有两个批处理文件:`Start Oracle.bat`和`Stop Oracle.bat`,分别用于启动和关闭Oracle数据库实例。 1. **启动Oracle数据库**: - `Start Oracle.bat`文件很可能包含了启动Oracle数据库实例...

    oracle数据库同步perl脚本示例

    oracle数据库同步perl脚本示例 其中有2个文件,一个是 perl同步脚本,另一个是存储过程; 大致思路是:perl脚本从数据库A同步数据至库B的临时表中,再通过存储过程将库B中的临时数据过滤导入正式数据当中。

    ORACLE数据库常用监控sql脚本

    关于最耗资源、表空间使用情况、查看锁等监控脚本整理。

    oracle向达梦数据库迁移

    Oracle12C 向达梦8(DM8)迁移是一个涉及多个步骤的技术过程,主要目的是将现有的Oracle数据库系统顺利地转换到达梦数据库平台,以利用其特定的优势或满足特定的业务需求。以下是对这个迁移过程的详细说明: 一、...

    nacos 适配 oracle 11g版本 ,附带oracle 脚本,亲测可用

    在提供的压缩包`NACOS-整合oracle-11g`中,应该包含一个或多个SQL脚本文件,用于在Oracle 11g中创建这些表。执行这些脚本以初始化Nacos所需的数据库结构。例如,可能有一个名为`nacos-schema.sql`的文件,包含了创建...

    生成基于Oracle的jBPM数据库脚本

    在生成基于Oracle的jBPM...这涉及到对Java Persistence API (JPA)、Hibernate框架、Oracle数据库的使用以及数据库连接配置等多个IT领域的知识。务必确保每个环节都正确无误,以确保jBPM能顺利运行在Oracle环境中。

    Oracle启动、关闭服务脚本

    在日常管理中,启动和关闭Oracle服务是必不可少的操作,通常可以通过操作系统命令或者专门的脚本来完成。本篇文章将深入讲解如何使用"stop.bat"和"startup.bat"这两个批处理脚本来管理Oracle服务。 首先,我们来看`...

    oracle数据库备份脚本

    此脚本使用了多个`expdp`命令行,分别针对不同的所有者进行数据备份。每个命令的结构如下: - **用户名/密码**:登录Oracle数据库的身份认证信息。 - **@连接字符串**:指定要连接的目标数据库实例。 - **file=**:...

Global site tag (gtag.js) - Google Analytics