data garud.docx
- 文档编号:10647672
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:24
- 大小:22.43KB
data garud.docx
《data garud.docx》由会员分享,可在线阅读,更多相关《data garud.docx(24页珍藏版)》请在冰豆网上搜索。
datagarud
OracleDataGuard是一种数据库级别的HA方案,最主要功能是冗灾、数据保护、故障恢复等。
在生产数据库的"事务一致性"时,使用生产库的物理全备份(或物理COPY)创建备库,备库会通过生产库传输过来的归档日志(或重做条目)自动维护备用数据库。
将重做数据应用到备用库。
本文介绍使用RMAN备份创建备库(dataguard).
一:
OracleDataGuard环境概述
1.软件环境
操作系统RedLinuxEnterpriseas5
数据库版本Oracle10grelease2
2.primarydatabae
IP:
192.168.18.1
ORACLE_SID=db1
db_unique_name=db1
3.standbydatabase
IP:
192.168.18.2
ORACLE_SID=standby
db_unique_name=standby
二,主数据库(db1)做准备
1.设置主数据库为Forcelogging
1.SQL> alter database force logging;
2.创建密码文件
1.cd $ORACLE_HOME/dbs/
2.orapwdfile=orapwdb1 password=123456 force=y
3.修改主库的初始化参数
1.alter system set log_archive_config='dg_config=(db1,standby)' scope=both;
2.alter system set log_archive_dest_1='location=/u01/db1/arch' scope=both;
3.alter system set db_unique_name='db1' scope=both;
4.生成数据库备份
1.RMAN> connect target sys/123456
2.RMAN> backup database format='/oracle/rmanback/%d_%s.dbf' plus archivelog;
3.[oracle@oracle rmanback]$ ls
4.DB1_1.dbfDB1_2.dbf
5.生成备库的controlfile
1.SQL>alter database create standby controlfile as '/oracle/rmanback/ctontrl01.ctl
6.配置listener.ora和tnsnames.ora文件
启动lintener.ora,
1.[oracle@oracle dbs]$ lsnrctl status
2.LSNRCTL for Linux:
Version 10.2.0.4.0 - Production on 14-JUN-2009 02:
54:
29
3.Service "db1" has 1 instance(s).
4.Instance "db1", status READY, has 1 handler(s) for this service...
5.Service "db1_XPT" has 1 instance(s).
6.Instance "db1", status READY, has 1 handler(s) for this service...
7.The command completed successfully
配置rnsnames.ora
1.vi $ORACLE_HOME/network/admin/tnsnames.ora
2.db1 =
3. (DESCRIPTION =
4. (ADDRESS_LIST =
5. (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.18.1)(PORT = 1521))
6. )
7. (CONNECT_DATA =
8. (SERVICE_NAME = db1)
9.standby =
10. (DESCRIPTION =
11. (ADDRESS_LIST =
12. (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.18.2)(PORT = 1521))
13. )
14. (CONNECT_DATA =
15. (SERVICE_NAME = standby)
16. )
17. )
三.创建standbydatabase
1.设置环境变量并安装oracle软件
1.#环境变量设成与主库一样
2.#只安装软件不安装库
3../runInstaller –silent –responseFile /tmp/installoracle.rsp
2.建立相关的目录
1.cd $ORACLE_HOME/dbs/
2.orapwdfile=orapwSID password=123456 force=y
3.#注要密码要与主库的一样, 否则会归档失败
3.建立密码文件
1.cd $ORACLE_HOME/dbs/
2.orapwd file=orapwSID password=123456 force=y
3.#注要密码要与主库的一样, 否则会归档失败
3.建立参数文件(pfile)
1.db_name = standby
2.shared_pool_size = 120M
3.undo_management = AUTO
4.undo_tablespace = undotbs
5.sga_max_size = 200M
6.sga_target = 160M
7.db_2k_cache_size = 4M
8.
9.standby_file_management=AUTO
10.fal_server='db1'
11.fal_client='standby'
12.log_archive_dest_1='location=/u01/app/oracle/product/10.2.0/dbs/arch'
13.log_archive_dest_2='SERVICE=db1 REOPEN=300'
14.log_archive_dest_state_1='ENABLE'
15.log_archive_dest_state_2='ENABLE'
4.CP主数据库RMAN备份及控制文件到备库
注意:
备份存放位置要与primarydatabaseRMAN备份文件的位置相同.控制文件存放位置要与生成standbydatabasecontrolfile的位置相同
1.scp /oracle/rmanback/*.dbf root@192.168.18.2:
/oracle/rmanback/
2.scp /oracle/rmanback/*.ctl root@192.168.18.2:
/oracle/oracle/oradata/standby/
5.利用备用的控制文件,把备用数据库启到mount
1.SQL>connect / as sysdba
2.connnpcted to an idle instance.
3.SQL>startup nomount pfile=$ORACLE_HOME/dbs/initstandby.ora
4.SQL>alter database mount standby database
6.配置listener.ora和tnsnames.ora文件.
与主库相同启动listener,tnsnames.ora也与主库配置的一样,
当主备库的监听都启动后,进行测试,以例下面能顺利进行
1.tnsping db1
2.tnsping standby
3.SQL> sqlplus sys/123456@db1
4.SQL> sqlplus sys/123456@standby
7.转储数据库
1.RMAN>connect target /
2.connected to target database:
TEST(DBID=788075692)
3.RMAN> restore database
8.恢复数据库。
1.SQL>recover managed standby database disconnect from session;
2.#如果有需要应用的日志并想手工应用,可以运行如下命令
3.SQL>recover automatic standby database;
9.检查standbydatabase是否创建成功
a.在primarydatabase上切换日志
1.SQL> alter system switch logfile
b.在primarydatabase上运行下面的语句
1.SQL> select max(sequence#) from v$archived_log;
2.MAX(SEQUENCE#)
3.--------------
4.17
c.在standbydatabase上运行下面的语句
1.SQL> select sequence# ,applied from v$archived_log order by sequence#;
2. SEQUENCE# APP
3.--------------------- ---
4.15YES
5.16YES
6.17YES
若在上步中的maxsequence#在的的app状态为YES说明standbydatabase成功创建.
10.以spfile启动并设为只读
1.SQL> create spfile from pfile;
2.SQL> shutdown immedaite
3.SQL> startup mount
4.SQL> alter database recover managed standby database disconnect from session;
5.SQL> alter database open read only;
1.主节点备份并生成备用数据库控制文件
设置主节点为forceLogging模式(为了双向切换,建议备用节点也设置为forcelogging模式)
ALTERDATABASEFORCELOGGING;
设置主节点为归档模式
登陆主节点,进行数据库备份,并生成备用数据库控制文件
Lastlogin:
MonAug916:
46:
472004from172.16.32.65[root@standbyroot]#su-oracle
[oracle@standbyoracle]$sqlplus"/assysdba"
SQL*Plus:
Release9.2.0.4.0-ProductiononMonAug1610:
16:
182004
Copyright(c)1982,2002,OracleCorporation.Allrightsreserved.
Connectedtoanidleinstance.
SQL>startup
ORACLEinstancestarted.
TotalSystemGlobalArea135337420bytes
FixedSize452044bytes
VariableSize109051904bytes
DatabaseBuffers25165824bytes
RedoBuffers667648bytes
Databasemounted.
Databaseopened.
SQL>selectnamefromv$datafile;
NAME
------------------------------------------------------------
/opt/oracle/oradata/primary/system01.dbf
/opt/oracle/oradata/primary/undotbs01.dbf
/opt/oracle/oradata/primary/users01.dbf
SQL>shutdownimmediate
Databaseclosed.
Databasedismounted.
ORACLEinstanceshutdown.
SQL>exit
DisconnectedfromOracle9iEnterpriseEditionRelease9.2.0.4.0-Production
WiththePartitioningoption
JServerRelease9.2.0.4.0-Production
[oracle@standbyoracle]$ls
admindictionary.orajreoradataoraInventoryouiproductsoft
[oracle@standbyoracle]$tar-cvforadata.taroradata
oradata/
oradata/primary/
oradata/primary/archive/
oradata/primary/control01.ctl
oradata/primary/control02.ctl
oradata/primary/control03.ctl
oradata/primary/redo01.log
oradata/primary/redo02.log
oradata/primary/redo03.log
oradata/primary/system01.dbf
oradata/primary/undotbs01.dbf
oradata/primary/temp01.dbf
oradata/primary/users01.dbf
[oracle@standbyoracle]$ls-l*.tar
-rw-r--r--1oracledba576512000Aug1610:
22oradata.tar
[oracle@standbyoracle]$id
uid=800(oracle)gid=800(dba)groups=800(dba)
[oracle@standbyoracle]$hostname
standby
[oracle@standbyoracle]$sqlplus"/assysdba"
SQL*Plus:
Release9.2.0.4.0-ProductiononMonAug1610:
27:
542004
Copyright(c)1982,2002,OracleCorporation.Allrightsreserved.
Connectedtoanidleinstance.
SQL>startup
ORACLEinstancestarted.
TotalSystemGlobalArea135337420bytes
FixedSize452044bytes
VariableSize109051904bytes
DatabaseBuffers25165824bytes
RedoBuffers667648bytes
Databasemounted.
Databaseopened.
SQL>archiveloglist;
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/opt/oracle/oradata/primary/archive
Oldestonlinelogsequence88
Nextlogsequencetoarchive90
Currentlogsequence90
SQL>alterdatabasecreatestandbycontrolfileas'/opt/oracle/stdcotrl.ctl';
Databasealtered.
SQL>!
ls[oracle@standbyoracle]$ls
admindictionary.orajreoradataoradata.taroraInventoryouiproductsoftstdcotrl.ctl
2.从主节点创建pfile文件
SQL>createpfilefromspfile;
Filecreated.
SQL>!
[oracle@standbyoracle]$cd$ORACLE_HOME/dbs
[oracle@standbydbs]$ls
initdw.orainit.orainitprimary.oralkPRIMARYorapwprimaryspfileprimary.orasqlnet.log
3.登陆备用节点,ftp获得数据库文件、备用控制文件及参数文件
Lastlogin:
MonAug1608:
47:
582004from172.16.32.65
[root@eygleroot]#su-oracle
[oracle@eygleoracle]$ls
admindocjreoradataoraInventoryouiproduct
[oracle@eygleoracle]$df-k
Filesystem1K-blocksUsedAvailableUse%Mountedon
/dev/sda151548523360600153239669%/
/dev/sda7101089257447012627%/home
/dev/sda541270762686152123128069%/opt
none51529605152960%/dev/shm
/dev/sda241271082218172169928857%/usr
/dev/sda6206350410774418509406%/var
[oracle@eygleoracle]$ftp172.16.33.58
Connectedto172.16.33.58(172.16.33.58).
220(vsFTPd1.2.0)
Name(172.16.33.58:
root):
oracle
331Pleasespecifythepassword.
Password:
230Loginsuccessful.
ftp>ls
227EnteringPassiveMode(172,16,33,58,222,252)
150Herecomesthedirectorylisting.
drwxr-xr-x38008004096Jun3007:
02admin
-rw-r--r--18008005422222Jul1311:
58dictionary.ora
-rw-r--r--18008001165Aug1602:
51initprimary.ora
drwxrwxr-x48008004096Jun3006:
29jre
drwxrwxr-x128008004096Jun3006:
44oraInventory
drwxr-xr-x38008004096Jul0106:
15oradata
-rw-r--r--1800800576512000Aug1602:
22oradata.tar
drwxrwxr-x68008004096Jun3006:
29oui
drwxr-xr-x38008004096Jun3005:
18product
drwxr-xr-x68008004096Jun3004:
24soft
-rw-r-----18008001662976Aug1602:
37stdcotrl.ctl
226DirectorysendOK.
ftp>bin
200SwitchingtoBinarymode.
ftp>mgetoradata.tar
mgetoradata.tar?
y
227EnteringPassiveMode(172,16,33,58,238,132)
150OpeningBINARYmodedataconnectionfororadata.tar(576512000bytes).
226FilesendOK.
576512000bytesreceivedin49.2secs(1.1e+04Kbytes/sec)
ftp>mget*.ctl
mgetstdcotrl.ctl?
y
227EnteringPassiveMode(172,16,33,58,73,35)
150OpeningBINARYmodedataconnectionforstdcotrl.ctl(1662976bytes).
226FilesendOK.
1662976bytesreceivedin0.14secs(1.2e+04Kbytes/sec)
ftp>mgetinitprimary.ora
mgetinitprimary.ora?
y
227EnteringPassiveMode(172,16,33,58,194,239)
150OpeningBINARYmodedataconnectionforinitprimary.ora(1165bytes).
226FilesendOK.
1165bytesreceivedin0.000325secs(3.5e+03Kbytes/sec)
ftp>bye
221Goodbye.
[oracle@eygleoracle]$ls
admindocinitprimary.orajreoradataoradata.taroraInventory
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- data garud