C:\Users\Administrator>set ORACLE_SID=orcl
C:\Users\Administrator>rman target /
Recovery Manager: Release 19.0.0.0.0 - Production on Thu Nov 12 09:36:48 2020
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
connected to target database: ORCL (DBID=1562659286)
RMAN>
SQL*Plus - %edition_name%在建立Oracle備份集,備份和還原時需要此工具。
運行以下指令sqlplus / as sysdba以驗證SQL*Plus 是否已經安裝於Oracle 資料庫伺服器尚並且運行正常。
SQL*Plus運行於Oracle 19c的示例:
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Thu Nov 12 09:41:15 2020
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL>
Oracle內部流程檢查: 為使得Oracle實例執行流暢,請確保Oracle實例內部流程工作正常:
DBWO (Database Writer)
LGWR (Log Writer)
MMAN (Memory Manager Process)
PMON (Process Monitor)
PSPO (Process Spawner Process)
SMON (System Monitor)
CKPT (Checkpoint process (thread on Windows) that runs by default on Windows)
ARCO (Archive Process (or thread on Windows))
RECO (Distributed Recovery Background Process)
SQL> select name, description from v$bgprocess where PADDR <>'00';
NAME     DESCRIPTION
-----   ---------------------------------------
PMON     process cleanup
VKTM     Virtual Keeper of TiMe process
GEN0     generic0
DIAG     diagnosibility process
DBRM     DataBase Resource Manager
VKRM     Virtual sKeduler for Resource Manager
PSP0     process spawner 0
DIA0     diagnosibility process 0
MMAN     Memory Manager
DBW0     db writer process 0
TMON     Transport Monitor
ARC0     Archival Process 0
ARC1     Archival Process 1
ARC2     Archival Process 2
ARC3     Archival Process 3
LGWR     Redo etc.
CKPT     checkpoint
SMON     System Monitor Process
SMCO     Space Manager Process
RECO     distributed recovery
LREG     Listener Registration
CJQ0     Job Queue Coordinator
AQPC     AQ Process Coord
MMON     Manageability Monitor Process
MMNL     Manageability Monitor Process 2
Oracle資料庫伺服器支援版本: 請確保%edition_name%支援以下Oracle資料庫伺服器版本。
Oracle 19c
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Thu Nov 12 12:04:25 2020
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL>
Oracle 12c
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 12.1.0.1.0 - Production on Mon May 26 15:33:44 2019
Version 12.1.0.1.0
Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - Production
Version 12.1.0.1.0
SQL>
系統標識符(SID): 通過下列方法查詢SID:
- SQL command
SQL > select instance from v$thread;
INSTANCE
--------------------------------------
Orcl
請注意: 顯示的數據只是示例並可能與您的Oracle實例上顯示的不同。
或者
- 應用文本編輯器(例如Notepad++)開啟D:\oracle\admin\orcl\pfile路徑下的init.ora文檔,尋找下列句子。
###########################################
# Database Identification
###########################################
db_domain=""
db_name="orcl"
Oracle_home 路徑:
Oracle 19c
通過下列SQL查詢方法獲得Oracle_home 路徑。Oracle 19c 的Oracle_home 路徑是“D:\app\oracle\19.0.0\dbhome_1”。
- SQL 指令
SQL > SELECT file_spec FROM DBA_LIBRARIES WHERE library_name = 'DBMS_SUMADV_LIB';
FILE_SPEC
-----------------------------------------------
D:\app\oracle\19.0.0\dbhome_1\bin\oraqsmashr.dll
請注意:顯示的數據只是示例並可能與您的Oracle實例上顯示的不同。
或者
- 應用文本編輯器(例如Notepad++)開啟D:\oracle\admin\orcl\pfile路徑下的init.ora 文檔以驗證Oracle_home 路徑。
###########################################
# File Configuration
###########################################
control_files=("D:\app\oracle\oradata\ORCL\control01.ctl", "D:\app\oracle\oradata\ORCL\control02.ctl")
###########################################
Oracle 12c
通過下列SQL查詢方法獲得Oracle_home 路徑。Oracle 12c的Oracle_home 路徑是“D:\app\oracle\product\12.1.0\dbhome_1”。
!
請注意init.ora文檔中的oracle_home 路徑與通過SQL指令獲得的路徑必須一致。如果不一致,請聯繫Oracle資料庫管理員尋求支援。
資料庫狀態
ARCHIVELOG模式
Java 安裝: Oracle資料庫上必須安裝Java。 JServer JAVA Virtual Machine 和 Oracle Database Java Packages 是"VALID"。
SQL > select comp_name, status from dba_registry;
COMP_NAME                               STATUS
---------                               ------------
OWB                                                  VALID
Oracle Application Express               VALID
Oracle Enterprise Manager               VALID
OLAP Catalog                                   VALID
Spatial                                                VALID
Oracle Multimedia                                  VALID
Oracle XML Database                     VALID
Oracle Text                                         VALID
Oracle Expression Filter                 VALID
Oracle Rules Manager                     VALID
Oracle Workspace Manager              VALID
Oracle Database Catalog Views          VALID
Oracle Database Packages and Types    VALID
JServer JAVA Virtual Machine        VALID
Oracle XDK                                  VALID
Oracle Database Java Package          VALID
Oracle系統賬戶的JAVASYSPRIV權限: %edition_name%應用Oracle system 賬戶以連接Oracle資料庫伺服器從而授權備份和還原過程。system 賬戶必須具有下列權限。
使用下列指令查詢賬戶是否具有JAVASYSPRIV認證:
SQL> select * from DBA_ROLE_PRIVS where upper(grantee)='SYSTEM';
GRANTEE   GRANTED_ROLE           ADM   DEF   COM
-------   ------------           ---   ---   ---
SYSTEM   JAVASYSPRIV             NO     YES   NO
SYSTEM   AQ_ADMINISTRATOR_ROLE   YES   YES   YES
如果未有認證,授予system賬戶javasyspriv認證:
SQL> grant javasyspriv to system;
Grant succeeded.
Oracle系統賬戶的SYSDBA 特權:
使用下列指令查詢system賬戶是否具有SYSDBA 特權:
SQL> select * from v$pwfile_users where sysdba='TRUE';
USERNAME SYSDB SYSOP SYSAS SYSBA SYSDG SYSKM CON_ID
-------- ----- ----- ----- ----- ----- ----- ------
SYS       TRUE TRUE FALSE FALSE FALSE FALSE     0
SYSTEM   TRUE FALSE FALSE FALSE FALSE FALSE     1
如果未有認證,授予system賬戶sysdba特權:
Oracle 19c
SQL> grant sysdba to system container=ALL;
Grant succeeded
Oracle 12c
SQL> grant sysdba to system;
Grant succeeded
請確保開啟TNS listener服務以允許連結到Oracle資料庫伺服器。應用lsnrctl status指令查詢TNS listener服務是否正在運行。
如果TNS listener服務未有開啟,應用lsnrctl start指令開啟服務。
例如:Oracle 19c上正在運行TNS listener服務。
C:\Users\Administrator>lsnrctl status
LSNRCTL for 64-bit Windows: Version 19.0.0.0.0 - Production on 14-OCT-2020 16:45:29
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias        LISTENER
Version      TNSLSNR for 64-bit Windows: Version 19.0.0.0.0 - Production
Start Date   14-OCT-2020 11:11:04
Uptime       0 days 5 hr. 34 min. 27 sec
Trace Level   off
Security     ON: Local OS Authentication
SNMP         OFF
Listener Parameter File     D:\oracle\19.3.0\dbhome\network\admin\listener.ora
Listener Log File     D:\oracle\diag\tnslsnr\w12x-5-43\listener\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ora19c-w2k16)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=ora19c-w2k16)(PORT=5500))(Security=(my_wallet_directory=D:\ORACLE\admin\orcl\xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclcXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "pdborcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
如果未有開啟,應用下列指引開啟TNS listener:
C:\Users\Administrator>lsnrctl start
LSNRCTL for 64-bit Windows: Version 19.0.0.0.0 - Production on 21-OCT-2020 15:44:41
Copyright (c) 1991, 2019, Oracle. All rights reserved.
TNS-01106: Listener using listener name LISTENER has already been started
本地主機是可解析的
應用ping 127.0.0.1指令驗證Oracle資料庫伺服器的本地主機IP 127.0.0.1 是否可解析,因為這將是%edition_name%用來連接Oracle實例的IP地址。
C:\Users\Administrator>ping 127.0.0.1
Pinging 127.0.0.1 with 32 bytes of data:
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
C:\Users\Administrator>
Oracle連接埠號碼: 採用netstat 和tnsping指令驗證真正的連接埠號碼。
- NETSTAT
C:\Users\Administrator>netstat -a|more
Active Connections
Proto     Local Address     Foreign Address             State
TCP     0.0.0.0:135     w12x-5-43:0                 LISTENING
TCP     0.0.0.0:445     w12x-5-43:0            LISTENING
TCP     0.0.0.0:1521    w12x-5-43:0                 LISTENING
TCP     0.0.0.0:3389     w12x-5-43:0                 LISTENING
TCP     10.16.10.81:139     w12x-5-43:0                 LISTENING
TCP     10.16.10.81:1521     w12x-5-43:56851     ESTABLISHED
TCP     10.16.10.81:2030     w12x-5-43:0                 LISTENING
TCP     [::]:135         w12x-5-43:0                 LISTENING
TCP     [::]:445             w12x-5-43:0                 LISTENING
TCP     [::]:1521             w12x-5-43:0                 LISTENING
TCP     [::]:3389             w12x-5-43:0                 LISTENING
TCP     [fe80::4d71:5f81:58b0:552c%16]:2030     w12x-5-43:0     LISTENING
TCP     [fe80::713e:e2d4:8e82:5f77%17]:1521     w12x-5-43:56760     ESTABLISHED
TCP     [fe80::713e:e2d4:8e82:5f77%17]:2030     w12x-5-43:0     LISTENING
TCP     [fe80::713e:e2d4:8e82:5f77%17]:56760     w12x-5-43:1521     ESTABLISHED
請注意:顯示的數據只是示例並可能與您的Oracle實例上顯示的不同。
- TNSPING
C:\Users\Administrator>tnsping 127.0.0.1
TNS Ping Utility for 64-bit Windows: Version 19.0.0.0.0 - Production on 14-OCT-2020 16:54:27
Copyright (c) 1997, 2019, Oracle. All rights reserved.
Used parameter files:
D:\oracle\19.3.0\dbhome\network\admin\sqlnet.ora
Used EZCONNECT adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))
OK (0 msec)
Windows 用戶賬號權限: Windows用戶賬號必須為下列安全組中的一員。
- ORA_DBA
- ORA_OraDB19Home1_SYSBACKUP
- ORA_OraDB19Home1_SYSDG
- ORA_OraDB19Home1_SYSKM
Oracle 資料庫相關的Windows服務:請確保所有Oracle 資料庫相關的服務都已開啟。
- OracleJobScheduler$SID$
- OracleOraDB19Home1MTSRecoveryService
- OracleOraDB19Home1TNSListener
- OracleRemExecServiceV2
- OracleService$SID$
限制
- %edition_name% 不支援進階OracleOracle Express版本以及Oracle XE。
- 不支援對在遠程計算機上運行的Oracle 資料庫進行備份和還原。
- %edition_name% 不支援進階Oracle 資料庫建立,例如: Clusterware or RAC (Real Application Clusters), ASM (Automatic Storage Management), Data Guard 等等。
- %edition_name% Oracle 資料庫備份集支援對於一個Oracle實例的備份和還原。對於有多個Oracle實例建立的Oracle資料庫伺服器,要求每個實例對應一個獨立的備份集。
- 為還原一個完整Oracle 資料庫實例,下列項目必須在備份來源中被選擇:
- 一定要選擇 Oracle 資料庫伺服器。

