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
- mysql的sql語句執行流程MySql
- SQL 語句的執行順序SQL
- 後臺執行SQL語句(oracle)SQLOracle
- mysql執行sql語句過程MySql
- Mybatis 動態執行SQL語句MyBatisSQL
- Laravel 獲取執行的sql語句LaravelSQL
- MySQL cron定時執行SQL語句MySql
- java連線oracle執行sql語句JavaOracleSQL
- SQL Server 查詢歷史執行的SQL語句SQLServer
- 查詢Oracle正在執行的sql語句及執行該語句的使用者OracleSQL
- [20181119]sql語句執行緩慢分析.txtSQL
- SQL語句各子句的執行順序SQL
- mysql sql語句執行超時設定MySql
- Laravel 框架查詢執行的 SQL 語句Laravel框架SQL
- Mybatis原始碼解析之執行SQL語句MyBatis原始碼SQL
- 一條sql語句的執行過程SQL
- Oracle執行語句跟蹤 使用sql trace實現語句追蹤OracleSQL
- Oracle資料庫SQL語句執行過程Oracle資料庫SQL
- GaussDB SQL查詢語句執行過程解析SQL
- SQL 查詢語句的執行順序解析SQL
- 一條update SQL語句是如何執行的SQL
- python關於pymysql 執行sql語句in的用法PythonMySql
- 一條SQL更新語句是如何執行的SQL
- Hive SQL語句的正確執行順序HiveSQL
- 一條SQL更新語句是如何執行的?SQL
- 怎樣在sqlite3上執行SQL語句SQLite
- 一條更新的SQL語句是如何執行的?SQL
- 一條SQL語句在MySQL中如何執行的MySql
- sql語句執行順序與效能優化(1)SQL優化
- 一條 SQL 查詢語句是如何執行的?SQL
- oracle常用後臺程序及sql語句執行流程OracleSQL
- 【SQL】Oracle sql語句 minus函式執行效率與join對比SQLOracle函式
- 執行一條sql語句都經歷了什麼?SQL
- 獲取oracle sql語句詳細些執行計劃OracleSQL
- MySQL探祕(二):SQL語句執行過程詳解MySql
- 一條sql語句在mysql中是如何執行的MySql