日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle9i解密rewrap,ORACLE9I+DATAGUARD+RMAN

發布時間:2025/3/21 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle9i解密rewrap,ORACLE9I+DATAGUARD+RMAN 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ORACLE9I+DATAGUARD+RMAN

第一、修改數據庫為歸檔模式

SQL> startup mount;

SQL> alter database archivelog;

SQL> alter database open;

SQL> alter system archive log start;

第二、復制數據庫

1.利用RMAN來復制數據庫,步驟如下(一般不是文件系統才使用此方法).

******************RMAN備份用戶需要的權限*****************

SQL>grant recovery_catalog_owner to rman;

SQL>grant connect, resource to rman;

***********************************************************

Rman nocatalog target sys/sys@ORACLE_SID

RMAN>Backup database;

RMAN> Backup current controlfile for standby;

RMAN> sql "Alter System Archive Log Current";

RMAN>exit;

2.操作系統的復制(一般適合文件系統)

第三、配置DATAGUARD

1.創建備用數據庫的參數和控制文件。

SQL>create pfile from spfile;

SQL>alter database create standby controlfile as ‘/path/filename’;

SQL>alter system archive log current;

2.修改/添加參數文件.

Primary INIT.ORA setup:

==========================

db_name = PROD

instance_name = PROD

fal_client = PROD

fal_server= STANDBY

log_archive_dest_1 = 'LOCATION= /arch'

log_archive_dest_2 = 'SERVICE=STANDBY LGWR ASYNC AFFIRM'

log_archive_format = %t_%s.arc

log_archive_start = true

remote_login_passwordfile = EXCLUSIVE

service_names =PROD

Standby INIT.ORA setup:

==========================

# Copy the init.ora from production to standby.

# Edit the initSTANDBY.ora to make neccessary changes:

db_name = "PROD"-- Must match the production database.

instance_name = STANDBY-- Instance identifier

lock_name_space = STANDBY-- Used when the standby or clone have the same

name as the production database being copied.

service_names = STANDBY-- Specifies the service names supported by the

instance.

fal_client = STANDBY-- Specifies the service name resolved from the

remote host to fetch archive logs to local.

fal_server = PROD-- Specifies the service name resolved on the

local host to request archive logs from remote.

db_file_name_convert= ('/p01/oradata/PROD',

'/u03/STANDBY/oradata')

log_file_name_convert= ('/p01/oradata/PROD',

'/u03/STANDBY/oradata')

# Use these parameters if you have a different filesystem structure on the

# standby. Then edit all the dump_dest and controlfile locations for the

# standby site.

standby_archive_dest = /p01/app/oracle/product/9.0.1/dbs/arch

standby_file_management = auto

REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE

可以用以下語句來進行模式間的切換,默認是maximizeperformance。

ALTER?DATABASE?SET?STANDBY?DATABASE?TO?MAXIMIZE?{PROTECTION?|?AVAILABILITY?|?PERFORMANCE};

修改主數據庫保護模式需要重啟數據庫才能生效。

select protection_mode,protection_level from v$database;

3.配置網絡連接

修改TNSNAMES.ORA文件。修改完畢后tnsping測試通過,否則日志傳輸會受到影響。

4.啟動備用數據庫

SQL>startup nomount;

SQL>alter database mount standby database;

SQL>alter database recover managed standby database disconnect from session.

5.配置完畢后檢查data-guard是否正常工作。

cd $ORACLE_BASE/admin/[SID]/bdump

tail –f alert_[SID].log如果看到如下信息說明data-guard已經正常運行。

…………………

Meadia Recovery Waitting from thread 1 seq#5

Completed:alter database recover managed standby database…

Media Recovery log /oracle/oradata/db/archive/1_5.arc

Media Recovery Waitting from thread 1 seq#6

4.注意一下幾種情況是不會產生日志

Direct path load

用子查詢建立表

在主數據庫上建立索引

表或索引的屬性為nologging

如果主數據庫的操作不產生日志,所做的修改就不會應用到備份數據庫上,所以在建立備用數據庫的時候,我們應該在主數據庫上執行alter database force logging命令以強制生成日志。

5.數據庫角色的轉換

Alter database commit to switchover

把主數據庫轉換成物理備用數據庫

alter?database?commit?to?switchover?to?physical?standby?with?session?shutdown;

shutdown

startup?nomount?pfile=/dbs/inittbdbsdby.ora

alter?database?mount?standby?database;

recover?managed?standby?database?disconnect;

把備用數據庫轉換成主數據庫

alter?database?commit?to?switchover?to?primary;

shutdown

startup?pfile=/dbs/inittbdb.ora

1、如果在備用端有活動的未歸檔的日志,或者有從主數據庫拷貝過來的聯機日志,可以采

用如下的辦法注冊并恢復

SQL>?ALTER?DATABASE?REGISTER?LOGFILE?'/u01/oracle/oradata/tbdb/archive/1_87.dbf';

SQL>recover?standby?database;

2、如果有活動日志,必須用

alter?database?recover?managed?standby?database?finish;

否則用

alter?database?recover?managed?standby?database?finish?skip?standby?logfile;

這樣切換的備用服務器可以避免最小的數據丟失和不用resetlogs,特別是對于用多個備用服務器的時候,該服務器可以馬上作為主服務器而不用重新創建備用服務器

主機rman nocatalog備份數據庫。每個星期五21:00點開始全庫備份,周一至周四備份歸檔日志。

配置策略:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1;(備份策略保持)

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 5 DAYS;(是保證至少有一個備份能恢復到Sysdate-5的時間點上,之前的備份將標記為Obsolete)

