zoukankan      html  css  js  c++  java
  • linux下oracle数据库服务和监听的启动停止

    oracle数据库是重量级的,其管理非常复杂,将其在linux平台上的启动和关闭步骤整理一下。

    安装完毕oracle以后,需要创建oracle系统用户,并在/home/oracle下面的.bash_profile添加几个环境变量:ORACLE_SID,ORACLE_BASE,ORACLE_HOME。比如:

    export ORACLE_SID=test  export ORACLE_BASE=oracle_install_dir export ORACLE_HOME=xxx

    启动步骤:注意$代表shell命令提示符,这里的oracle是9.0以上版本。

    1. $ su - oracle
    2. $ sqlplus / nolog
    3. sql> conn / as sysdba
    4. sql> startup (一般不需要加参数,只要设置好环境变量)
    5. sql> quit (退出sql模式)
    6. $ lsnrctl start (启动监听器)关闭oracle
      1. $ lsnrctl stop(关闭监听器,在这之前,应该先关闭应用程序)
      2. $ sqlplus  /nolog
      3. sql>shutdown 其参数 :shutdown有四个参数,四个参数的含义如下:
        Normal 需要等待所有的用户断开连接
        Immediate 等待用户完成当前的语句
        Transactional 等待用户完成当前的事务
        Abort 不做任何等待,直接关闭数据库
        normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接
        immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。
        transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。
        abort 执行强行断开连接并直接关闭数据库。
        前三种方式不回丢失用户数据。第四种在不的已的情况下,不建议采用!

      经常遇到的问题:

      1)权限问题,解决方法,切换到oracle用户;

      2)没有关闭监听器 ,解决方法:关闭监听器

      3)有oracle实例没有关闭,解决办法:关闭oracle实例

      4)环境变量设置不全,解决办法:修改环境变量


    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:Oracleadminoradbpfileinit.ora 
    8、startup EXCLUSIVE 

    二、几种关闭方式:

    1、shutdown normal 
       正常方式关闭数据库。 
    2、shutdown immediate 
       立即方式关闭数据库。 
       在SVRMGRL中执行shutdown immediate,数据库并不立即关闭, 
       而是在Oracle执行某些清除工作后才关闭(终止会话、释放会话资源), 
       当使用shutdown不能关闭数据库时,shutdown immediate可以完成数据库关闭的操作。 
    3、shutdown abort 
       直接关闭数据库,正在访问数据库的会话会被突然终止, 
       如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长时间。


    一、启动

    语法:startup [force] [pfile=文件名] [exclusive|shared] [mount 数据库名|normal 数据库名] [nomount]

    1、正常启动:

    sql>conn sys/sys as sysdba;

    sql>startup

    也可在启动时指定数据库名

    sql>startup ora9

    2、安装和非安装启动

    安装启动的选项是mount,表示例程只将数据库装入,而不打开数据库;非安装启动的选项是nomount,表示只建立数据库现场,并不装入数据库,当然也不能打开。

    sql>startup mount --安装启动

    sql>startup nomount--非安装启动

    3、独占和共享启动

    独占启动的选项是exclusive,表示只允许一个例程使用该数据库;共享启动的参数是shared,表示允许多个例程并行使用该数据库,即将数据库装入多个现场。

    4、约束启动

    约束启动的选项是restrict,它启动数据库时装入并打开它,但是此时的数据库只能为有特殊权限的数据库管理员使用,一般用户不能联入到该数据库。

    sql>startup restrict

    一般说来,当用户有create session权限时,可以联入数据库,但对于restrict方式启动的数据库,则只有用户具有restricted session系统权限才允许联入。

    若要在数据库运行过程中改变这一方式,可用alter system命令。

    sql>alter system disable restricted session;

    也可以先将数据库关闭再重新以非restrict方式启动数据库。

    5、强制启动

    若在正常启动数据库时遇到一些麻烦,或在上次关闭数据库时不能正常关闭,则可以采取强制启动,其选项是force。

    联入sys用户

    sql>startup force

    6、带初始化参数文件的启动

    初始化参数文件在数据库启动时由系统读取,设置一些全局参数,它并不影响数据库的运行方式。

    sql>startup pfile=d:oracleadminsitepfileinit.ora

    技巧:用alter database可以进行一些启动模式转换,但是转换的类型十分有限,比如从mount模式下将数据库打开,则可用以下命令:

    sql>alter database open;

    还可以从mount状态转为mount状态,如下所示:

    sql>alter database mount;

    二、关闭

    1、正常关闭

    正常关闭数据库所用的选项是normal,数据库在关闭前将检查所有的连接,并且发出命令后不允许再有新的用户连接,在等待所有连接都断开后再关闭数据库,再次启动数据库不需要任何恢复过程。

    联入sys用户

    sql>shutdown normal;

    2、紧急关闭

    该方式用在某些紧急的情况下,比如通知马上停电,此时需要紧急关闭数据库以应付这些情况。这种方式用的选项是immediate,在这种方式下并不等待所有的用户断开连接再关闭,而是由系统断开连接,然后关闭数据库。

    sql>shutdown immediate;

    一旦执行了这条命令,则将当前正在处理的sql语句马上停止,然后将所有未提交的事务回退,并且不等待当前联入数据库的用户断开连接,而是由系统强行将各个联接断开。在下次启动数据库时要执行恢复动作,不过是由系统自动执行的,用户不必去了解它。

    3、异常关闭

    异常关闭选项是abort,此种方式下系统并不做任何检查和断开用户操作以及回退操作,而是直接将数据库现场撤销,这样现场中的数据库数据当然就无效了,数据库自然也就被关掉了。

     sql>shutdown abort;

    以abort方式关闭数据库时只有一行关闭信息表示关闭了数据库现场。以abort方式关闭的数据库再次启动时必须要进行恢复动作,这些恢复操作同样是系统自动来完成的,需要的时间较长。




    1、启动数据库:
    oracle@suse92:~> sqlplus /nolog

    SQL*Plus: Release 9.2.0.4.0 - Production on Fri Jan 20 02:29:37 2006

    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

    SQL> connect /as sysdba
    Connected to an idle instance.
    SQL> startup
    ORACLE instance started.

    Total System Global Area 135352820 bytes
    Fixed Size 455156 bytes
    Variable Size 109051904 bytes
    Database Buffers 25165824 bytes
    Redo Buffers 679936 bytes
    Database mounted.
    2、关闭数据库:
    oracle@suse92:~> sqlplus /nolog

    SQL*Plus: Release 9.2.0.4.0 - Production on Fri Jan 20 02:29:37 2006

    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

    SQL> connect /as sysdba
    Connected to an idle instance.
    SQL> shutdwon abort;
    3、启动监听器
    oracle@suse92:~> lsnrctl start
    4、停止监听器
    oracle@suse92:~> lsnrctl stop
    5、查看监听器状态
    oracle@suse92:~> lsnrctl
  • 相关阅读:
    非旋Treap——fhq treap
    LCA
    树链剖分
    复习计划
    BZOJ2565: 最长双回文串(回文树)
    回文自动机
    luogu P3796 【模板】AC自动机(加强版)
    【BZOJ2908】 又是nand
    【HDU2460】 Network
    【CF786B】 Legacy
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13318878.html
Copyright © 2011-2022 走看看