-
當建立備份集時,全部的資料庫,包括SYSAUX, SYSTEM, UNDOTBS1, USERS 以及除了“TEMP”之外其他相關應用程式資料庫必須被選擇。否則,如果沒有這些資料庫的備份,無法完成一個完整Oracle資料庫實例還原。
請注意: 即使備份來源選擇“TEMP”,此數據庫也會在備份進程中被跳過。
最佳實踐和建議
- Oracle資料庫伺服器需要通過定期完整資料庫(Tablespaces, Control & Init File, Archived Logs)備份進行保護,建議至少每星期完整備份一次。
- 當建立備份集時,全部的資料庫,包括SYSAUX, SYSTEM, UNDOTBS1, USERS 以及除了“TEMP”之外其他相關應用程式資料庫必須被選擇。否則,如果沒有這些資料庫的備份,無法完成一個完整Oracle資料庫實例還原。
- 應在系統活動較少時安排完整資料庫備份或增量/差異資料庫備份,從而實現最佳性能並最大程度減少對資料庫伺服器性能的影響(例如: 排程為在週末運行)。
- 存檔日誌備份應該定期進行,備份頻率取決於存檔日誌的往來數目。資料庫的往來越多,存檔日誌備份應該越頻繁(例如: 進行每日多次備份取代每日單次備份)。
- 為提供最大程度的數據保護和靈活還原選項,建議進行下列配置:
- 至少一個非本地或雲儲存位置。
- 至少一個本地儲存位置以進行快速還原。
- 定期測試還原以確保備份設置且執行無誤。進行還原測試也可以幫助鑒定潛在問題或還原計劃的缺口。
不要嘗試將測試簡易化是非常重要的,因為測試成功的目的不是證明所有過程都是無誤的。
通過測試可能會發現還原計劃中的缺陷,鑒定這些缺陷是十分重要的。
- 還原原始文件選項是為進階Oracle用戶而制定,只有在熟知并理解Oracle資料庫時方可使用,否則並不建議使用這種還原選項因為需要應用額外的Oracle技術進行手動還原。
請參考以下文章以獲取更多相關資訊:
Oracle 19c
https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/index.html.
Oracle 12c
https://docs.oracle.com/database/121/BRADV/title.html.
設置備份集細節
欄位 |
描述 |
名稱 |
這是備份集的名稱。您可以建立一個有意義的名稱。
|
備份集類型 |
備份集的類型(例如:Oracle 資料庫伺服器備份)。
|
登錄ID |
這是登錄ID。預設登錄ID 為system。
|
密碼 |
這是用於登錄的密碼。
|
主機 |
數據不可被用戶更改。
|
連接埠 |
這是連接到Oracle 伺服器的的連接埠。預設為1521。
|
SID |
這是Oracle SID.
|
建立備份集:
- 輸入一個有意義的備份集名稱。
- 選擇備份集類型。
- 輸入登錄ID。
- 輸入密碼。
- 輸入連接埠。
- 輸入SID。
- 點擊[下一頁] 按鈕繼續。