Windows版本Oracle 11g一鍵巡檢腳本
以下是一個(gè)簡(jiǎn)單的Windows版本Oracle 11g一鍵巡檢腳本示例,你可以根據(jù)實(shí)際需求進(jìn)一步擴(kuò)展和完善。這個(gè)腳本主要檢查數(shù)據(jù)庫(kù)的一些基本狀態(tài)、空間使用情況、關(guān)鍵參數(shù)等。
步驟 1: 創(chuàng)建 SQL 腳本文件
首先,將 SQL 查詢(xún)保存到一個(gè) .sql 文件中,例如 database_check.sql。以下是 SQL 文件的內(nèi)容示例:
-- database_check.sql
SET FEEDBACK OFF;
SET VERIFY OFF;
SET TRIMSPOOL ON;
SET TERM OFF;
SET TIMING OFF;
SET HEADING ON;
SET PAGESIZE 100;
SET LINESIZE 500;
SPOOL C:\oracle_xj_%COMPUTERNAME%_%date:~0,4%%date:~5,2%%date:~8,2%.txt;
PROMPT 說(shuō)明:如果有的條目沒(méi)有結(jié)果,則該條目狀態(tài)正常
PROMPT
PROMPT 一、數(shù)據(jù)庫(kù)的基本情況
PROMPT
PROMPT 1.1、數(shù)據(jù)庫(kù)基本信息
COL host_name FOR A20;
SELECT dbid, name db_name, instance_name, version, parallel rac, host_name
FROM v\$database, v\$instance;
PROMPT
PROMPT 1.2、實(shí)例狀態(tài)
SELECT instance_number, instance_name, status, host_name FROM gv\$instance;
PROMPT
PROMPT 1.3、數(shù)據(jù)庫(kù)運(yùn)行時(shí)間
COL run_time FOR A28;
SELECT instance_number,
TO_CHAR(startup_time, 'yyyy-mm-dd hh24:mi:ss') startup_time,
TRUNC(SYSDATE - (startup_time)) || ' day '
|| TRUNC(24 * ((SYSDATE - startup_time) - TRUNC(SYSDATE - startup_time))) || ' hour '
|| MOD(TRUNC(1440 * ((SYSDATE - startup_time) - TRUNC(SYSDATE - startup_time))), 60) || ' min '
|| MOD(TRUNC(86400 * ((SYSDATE - startup_time) - TRUNC(SYSDATE - startup_time))), 60) || ' sec' run_time
FROM gv\$instance;
SPOOL OFF;
EXIT;
步驟 2: 創(chuàng)建 Windows 批處理腳本
接下來(lái),創(chuàng)建一個(gè)批處理腳本,調(diào)用上面的 SQL 文件。以下是批處理腳本的示例:
@echo off
REM ============================================
REM ============================================
SETLOCAL ENABLEDELAYEDEXPANSION
REM 設(shè)置 Oracle 環(huán)境變量
set ORACLE_HOME=C:\app\oracle\product\12.2.0\dbhome_1
set PATH=%ORACLE_HOME%\bin;%PATH%
REM 調(diào)用 SQL*Plus 執(zhí)行 SQL 腳本
sqlplus -s / as sysdba @C:\path\to\your\database_check.sql
ENDLOCAL
注意事項(xiàng)
-
SQL 文件路徑:確保在批處理腳本中正確設(shè)置 SQL 文件的路徑(
C:\path\to\your\database_check.sql),并替換為實(shí)際路徑。 -
Oracle 環(huán)境:確認(rèn)
ORACLE_HOME和PATH環(huán)境變量設(shè)置正確,以便能夠找到sqlplus.exe。 -
執(zhí)行權(quán)限:確保您以具有足夠權(quán)限的用戶(hù)身份運(yùn)行此批處理腳本,以便訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)并執(zhí)行查詢(xún)。
-
輸出文件路徑:在 SQL 腳本中,
SPOOL指令的輸出路徑應(yīng)根據(jù)需要進(jìn)行調(diào)整。
浙公網(wǎng)安備 33010602011771號(hào)