qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          RMAN 提示符下執行SQL語句

          在手動恢復數據庫時,有時候需要在SQL*Plus提示符以及操作系統提示符,RMAN提示符下來回切換顯得有些繁瑣。實際上RMAN為我們提供了命令行下執行一些簡單的SQL語句以及PL/SQL的方法,以避免上述情形。本文描述了RMAN提示符下的一些常用命令及其用法。

            1、RMAN提示符下執行SQL語句

            語法: SQL '<command>' ;

            語法比較簡單,就是提示符下輸入SQL,后接SQL命令,命令用單引號括起來

            command 通常為可執行的SQL命令語句,也可以為PL/SQL塊

            使用限制

              如果SQL語句中包含文件名,則文件名及路徑需要使用兩個單引號括起來,整個SQL語句首尾需要使用雙引號

              可以執行SQL查詢語句,但是無任何結果輸出

            RMAN提示符下常用的命令

              startup [nomount | mount], shutdown immediate
              alter system archive log current
              alter database open [resetlogs]

            2、演示RMAN提示符下執行SQL語句

            a、執行常用的starup, alter SQL 語句

          robin@SZDB:~> export ORACLE_SID=GOBO1
          robin@SZDB:~> rman target /

          Recovery Manager: Release 10.2.0.3.0 - Production on Tue Jun 4 11:04:26 2013

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

          connected to target database (not started)

          RMAN> startup nomount;

          Oracle instance started

          Total System Global Area     536870912 bytes

          Fixed Size                     2074080 bytes
          Variable Size                314575392 bytes
          Database Buffers             213909504 bytes
          Redo Buffers                   6311936 bytes

          RMAN> alter database mount;

          using target database control file instead of recovery catalog
          database mounted

          RMAN> alter database open;

          database opened

          RMAN> list copy of archivelog all;   --->查看當前數據庫的歸檔日志,列出了1個已歸檔日志


          List of Archived Log Copies
          Key     Thrd Seq     S Low Time          Name
          ------- ---- ------- - ----------------- ----
          2084    1    8       A 20130604 09:53:17 /u02/database/GOBO1/archive/arch_816906485_1_8.arc

          RMAN> sql ' alter system archive log current ';   --->對當前日志進行歸檔

          sql statement:  alter system archive log current

          RMAN> list copy of archivelog all;                --->歸檔后可以看到多出了1個已歸檔日志

          List of Archived Log Copies
          Key     Thrd Seq     S Low Time          Name
          ------- ---- ------- - ----------------- ----
          2084    1    8       A 20130604 09:53:17 /u02/database/GOBO1/archive/arch_816906485_1_8.arc
          2085    1    9       A 20130604 10:46:36 /u02/database/GOBO1/archive/arch_816906485_1_9.arc



          b、執行SQL查詢語句,如下,沒有任何結果輸出

          RMAN> sql 'select sysdate from dual';

          sql statement: select sysdate from dual

          RMAN> sql ' select * from v$database ';

          sql statement:  select * from v$database

            c、執行帶有路徑及文件名的SQL語句

          --下面的執行那個中沒有使用雙引號開頭以及雙單引號括住路徑,收到錯誤提示
          RMAN> sql ' create tablespace ts1 datafile '/u02/database/GOBO1/oradata/ts1.dbf' size 10m ';

          RMAN-00571: ===========================================================
          RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
          RMAN-00571: ===========================================================
          RMAN-00558: error encountered while parsing input commands
          RMAN-01006: error signalled during parse
          RMAN-02001: unrecognized punctuation symbol "/"

          --下面的SQL語句被成功執行
          RMAN> sql "create tablespace ts1 datafile ''/u02/database/GOBO1/oradata/ts1.dbf'' size 10m";

          sql statement: create tablespace ts1 datafile ''/u02/database/GOBO1/oradata/ts1.dbf'' size 10m

            d、執行PL/SQL塊

          RMAN> sql ' begin dbms_lock.sleep(3); end;';

          sql statement:  begin dbms_lock.sleep(3); end;

            e、rman塊命令方式執行PL/SQL塊

          RMAN> run{
          2> sql ' begin dbms_lock.sleep(3); end; ';
          3> }

          sql statement:  begin dbms_lock.sleep(3); end;

          RMAN> run {
          2> sql ' drop tablespace ts1 including contents and datafiles ';
          3> }

          sql statement:  drop tablespace ts1 including contents and datafiles

          RMAN> shutdown immediate;

          database closed
          database dismounted
          Oracle instance shut down

            f、切換到系統提示符下

          RMAN> host;

          robin@SZDB:~> exit
          exit
          host command complete

          RMAN>

          posted on 2013-06-09 11:36 順其自然EVO 閱讀(463) 評論(0)  編輯  收藏 所屬分類: 數據庫DB2

          <2013年6月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 舞钢市| 金沙县| 嘉荫县| 屯留县| 普宁市| 灯塔市| 水城县| 隆林| 凭祥市| 娄底市| 灵丘县| 南宫市| 岐山县| 双柏县| 米脂县| 乌鲁木齐县| 隆安县| 北碚区| 永兴县| 吴川市| 昌宁县| 钦州市| 内江市| 稷山县| 阜康市| 额尔古纳市| 新密市| 阿拉善左旗| 乌拉特前旗| 天镇县| 佛山市| 云安县| 崇信县| 莆田市| 九台市| 万年县| 东兰县| 木里| 抚顺市| 汤原县| 南溪县|