CONFIGURE RETENTION POLICY TO REDUNDANCY 5;(至少需要有三個冗余的備份存在,如果多余三個備份以上的備份將標記為冗余)

CONFIGURE RETENTION POLICY TO NONE;(NONE可以把使備份保持策略失效)

CONFIGURE RETENTION POLICY TO CLEAR;(Clear將恢復默認的保持策略)

CONFIGURE BACKUP OPTIMIZATION OFF;(備份優化開關)

CONFIGURE DEFAULT DEVICE TYPE TO DISK;(配置默認IO設備類型)

CONFIGURE CONTROLFILE AUTOBACKUP OFF;(自動備份控制文件開關)

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR TYPE DISK TO '%F'; (指定控制文件的備份路徑與格式)

CONFIGURE DEVICE TYPE DISK PARALLELISM 1;(并行備份,同時開啟1個通道進行備份與恢復)

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1;(多個備份的拷貝數目)

CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; (多個歸檔備份的拷貝數目)

CONFIGURE MAXSETSIZE TO UNLIMITED;(備份集大小限制)

CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/9.0.2/dbs/snapcf_U02.f'; (在備份期間,將產生一個控制文件的快照,用于控制文件的讀一致性)

################################################

# My configure

################################################

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 14 DAYS;

CONFIGURE BACKUP OPTIMIZATION ON;

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR TYPE DISK TO '/BACKUP/Control_%d_%T';

CONFIGURE DEVICE TYPE DISK PARALLELISM 3;

CONFIGURE MAXSETSIZE TO 2G;

###############################################

#%c備份片的拷貝數

#%d數據庫名稱

#%D位于該月中的第幾天(DD)

#%M位于該年中的第幾月(MM)

#%F一個基于DBID唯一的名稱,這個格式的形式為c-IIIIIIIIII-YYYYMMDD-QQ,

#其中IIIIIIIIII為該數據庫的DBID,YYYYMMDD為日期,QQ是一個1-256的序

#列

#%n數據庫名稱,向右填補到最大八個字符

#%u一個八個字符的名稱代表備份集與創建時間

#%p該備份集中的備份片號,從1開始到創建的文件數

#%U一個唯一的文件名,代表%u_%p_%c

#%s備份集的號

#%t備份集時間戳

#%T年月日格式(YYYYMMDD)

###################################################

#FULL BACKUP (Every firday full backup at 21:00)

###################################################

Export dt=`date +%Y%m%d`

Export ORACLE_SID=

EXPORT ORACLE_HOME=

Rman nocatalog target username/password@$ORACLE_SID msglog /BACKUP/LOG/$ORACLE_SID_$dt.log append <

run {

Allocate channel ch01 type disk;

Allocate channel ch02 type disk;

Allocate channel ch03 type disk;

backup

full

tag 'full_db'

format '/backup/Full_%d_%T_%s_%p'

database;

sql 'alter system archive log current';

backup archivelog all delete input;

release channel ch01;

release channel ch02;

release channel ch03;

}

########################################################################

#Incremental backups (Every Monday to firday backup archive log)

########################################################################

Export dt=`date +%Y%m%d`

Export ORACLE_SID=

EXPORT ORACLE_HOME=

Rman nocatalog target username/password@$ORACLE_SID msglog /u01/$ORACLE_SID_$dt.log append <

run {

Allocate channel ch01 type disk;

Allocate channel ch02 type disk;

Allocate channel ch03 type disk;

sql 'alter system archive log current';

backup

format '/backup/arc_%d_%T_%s_%p'

backup archivelog all delete input;

release channel ch01;

release channel ch02;

release channel ch03;

}

*BACKUP ARCHIVELOG UNTIL TIME 'SYSDATE-7';根據時間備份日志(待測試)

######################################################################

#Delete 14 days before the archive log

######################################################################

Rman nocatalog target username/password@$ORACLE_SID msglog /u01/$ORACLE_SID_$dt.log append <

ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE disk;

DELETE NOPROMPT BACKUP OF DATABASE COMPLETED BEFORE 'SYSDATE-14';

######################################################################

#Delete the last backup

######################################################################

Delete命令可以用來刪除指定的備份或者用來刪除廢棄或者是過期的備份集

如刪除指定的備份集與備份片

RMAN> DELETE BACKUPPIECE 101;

RMAN> DELETE CONTROLFILECOPY '/tmp/control01.ctl';

RMAN> DELETE BACKUP OF TABLESPACE users DEVICE TYPE sbt;

刪除過期或者廢棄了的備份

RMAN> DELETE EXPIRED BACKUP;

RMAN> DELETE NOPROMPT OBSOLETE;

RMAN> DELETE OBSOLETE REDUNDANCY = 3;

RMAN> DELETE OBSOLETE RECOVERY WINDOW OF 7 DAYS;

刪除指定的備份歸檔

RMAN> DELETE NOPROMPT ARCHIVELOG UNTIL SEQUENCE = 300;

#####################################################################

#

#####################################################################

Crosscheck命令

檢查磁盤或磁帶上的備份或拷貝是否正確,并更新備份或者拷貝的狀態

如果不正確,將標記為expired(過期)

Crosscheck backup;

Crosscheck archivelog all;

Delete [noprompt] expired backup命令刪除過期備份

也可以用List來查看相應的報告

LIST EXPIRED BACKUP;

LIST EXPIRED BACKUP SUMMARY;

總結

以上是生活随笔為你收集整理的oracle9i解密rewrap,ORACLE9I+DATAGUARD+RMAN的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。