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)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 镇平县| 宝山区| 修文县| 潜江市| 乳山市| 连江县| 平山县| 德庆县| 富民县| 河北省| 乌兰浩特市| 大丰市| 开封县| 中江县| 雷州市| 宾阳县| 仙桃市| 江阴市| 丹东市| 黎平县| 宣武区| 西乌珠穆沁旗| 新乡县| 北票市| 峨眉山市| 长沙市| 崇明县| 呼图壁县| 龙门县| 凤城市| 衡阳市| 涿鹿县| 柳江县| 且末县| 宝清县| 东兴市| 天全县| 中西区| 昭苏县| 城步| 红河县|