RMAN 提示符下執行SQL語句
在手動恢復資料庫時,有時候需要在SQL*Plus提示符以及作業系統提示符,RMAN提示符下來回切換顯得有些繁瑣。實際上RMAN為我們提供了命令列下執行一些簡單的SQL語句以及PL/SQL的方法,以避免上述情形。本文描述了RMAN提示符下的一些常用命令及其用法。
1、RMAN提示符下執行SQL語句
語法: SQL '
語法比較簡單,就是提示符下輸入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
- -- Author : Robinson
- -- Blog : http://blog.csdn.net/robinson_0612
- 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>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23490154/viewspace-1062397/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sql語句批量執行SQL
- sql語句如何執行的SQL
- SQL語句執行順序SQL
- 執行大的sql語句SQL
- toad執行sql語句SQL
- SQL Server SQL語句執行順序SQLServer
- mysql執行sql語句過程MySql
- Mybatis 動態執行SQL語句MyBatisSQL
- mysql的sql語句執行流程MySql
- sql語句執行緩慢分析SQL
- SQL 語句的執行順序SQL
- 後臺執行SQL語句(oracle)SQLOracle
- Hibernate 執行原始SQL語句SQL
- Oracle SQL語句執行步驟OracleSQL
- oracle12c新特性(7)--如何在RMAN中執行SQL語句OracleSQL
- 查詢正在執行的sql語句及該語句執行的時間SQL
- 通過分析SQL語句的執行計劃優化SQL語句SQL優化
- oracle 12c 新特性三:rman命令視窗可以執行sql語句OracleSQL
- Laravel 獲取執行的sql語句LaravelSQL
- MySQL cron定時執行SQL語句MySql
- 查詢執行慢的SQL語句SQL
- SQL語句執行過程詳解SQL
- CoreData執行過程的sql語句SQL
- 識別低效執行的SQL語句SQL
- sql語句執行過程小結SQL
- 剖析SQL語句的執行過程SQL
- 快速定位sql語句執行內容SQL
- 在事務中執行sql語句SQL
- 查詢sql語句執行次數SQL
- 在nhibernate中執行SQL語句SQL
- Oracle SQL 語句的執行過程OracleSQL
- 清除SQL語句的執行計劃SQL
- SQL語句執行進度檢查SQL
- 查詢正在執行的SQL語句SQL
- 查詢Oracle正在執行的sql語句及執行該語句的使用者OracleSQL
- SQL Server 查詢歷史執行的SQL語句SQLServer
- SQL SERVER 中構建執行動態SQL語句SQLServer
- SQL語句各子句的執行順序SQL