• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 始創于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業
    • 60秒人工響應
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    您的位置: 網站首頁 > 幫助中心>文章內容

    Oracle數據庫startup和shutdown方式

    發布時間:  2012/9/16 15:35:30

    整理了下關于"Oracle數據庫提供了幾種不同數據庫啟動和關閉方式",然后,自己就回去就寫了個示例.

       其中,就出現了1個問題:

       ORA-12528: TNS:listener: all appropriate instances are blocking new connections

       于是到網上就大量的查閱資料,哈哈,好不錯,解決方法找到了.其中紅色的就是主要解決方法.下面就把我整理的東西給共享下. -
     


       一:注意事項

    要啟動和關閉數據庫,必須要以具有Oracle 管理員權限用戶登陸,通常也就是以具有SYSDBA權限用戶登陸。一般我們常用INTERNAL用戶來啟動和關閉數據庫(INTERNAL用戶實際上是SYS用戶以SYSDBA連接同義詞)。Oracle數據庫新版本將逐步淘汰INTERNAL這個內部用戶,所以我們最還是設置DBA用戶具有SYSDBA權限。

    二:啟動一個數據庫需要三個步驟
      1、 創建一個Oracle實例(非安裝階段)
      2、 由實例安裝數據庫(安裝階段)
    3、 打開數據庫(打開階段)

    三:Startup(啟動數據庫命令)

    1、 STARTUP NOMOUNT
    NONOUNT選項僅僅創建一個Oracle實例。讀取init.ora初始化參數文件、啟動后臺進程、初始化系統全局區(SGA)。Init.ora文件定義了實例配置,包括內存結構大小和啟動后臺進程數量和類型等。實例名根據Oracle_SID設置,不一定要與打開數據庫名稱相同。當實例打開后,系統將顯示一個SGA內存結構和大小列表,如下所示:
    SQL> startup nomount
    Oracle 例程已經啟動。
    Total System Global Area 35431692 bytes
    Fixed Size 70924 bytes
    Variable Size 18505728 bytes
    Database Buffers 16777216 bytesu
    Redo Buffers 77824 bytes

    2、STARTUP MOUNT
    該命令創建實例并且安裝數據庫,但沒有打開數據庫。Oracle系統讀取控制文件中關于數據文件和重作日志文件內容,但并不打開該文件。這種打開方式常在數據庫維護操作中使用,如對數據文件更名、改變重作日志以及打開歸檔方式等。在這種打開方式下,除了可以看到SGA系統列表以外,系統還會給出"數據庫裝載完畢"提示。

      3、STARTUP
      該命令完成創建實例、安裝實例和打開數據庫所有三個步驟。此時數據庫使數據文件和重作日志文件在線,通常還會請求一個或者是多個回滾段。這時系統除了可以看到前面Startup Mount方式下所有提示外,還會給出一個"數據庫已經打開"提示。此時,數據庫系統處于正常工作狀態,可以接受用戶請求。

    如果采用STARTUP NOMOUNT或者是STARTUP MOUNT數據庫打開命令方式,必須采用ALTER DATABASE命令來執行打開數據庫操作。例如,如果你以STARTUP NOMOUNT方式打開數據庫,也就是說實例已經創建,但是數據庫沒有安裝和打開。這是必須運行下面兩條命令,數據庫才能正確啟動。
    ALTER DATABASE MOUNT;
    ALTER DATABASE OPEN

    4、其他打開方式
      除了前面介紹三種數據庫打開方式選項外,還有另外其他一些選項。
      (1) STARTUP RESTRICT
      這種方式下,數據庫將被成功打開,但僅僅允許一些特權用戶(具有DBA角色用戶)才可以使用數據庫。這種方式常用來對數據庫進行維護,如數據導入/導出操作時不希望有其他用戶連接到數據庫操作數據。
      (2) STARTUP FORCE
      該命令其實是強行關閉數據庫(shutdown abort)和啟動數據庫(startup)兩條命令一個綜合。該命令僅在關閉數據庫遇到問題不能關閉數據庫時采用。
      (3) ALTER DATABASE OPEN READ ONLY;
      該命令在創建實例以及安裝數據庫后,以只讀方式打開數據庫。對于那些僅僅提供查詢功能產品數據庫可以采用這種方式打開。
    四:數據庫關閉(SHUTDOWN)
    1、SHUTDOWN NORMAL
      這是數據庫關閉SHUTDOWN命令確省選項。也就是說如果你發出SHUTDOWN這樣命令,也即是SHUTDOWN NORNAL意思。
      發出該命令后,任何新連接都將再不允許連接到數據庫。在數據庫關閉之前,Oracle將等待目前連接所有用戶都從數據庫中退出后才開始關閉數據庫。采用這種方式關閉數據庫,在下一次啟動時不需要進行任何實例恢復。但需要注意一點是,采用這種方式,也許關閉一個數據庫需要幾天時間,也許更長。
      2、SHUTDOWN IMMEDIATE
      這是我們常用一種關閉數據庫方式,想很快地關閉數據庫,但又想讓數據庫干凈關閉,常采用這種方式。
      當前正在被Oracle處理SQL語句立即中斷,系統中任何沒有提交事務全部回滾。如果系統中存在一個很長未提交事務,采用這種方式關閉數據庫也需要一段時間(該事務回滾時間)。系統不等待連接到數據庫所有用戶退出系統,強行回滾當前所有活動事務,然后斷開所有連接用戶。
      3、SHUTDOWN TRANSACTIONAL
      該選項僅在Oracle 8i后才可以使用。該命令常用來計劃關閉數據庫,它使當前連接到系統且正在活動事務執行完畢,運行該命令后,任何新連接和事務都是不允許。在所有活動事務完成后,數據庫將和SHUTDOWN IMMEDIATE同樣方式關閉數據庫。
      4、SHUTDOWN ABORT
      這是關閉數據庫最后一招,也是在沒有任何辦法關閉數據庫情況下才不得不采用方式,一般不要采用。如果下列情況出現時可以考慮采用這種方式關閉數據庫。


    下面是問題解決:
    ORA-12528: TNS:listener: all appropriate instances are blocking new connections
    1:修改listener.ora的參數
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (Oracle_HOME = C:\oracle\product\10.1.0\db_1)
          (PROGRAM = extproc)
        )
        (SID_DESC =
          (GLOBAL_DBNAME = ammicly)
          (Oracle_HOME = c:\oracle\product\10.1.0\db_1)
          (SID_NAME = ammicly)
        )
      )
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = lypch )(PORT = 1521))
          )
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
          )
        )
      )

    2:修改tnsnames.ora的參數

    AMMICLY =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = lypch )(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = ammicly)
         (UR=A)
        )
      )
    EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )
    啟動數據庫
    SQL> conn /as sysdba
    SQL> alter database mount;
    SQL> alter database open;

    關閉數據庫
    SQL> shutdown immediate;

     


    本文出自:億恩科技【www.vbseamall.com】

    服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線