1. 程式人生 > >Commvault Oracle備份常用命令

Commvault Oracle備份常用命令

在進行Oracle資料庫備份的配置、發起和恢復的過程中,需要用到許多Oracle資料庫本身的命令。在此章節中進行命令的梳理,供大家參考。

Oracle使用者和例項相關命令

Linux/Unix平臺

# ps -ef | grep [p]mon
orauxdb   18751     1  0 13:47 ?        00:00:00 ora_pmon_uxdb
oraprod   19026     1  0 13:49 ?        00:00:00 ora_pmon_prod

每個“ pmon”程序中都有Oracle例項名稱。 每個例項可能以不同的Unix使用者身份執行。

Windows平臺

Powershell的“ Get-Service”(又名“ gsv”)cmdlet可用於在Windows上查詢例項名稱:

PS> gsv OracleService*
Status   Name               DisplayName
------   ----               -----------
Running  OracleServiceORCL  OracleServiceORCL
Running  OracleServiceVS... OracleServiceVSAORA

Oracle服務通常以SYSTEM帳戶執行,而Commvault使用者通常是管理員。 只要確保Commvault使用者是ora_dba組的成員即可

> net localgroup ora_dba
Alias name     ora_dba
Comment        Oracle DBA Group

Members

-------------------------------------------------------------------------------
Administrator
NT AUTHORITY\SYSTEM

查詢Oracle Home路徑

Linux/Unix平臺

# su - oracleuser
$ . oraenv                    ← Source the oraenv script and switch to the appropriate sid
ORACLE_SID = ? sid
$ echo $ORACLE_HOME           ← Check the ORACLE_HOME environment variable
/u01/oracle/product/11.2.0/dbhome_1

您也可以從oratab檔案中獲取這些資訊:

# grep sid /etc/oratab        ← The oratab file is not required but most installs will have one
sid:/u01/oracle/product/11.2.0/dbhome_1:Y

Windows平臺

以下PowerShell命令將顯示ORACLE_HOME路徑:

PS> (gp HKLM:\software\oracle\KEY*).ORACLE_HOME
C:\app\oracle\product\11.1.0\db_1

檢查HUNG住的RMAN程序

執行下面的查詢,並檢檢視起來無效的會話(例如,登入時間較舊)。

$ sqlplus / as sysdba
SQL> select sid, serial#, status, to_char(logon_time, 'YYYY MM DD HH24:MI:SS'), program from v$session where program like '%rman%';
       SID    SERIAL# STATUS   TO_CHAR(LOGON_TIME, PROGRAM
---------- ---------- -------- ------------------- ------------------------------------------------
         9        591 INACTIVE 2013 11 06 12:41:50 [email protected] (TNS V1-V3)
       125       2503 INACTIVE 2013 11 06 12:41:50 [email protected] (TNS V1-V3)

檢視存檔日誌刪除策略

$ rman target /
RMAN> show archivelog deletion policy;
RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 2 TIMES TO 'SBT_TAPE';

查詢監聽狀態

$ lsnrctl status

查詢Oracle告警日誌

警報日誌通常位於$ ORACLE_BASE / diag / rdbms / dbname / instance / trace / alert_sid.log,但是可以更改。 如果不在預設位置,請檢查diagnostic_dest引數:

$ sqlplus / as sysdba
SQL> show parameter diag
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
diagnostic_dest                      string      /u01/app/oracle

查詢歸檔日誌檔案路徑

$ sqlplus / as sysdba
SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /nu01/oracle/archive
Oldest online log sequence     4120
Next log sequence to archive   4122
Current log sequence           4122

在某些情況下,存檔目標將設定為“ USE_DB_RECOVERY_FILE_DEST”。 在這種情況下,請查詢“ db_recovery_file_dest”的值:

SQL> show parameter db_recovery_file_dest
NAME                                 TYPE        VALUE
------------------------------------ ----------- -------------------------------
db_recovery_file_dest                string      /u01/oradata/fast_recovery_area
db_recovery_file_dest_size           big integer 4182M

檢查TNS的解析

$ tnsping sid

區塊變更追蹤(Block Change Tracking)

要檢查是否啟用了塊更改跟蹤,請執行以下SQLPlus查詢。

$ sqlplus / as sysdba
SQL> select status from v$block_change_tracking;
STATUS
----------
DISABLED

檢查sysdba / sysbackup特權

使用以下查詢檢查oracle使用者是否具有sysdba特權

$ sqlplus / as sysdba
SQL> select username,sysdba from v$pwfile_users;
USERNAME                       SYSDB
------------------------------ -----
SYS                            TRUE
SYSDG                          FALSE
SYSKM                          FALSE
MRBACKUP                       FALSE

從Oracle 12c開始,有一個sysbackup角色可用於備份。 從Commvault V11開始支援使用此角色。

SQL> select username,sysdba,sysbackup from v$pwfile_users;
USERNAME                       SYSDB SYSBA
------------------------------ ----- -----
SYS                            TRUE  FALSE
SYSDG                          FALSE FALSE
SYSBACKUP                      FALSE TRUE
SYSKM                          FALSE FALSE
C##MRBACKUP                    FALSE TRUE

檢查Oracle存檔日誌模式

要進行線上備份,資料庫必須以ARCHIVELOG模式執行。 如果以“非存檔”模式執行,則僅允許離線備份。

$ sqlplus / as sysdba
SQL> archive log list
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     6
Current log sequence           8

Oracle壓縮

要檢視是否啟用了Oracle壓縮,可以登入RMAN並檢查SBT_TAPE裝置的配置。

$ rman target /
RMAN> show device type;
RMAN configuration parameters for database with db_unique_name CVUNIXDB are:
CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET;
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET;

上面,壓縮在SBT_TAPE上啟用,但在DISK上禁用。 請注意,Commvault備份使用SBT_TAPE裝置。

如果根本沒有列出SBT_TAPE裝置,則不使用壓縮