Oracle備份與恢復系列 (一)實驗環境介紹
實驗環境簡介:
建立測試使用者snow,該使用者擁有一個表,一個儲存過程,一項任務起作用很簡單,就是模擬一個使用者每分鐘像資料庫插入一條時間戳,產生資料庫行為。在備份與恢復的過程中,該時間戳可以檢測恢復操作是否順利完成。
檢視資料庫名稱和歸檔模式
SYS@PRACTICE >col name for a10
SYS@PRACTICE >col log_mode for a10
SYS@PRACTICE >select name, log_mode from v$database;
NAME LOG_MODE
---------- ----------
PRACTICE ARCHIVELOG
檢視資料庫版本
SYS@PRACTICE >select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
資料檔案
SYS@PRACTICE >col name for a40
SYS@PRACTICE >select name,bytes/1024/1024 MB from v$datafile;
NAME MB
---------------------------------------- ----------
/oradata/PRACTICE/system01.dbf 710
/oradata/PRACTICE/sysaux01.dbf 570
/oradata/PRACTICE/undotbs01.dbf 110
/oradata/PRACTICE/users01.dbf 5
/oradata/PRACTICE/example01.dbf 313.125
/oradata/PRACTICE/tools01.dbf 20
/oradata/PRACTICE/indx.dbf 20
下面的語句也可以顯示同樣的資料
select file_name, bytes/1024/1024 MB from dba_data_files;
檢視聯機重做日誌的位置和大小
SYS@PRACTICE >select member,bytes/1024/1024 MB from v$logfile lf, v$log l where lf.group# = l.group#;
MEMBER MB
------------------------------------------------------------ ----------
/oradata/PRACTICE/redo03.log 50
/oradata/PRACTICE/redo02.log 50
/oradata/PRACTICE/redo01.log 50
檢視控制檔案的位置
SYS@PRACTICE >col name for a100
SYS@PRACTICE >select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
/oradata/PRACTICE/control01.ctl
/u01/app/oracle/fast_recovery_area/PRACTICE/control02.ctl
檢視臨時檔案的位置及大小
SYS@PRACTICE >select name,bytes/1024/1024 MB from v$tempfile;
NAME MB
---------------------------------------- ----------
/oradata/PRACTICE/temp01.dbf 29
建立測試使用者SNOW
GRANT CONNECT, RESOURCE, UNLIMITED TABLESPACE TO snow IDENTIFIED BY snow;
ALTER USER snow DEFAULT TABLESPACE TOOLS;
ALTER USER snow TEMPORARY TABLESPACE TEMP;
建立時間戳表
CONNECT snow/snow
DROP TABLE date_log;
CREATE TABLE date_log (
create_time DATE CONSTRAINT create_date_pk PRIMARY KEY USING INDEX TABLESPACE INDX,
name varchar2(10)
);
col segment_name for a15
col TABLESPACE_NAME for a15
select segment_name,tablespace_name from user_segments;
SEGMENT_NAME TABLESPACE_NAME
--------------- ---------------
DATE_LOG TOOLS
CREATE_DATE_PK INDX
基於時間戳表建立一個儲存過程
conn snow/snow
CREATE OR REPLACE PROCEDURE create_date_log_row
IS
BEGIN
INSERT INTO date_log VALUES (SYSDATE,'--');
END;
/
建立一個job來執行儲存過程,來模擬資料庫在“執行中”
每分鐘執行一次
conn snow/snow
VARIABLE jobno number;
BEGIN
-- Run the job every 1 minutes
DBMS_JOB.SUBMIT(:jobno, 'snow.create_date_log_row;', SYSDATE, '(SYSDATE + 1/(24*60))');
commit;
END;
/
SNOW@PRACTICE >print jobno
JOBNO
----------
24
SNOW@PRACTICE >col what for a30
SNOW@PRACTICE >SELECT job, what FROM USER_JOBS;
JOB WHAT
---------- ------------------------------
24 snow.create_date_log_row;
未完待續.....
建立測試使用者snow,該使用者擁有一個表,一個儲存過程,一項任務起作用很簡單,就是模擬一個使用者每分鐘像資料庫插入一條時間戳,產生資料庫行為。在備份與恢復的過程中,該時間戳可以檢測恢復操作是否順利完成。
檢視資料庫名稱和歸檔模式
SYS@PRACTICE >col name for a10
SYS@PRACTICE >col log_mode for a10
SYS@PRACTICE >select name, log_mode from v$database;
NAME LOG_MODE
---------- ----------
PRACTICE ARCHIVELOG
檢視資料庫版本
SYS@PRACTICE >select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
資料檔案
SYS@PRACTICE >col name for a40
SYS@PRACTICE >select name,bytes/1024/1024 MB from v$datafile;
NAME MB
---------------------------------------- ----------
/oradata/PRACTICE/system01.dbf 710
/oradata/PRACTICE/sysaux01.dbf 570
/oradata/PRACTICE/undotbs01.dbf 110
/oradata/PRACTICE/users01.dbf 5
/oradata/PRACTICE/example01.dbf 313.125
/oradata/PRACTICE/tools01.dbf 20
/oradata/PRACTICE/indx.dbf 20
下面的語句也可以顯示同樣的資料
select file_name, bytes/1024/1024 MB from dba_data_files;
檢視聯機重做日誌的位置和大小
SYS@PRACTICE >select member,bytes/1024/1024 MB from v$logfile lf, v$log l where lf.group# = l.group#;
MEMBER MB
------------------------------------------------------------ ----------
/oradata/PRACTICE/redo03.log 50
/oradata/PRACTICE/redo02.log 50
/oradata/PRACTICE/redo01.log 50
檢視控制檔案的位置
SYS@PRACTICE >col name for a100
SYS@PRACTICE >select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
/oradata/PRACTICE/control01.ctl
/u01/app/oracle/fast_recovery_area/PRACTICE/control02.ctl
檢視臨時檔案的位置及大小
SYS@PRACTICE >select name,bytes/1024/1024 MB from v$tempfile;
NAME MB
---------------------------------------- ----------
/oradata/PRACTICE/temp01.dbf 29
建立測試使用者SNOW
GRANT CONNECT, RESOURCE, UNLIMITED TABLESPACE TO snow IDENTIFIED BY snow;
ALTER USER snow DEFAULT TABLESPACE TOOLS;
ALTER USER snow TEMPORARY TABLESPACE TEMP;
建立時間戳表
CONNECT snow/snow
DROP TABLE date_log;
CREATE TABLE date_log (
create_time DATE CONSTRAINT create_date_pk PRIMARY KEY USING INDEX TABLESPACE INDX,
name varchar2(10)
);
col segment_name for a15
col TABLESPACE_NAME for a15
select segment_name,tablespace_name from user_segments;
SEGMENT_NAME TABLESPACE_NAME
--------------- ---------------
DATE_LOG TOOLS
CREATE_DATE_PK INDX
基於時間戳表建立一個儲存過程
conn snow/snow
CREATE OR REPLACE PROCEDURE create_date_log_row
IS
BEGIN
INSERT INTO date_log VALUES (SYSDATE,'--');
END;
/
建立一個job來執行儲存過程,來模擬資料庫在“執行中”
每分鐘執行一次
conn snow/snow
VARIABLE jobno number;
BEGIN
-- Run the job every 1 minutes
DBMS_JOB.SUBMIT(:jobno, 'snow.create_date_log_row;', SYSDATE, '(SYSDATE + 1/(24*60))');
commit;
END;
/
SNOW@PRACTICE >print jobno
JOBNO
----------
24
SNOW@PRACTICE >col what for a30
SNOW@PRACTICE >SELECT job, what FROM USER_JOBS;
JOB WHAT
---------- ------------------------------
24 snow.create_date_log_row;
未完待續.....
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29047826/viewspace-1242742/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 備份和恢復介紹Oracle
- oracle 增量備份恢復驗證Oracle
- Oracle 備份 與 恢復 概述Oracle
- 備份與恢復oracle_homeOracle
- Oracle 12c 備份與恢復Oracle
- RAC備份恢復之Voting備份與恢復
- 備份與恢復:polardb資料庫備份與恢復資料庫
- MySQL備份與恢復——實操MySql
- Oracle 備份恢復之 FlashbackOracle
- ORACLE備份&恢復案例(轉)Oracle
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- Jenkins備份與恢復Jenkins
- Postgresql 備份與恢復SQL
- MySQL 備份與恢復MySql
- ORACLE備份&恢復案例三(轉)Oracle
- ORACLE備份&恢復案例二(轉)Oracle
- ORACLE本地磁碟備份恢復Oracle
- MySQL入門--備份與恢復(一)MySql
- 【ASK_ORACLE】Oracle 12c之CDB與PDB的備份與恢復(二)備份恢復之前你需要知道的Oracle
- Mysql備份與恢復(1)---物理備份MySql
- Oracle 11g R2 備份與恢復Oracle
- Oracle邏輯備份與恢復選項說明Oracle
- MySQL備份與恢復——基於MyDumper/MyLoader 邏輯備份恢復MySql
- Active Directory 恢復與備份最佳實操
- Oracle 備份恢復篇之RMAN catalogOracle
- ORACLE DG從庫 Rman備份恢復Oracle
- DB的備份與恢復
- GitLab的備份與恢復Gitlab
- MySQL 非常規恢復與物理備份恢復MySql
- Mysql備份與恢復(2)---邏輯備份MySql
- Oracle 9i統計資訊備份與恢復Oracle
- MySQL備份與恢復——基於OUTFILE /LOAD DATA 邏輯備份恢復MySql
- Flask框架(一):介紹與環境搭建Flask框架
- 【RMAN】在多租戶環境下的RMAN備份及恢復
- 【BAK_ORACLE】Oracle 12c之CDB與PDB的備份與恢復(三)CDB與PDB的備份方式Oracle
- SqlServer 備份和恢復(一)SQLServer
- GitLab的自動備份、清理備份與恢復Gitlab
- 《入門MySQL—備份與恢復》MySql
- DB2備份與恢復DB2