基于RMAN搭建DataGuard,使用Broker管理DataGuard
一、环境准备
1、数据库软件准备
2、操作系统配置
$ cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.56.31 xiaohe_dg1192.168.56.32 xiaohe_dg2
3、数据库部分参数
| 角色 | 主机名 | 数据库实例 | db_domain |
| 主库 | xiaohe_dg1 | xiaohe | xiaohe.com |
| 备库 | xiaohe_dg2 | xiaohedg | xiaohe.com |
二、配置数据库
1、主库打开数据库
SQL> startup
2、配置监听
SQL> show parameter db_domain;NAME TYPE VALUE------------------------------------ ----------- ------------------------------db_domain stringSQL>SQL> alter system set db_domain='xiaohe.com' scope=spfile;- SQL> shutdown immediate
- SQL> startup
- SQL> show parameter db_domain;
NAME TYPE VALUE------------------------------------ ----------- ------------------------------db_domain string xiaohe.com
$ cat listener.oraLISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=xiaohe_dg1)(PORT=1521))))SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(GLOBAL_DBNAME=xiaohe_DGMGRL.xiaohe.com)(ORACLE_HOME=/u01/app/oracle/product/11.2.0)(SID_NAME=xiaohe)))
$ cat listener.oraLISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=xiaohe_dg2)(PORT=1521))))SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(GLOBAL_DBNAME=xiaohedg_DGMGRL.xiaohe.com)(ORACLE_HOME=/u01/app/oracle/product/11.2.0)(SID_NAME=xiaohedg)))
[oracle@xiaohe_dg2 admin]$ lsnrctl startLSNRCTL for Linux: Version 11.2.0.3.0 - Production on 18-MAR-2017 18:32:48Copyright (c) 1991, 2011, Oracle. All rights reserved.Starting /u01/app/oracle/product/11.2.0/bin/tnslsnr: please wait...TNSLSNR for Linux: Version 11.2.0.3.0 - ProductionSystem parameter file is /u01/app/oracle/product/11.2.0/network/admin/listener.oraLog messages written to /u01/app/oracle/diag/tnslsnr/xiaohe_dg2/listener/alert/log.xmlListening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xiaohe_dg2)(PORT=1521)))Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xiaohe_dg2)(PORT=1521)))STATUS of the LISTENER------------------------Alias LISTENERVersion TNSLSNR for Linux: Version 11.2.0.3.0 - ProductionStart Date 18-MAR-2017 18:32:49Uptime 0 days 0 hr. 0 min. 1 secTrace Level offSecurity ON: Local OS AuthenticationSNMP OFFListener Parameter File /u01/app/oracle/product/11.2.0/network/admin/listener.oraListener Log File /u01/app/oracle/diag/tnslsnr/xiaohe_dg2/listener/alert/log.xmlListening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xiaohe_dg2)(PORT=1521)))Services Summary...Service "xiaohedg_DGMGRL.xiaohe.com" has 1 instance(s).Instance "xiaohedg", status UNKNOWN, has 1 handler(s) for this service...The command completed successfully
3、配置tnsnames
$ cat tnsnames.oraxiaohe_dg1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=xiaohe_dg1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=xiaohe_DGMGRL.xiaohe.com)))xiaohe_dg2=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=xiaohe_dg2)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=xiaohedg_DGMGRL.xiaohe.com)))
[oracle@xiaohe_dg1 admin]$ sqlplus sys/oracle123@xiaohe_dg1 as sysdbaSQL*Plus: Release 11.2.0.3.0 Production on Sat Mar 18 19:02:30 2017Copyright (c) 1982, 2011, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL>
$ scp tnsnames.ora xiaohe_dg2:/u01/app/oracle/product/11.2.0/network/admin/oracle@xiaohe_dg2's password:tnsnames.ora 100% 333 0.3KB/s 00:00
4、开启主库的归档模式
[oracle@xiaohe_dg1 oradata]$ mkdir archive[oracle@xiaohe_dg1 oradata]$ cd archive/[oracle@xiaohe_dg1 archive]$ pwd/oradata/archive
SQL> shutdown immediateSQL> startup mountSQL> alter database archivelog;- SQL> alter system set log_archive_dest_1='location=/oradata/archive' scope=spfile;
- SQL> shutdown immediate;
SQL> startupSQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination /oradata/archiveOldest online log sequence 10Next log sequence to archive 12Current log sequence 12
5、配置主备库数据、日志目录转换
SQL> alter system set db_file_name_convert='/oradata/xiaohedg','/oradata/xiaohe' scope=spfile;SQL> alter system set log_file_name_convert='/oradata/xiaohedg','/oradata/xiaohe' scope=spfile;
6、设置闪回
[oracle@xiaohe_dg1 oradata]$ mkdir flash[oracle@xiaohe_dg1 oradata]$ cd flash/[oracle@xiaohe_dg1 flash]$ pwd/oradata/flash
SQL> show parameter recover;NAME TYPE VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest stringdb_recovery_file_dest_size big integer 0db_unrecoverable_scn_tracking boolean TRUErecovery_parallelism integer 0SQL> alter system set db_recovery_file_dest_size=500M;SQL> alter system set db_recovery_file_dest='/oradata/flash';- SQL> show parameter recover;
NAME TYPE VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest string /oradata/flashdb_recovery_file_dest_size big integer 500Mdb_unrecoverable_scn_tracking boolean TRUErecovery_parallelism
7、设置standby的文件传输参数
SQL> show parameter standby- NAME TYPE VALUE
------------------------------------ ----------- ------------------------------standby_archive_dest string ?/dbs/archstandby_file_management string MANUALSQL> alter system set standby_file_management=AUTO;SQL> show parameter standby;- NAME TYPE VALUE
------------------------------------ ----------- ------------------------------standby_archive_dest string ?/dbs/archstandby_file_management string AUTO
8、开启强制日志
SQL> alter database force logging;
9、开启闪回
SQL> shutdown immediateSQL> startup mount;- SQL> alter database flashback on;
SQL> alter database open;
10、配置standby log参数
SQL> alter database add standby logfile group 4 '/oradata/xiaohe/std_redo04.log' size 50M;SQL> alter database add standby logfile group 5 '/oradata/xiaohe/std_redo05.log' size 50M;SQL> alter database add standby logfile group 6 '/oradata/xiaohe/std_redo06.log' size 50M;SQL> alter database add standby logfile group 7 '/oradata/xiaohe/std_redo07.log' size 50M;
11、生成参数文件pfile
SQL> create pfile='/oradata/initxiaohedg.ora' from spfile;
$ scp initxiaohedg.ora xiaohe_dg2:/u01/app/oracle/product/11.2.0/dbs/oracle@xiaohe_dg2's password:initxiaohedg.ora
12、传送密码文件到备库
$ cd $ORACLE_HOME/dbs[oracle@xiaohe_dg1 dbs]$ scp orapwxiaohe xiaohe_dg2:/u01/app/oracle/product/11.2.0/dbs/orapwxiaohedgoracle@xiaohe_dg2's password:orapwxiaohe
13、在备库修改pfile文件
[oracle@xiaohe_dg2 dbs]$ cat initxiaohedg.oraxiaohe.__db_cache_size=327155712xiaohe.__java_pool_size=4194304xiaohe.__large_pool_size=4194304xiaohe.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environmentxiaohe.__pga_aggregate_target=339738624xiaohe.__sga_target=503316480xiaohe.__shared_io_pool_size=0xiaohe.__shared_pool_size=155189248xiaohe.__streams_pool_size=4194304*.audit_file_dest='/u01/app/oracle/admin/xiaohe/adump'*.audit_trail='db'*.compatible='11.2.0.0.0'*.control_files='/oradata/xiaohedg/control01.ctl','/oradata/xiaohedg/control02.ctl'*.db_block_size=8192*.db_domain='xiaohe.com'*.db_file_name_convert='/oradata/xiaohe','/oradata/xiaohedg'*.db_name='xiaohe'*.db_unique_name='xiaohedg'*.db_recovery_file_dest_size=524288000*.db_recovery_file_dest='/oradata/flash'*.diagnostic_dest='/u01/app/oracle'*.dispatchers='(PROTOCOL=TCP) (SERVICE=xiaoheXDB)'*.log_archive_dest_1='location=/oradata/archive'*.log_file_name_convert='/oradata/xiaohe','/oradata/xiaohedg'*.memory_target=839909376*.open_cursors=300*.processes=150*.remote_login_passwordfile='EXCLUSIVE'*.standby_file_management='AUTO'*.undo_tablespace='UNDOTBS1'
14、在备库启动实例
SQL> startupORACLE instance started.Total System Global Area 839282688 bytesFixed Size 2233000 bytesVariable Size 494931288 bytesDatabase Buffers 339738624 bytesRedo Buffers 2379776 bytesORA-00205: error in identifying control file, check alert log for more infoSQL> show parameter spfile;NAME TYPE VALUE------------------------------------ ----------- ------------------------------spfile stringSQL> create spfile from pfile;File created.SQL> shutdown immediate;ORA-01507: database not mountedORACLE instance shut down.SQL> startup nomountORACLE instance started.Total System Global Area 839282688 bytesFixed Size 2233000 bytesVariable Size 494931288 bytesDatabase Buffers 339738624 bytesRedo Buffers 2379776 bytes
SQL> alter system switch logfile;System altered.SQL> /System altered.SQL> /System altered.SQL> /System altered.SQL> /
15、检查并重启主库
$ sqlplus sys/oracle123@xiaohe_dg1 as sysdba;$ sqlplus sys/oracle123@xiaohe_dg2 as sysdba;
SQL> show parameter convert;
16、使用rman
[oracle@xiaohe_dg1 dbs]$ rman target sys/oracle123@xiaohe_dg1 auxiliary sys/oracle123@xiaohe_dg2Recovery Manager: Release 11.2.0.3.0 - Production on Sat Mar 18 20:21:06 2017Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.connected to target database: XIAOHE (DBID=4061739917)connected to auxiliary database: XIAOHE (not mounted)RMAN> duplicate target database for standby from active database;Starting Duplicate Db at 18-MAR-17using target database control file instead of recovery catalogallocated channel: ORA_AUX_DISK_1channel ORA_AUX_DISK_1: SID=20 device type=DISKcontents of Memory Script:{backup as copy reusetargetfile '/u01/app/oracle/product/11.2.0/dbs/orapwxiaohe' auxiliary format'/u01/app/oracle/product/11.2.0/dbs/orapwxiaohedg' ;}executing Memory ScriptStarting backup at 18-MAR-17allocated channel: ORA_DISK_1channel ORA_DISK_1: SID=38 device type=DISKFinished backup at 18-MAR-17contents of Memory Script:{backup as copy current controlfile for standby auxiliary format '/oradata/xiaohedg/control01.ctl';restore clone controlfile to '/oradata/xiaohedg/control02.ctl' from'/oradata/xiaohedg/control01.ctl';}executing Memory ScriptStarting backup at 18-MAR-17using channel ORA_DISK_1channel ORA_DISK_1: starting datafile copycopying standby control fileoutput file name=/u01/app/oracle/product/11.2.0/dbs/snapcf_xiaohe.f tag=TAG20170318T202332 RECID=2 STAMP=938982213channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03Finished backup at 18-MAR-17Starting restore at 18-MAR-17using channel ORA_AUX_DISK_1channel ORA_AUX_DISK_1: copied control file copyFinished restore at 18-MAR-17contents of Memory Script:{sql clone 'alter database mount standby database';}executing Memory Scriptsql statement: alter database mount standby databasecontents of Memory Script:{set newname for tempfile 1 to"/oradata/xiaohedg/temp01.dbf";switch clone tempfile all;set newname for datafile 1 to"/oradata/xiaohedg/system01.dbf";set newname for datafile 2 to"/oradata/xiaohedg/sysaux01.dbf";set newname for datafile 3 to"/oradata/xiaohedg/undotbs01.dbf";set newname for datafile 4 to"/oradata/xiaohedg/users01.dbf";set newname for datafile 5 to"/oradata/xiaohedg/example01.dbf";backup as copy reusedatafile 1 auxiliary format"/oradata/xiaohedg/system01.dbf" datafile2 auxiliary format"/oradata/xiaohedg/sysaux01.dbf" datafile3 auxiliary format"/oradata/xiaohedg/undotbs01.dbf" datafile4 auxiliary format"/oradata/xiaohedg/users01.dbf" datafile5 auxiliary format"/oradata/xiaohedg/example01.dbf" ;sql 'alter system archive log current';}executing Memory Scriptexecuting command: SET NEWNAMErenamed tempfile 1 to /oradata/xiaohedg/temp01.dbf in control fileexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEStarting backup at 18-MAR-17using channel ORA_DISK_1channel ORA_DISK_1: starting datafile copyinput datafile file number=00001 name=/oradata/xiaohe/system01.dbfoutput file name=/oradata/xiaohedg/system01.dbf tag=TAG20170318T202342channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:45channel ORA_DISK_1: starting datafile copyinput datafile file number=00002 name=/oradata/xiaohe/sysaux01.dbfoutput file name=/oradata/xiaohedg/sysaux01.dbf tag=TAG20170318T202342channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:35channel ORA_DISK_1: starting datafile copyinput datafile file number=00005 name=/oradata/xiaohe/example01.dbfoutput file name=/oradata/xiaohedg/example01.dbf tag=TAG20170318T202342channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:25channel ORA_DISK_1: starting datafile copyinput datafile file number=00003 name=/oradata/xiaohe/undotbs01.dbfoutput file name=/oradata/xiaohedg/undotbs01.dbf tag=TAG20170318T202342channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15channel ORA_DISK_1: starting datafile copyinput datafile file number=00004 name=/oradata/xiaohe/users01.dbfoutput file name=/oradata/xiaohedg/users01.dbf tag=TAG20170318T202342channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01Finished backup at 18-MAR-17sql statement: alter system archive log currentcontents of Memory Script:{switch clone datafile all;}executing Memory Scriptdatafile 1 switched to datafile copyinput datafile copy RECID=2 STAMP=938982344 file name=/oradata/xiaohedg/system01.dbfdatafile 2 switched to datafile copyinput datafile copy RECID=3 STAMP=938982344 file name=/oradata/xiaohedg/sysaux01.dbfdatafile 3 switched to datafile copyinput datafile copy RECID=4 STAMP=938982344 file name=/oradata/xiaohedg/undotbs01.dbfdatafile 4 switched to datafile copyinput datafile copy RECID=5 STAMP=938982344 file name=/oradata/xiaohedg/users01.dbfdatafile 5 switched to datafile copyinput datafile copy RECID=6 STAMP=938982344 file name=/oradata/xiaohedg/example01.dbfFinished Duplicate Db at 18-MAR-17
17、在备库应用日志
SQL> select status from v$instance ;STATUS------------MOUNTEDSQL> alter database recover managed standby database disconnect from session;Database altered.
18、在主、备库启用broker
SQL> show parameter broker;NAME TYPE VALUE------------------------------------ ----------- ------------------------------dg_broker_config_file1 string /u01/app/oracle/product/11.2.0/dbs/dr1xiaohe.datdg_broker_config_file2 string /u01/app/oracle/product/11.2.0/dbs/dr2xiaohe.datdg_broker_start boolean FALSESQL> alter system set dg_broker_start=true;System altered.
19、进入broker, 并创建配置信息
$ dgmgrl sys/oracle123@xiaohe_dg1;
DGMGRL> CREATE CONFIGURATION c1 ASPRIMARY DATABASE IS xiaoheCONNECT IDENTIFIER IS xiaohe_dg1;DGMGRL> ADD DATABASE xiaohedgAS CONNECT IDENTIFIER IS xiaohe_dg2;DGMGRL> ENABLE CONFIGURATION;
DGMGRL> show configuration;Configuration - c1Protection Mode: MaxPerformanceDatabases:xiaohe - Primary databasexiaohedg - Physical standby databaseFast-Start Failover: DISABLEDConfiguration Status:SUCCESS
DGMGRL> show configuration verbose;Configuration - c1Protection Mode: MaxPerformanceDatabases:xiaohe - Primary databasexiaohedg - Physical standby databaseProperties:FastStartFailoverThreshold = '30'OperationTimeout = '30'FastStartFailoverLagLimit = '30'CommunicationTimeout = '180'FastStartFailoverAutoReinstate = 'TRUE'FastStartFailoverPmyShutdown = 'TRUE'BystandersFollowRoleChange = 'ALL'Fast-Start Failover: DISABLEDConfiguration Status:SUCCESSDGMGRL>
DGMGRL> help create;Creates a broker configurationSyntax:CREATE CONFIGURATION <configuration name> ASPRIMARY DATABASE IS <database name>CONNECT IDENTIFIER IS <connect identifier>;DGMGRL> help add;Adds a standby database to the broker configurationSyntax:ADD DATABASE <database name>[AS CONNECT IDENTIFIER IS <connect identifier>][MAINTAINED AS {PHYSICAL|LOGICAL}];DGMGRL> help enable;Enables a configuration, a database, or fast-start failoverSyntax:ENABLE CONFIGURATION;ENABLE DATABASE <database name>;ENABLE FAST_START FAILOVER [CONDITION <condition>];DGMGRL>
20、打开备库
shutdown immediatestartup open read only;
21、打开备库的闪回创建测试库
SQL> select flashback_on from v$database;- FLASHBACK_ON
------------------NOSQL> shutdown immediate;SQL> startup mount;SQL> alter database flashback on;SQL> select flashback_on from v$database;- FLASHBACK_ON
------------------YESSQL> alter database open;SQL> select open_mode from v$database; OPEN_MODE
--------------------
READ ONLYSQL> select open_mode from v$database; OPEN_MODE
--------------------
READ ONLY WITH APPLY
DGMGRL> help convert;Converts a database from one type to anotherSyntax:CONVERT DATABASE <database name> TO{SNAPSHOT STANDBY|PHYSICAL STANDBY};DGMGRL> CONVERT DATABASE xiaohedg TO SNAPSHOT STANDBY;Converting database "xiaohedg" to a Snapshot Standby database, please wait...Database "xiaohedg" converted successfullyDGMGRL> show configuration;Configuration - c1Protection Mode: MaxPerformanceDatabases:xiaohe - Primary databasexiaohedg - Snapshot standby databaseFast-Start Failover: DISABLEDConfiguration Status:SUCCESS
SQL> select open_mode from v$database;OPEN_MODE--------------------READ WRITE
SQL> create table test(id number, name varchar2(20));- SQL> insert into test values(1, 'node');
SQL> commit;SQL> select * from test;ID NAME---------- --------------------1 node
DGMGRL> CONVERT DATABASE xiaohedg TO PHYSICAL STANDBY;Converting database "xiaohedg" to a Physical Standby database, please wait...Operation requires shutdown of instance "xiaohedg" on database "xiaohedg"Shutting down instance "xiaohedg"...Database closed.Database dismounted.....
22、主备库切换
DGMGRL> show configuration;Configuration - c1Protection Mode: MaxPerformanceDatabases:xiaohe - Primary databasexiaohedg - Physical standby databaseFast-Start Failover: DISABLEDConfiguration Status:SUCCESSDGMGRL> switchover to xiaohedg;Performing switchover NOW, please wait...New primary database "xiaohedg" is opening...Operation requires shutdown of instance "xiaohe" on database "xiaohe"Shutting down instance "xiaohe"...ORACLE instance shut down.Operation requires startup of instance "xiaohe" on database "xiaohe"Starting instance "xiaohe"...ORACLE instance started.Database mounted.Database opened.Switchover succeeded, new primary is "xiaohedg"DGMGRL>DGMGRL> show configuration;Configuration - c1Protection Mode: MaxPerformanceDatabases:xiaohedg - Primary databasexiaohe - Physical standby databaseFast-Start Failover: DISABLEDConfiguration Status:SUCCESS
23、几个有用的视图
SQL> select sequence#,applied from v$archived_log order by 1 desc;SEQUENCE# APPLIED---------- ---------79 NO79 NO78 YES78 NO77 NO77 YES76 YES
SQL> alter system switch logfile;System altered.SQL> select sequence#,applied from v$archived_log order by 1 desc;SEQUENCE# APPLIED---------- ---------80 NO80 NO79 YES79 NO78 YES78 NO77 YES
SQL> select dest_id,error from v$archive_dest;DEST_ID ERROR---------- -----------------------------------------------------------------1234
SQL> select database_role,open_mode from v$database;DATABASE_ROLE OPEN_MODE---------------- --------------------PRIMARY READ WRITE
SQL> select sequence#,status from v$standby_log;SEQUENCE# STATUS---------- ----------80 ACTIVE0 UNASSIGNED0 UNASSIGNED0 UNASSIGNED
SQL> set lines 200SQL> col DATABASE_ROLE for a30;SQL> select database_role,open_mode from v$database;DATABASE_ROLE OPEN_MODE------------------------------ --------------------PHYSICAL STANDBY READ ONLY WITH APPLY
SQL> select process,status from v$managed_standby;PROCESS STATUS--------- ------------ARCH CLOSINGARCH CONNECTEDARCH CONNECTEDARCH CONNECTEDMRP0 APPLYING_LOGRFS IDLERFS IDLERFS IDLE8 rows selected.
基于RMAN搭建DataGuard,使用Broker管理DataGuard的更多相关文章
- (摘)DataGuard物理standby管理 - 主备切换
DataGuard物理standby管理 - 主备切换 Dataguard的切换分为两种,switchover和failover. switchover一般用于数据库或硬件升级,这时只需要较短时间中断 ...
- Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架
Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Ne ...
- broker监控dataguard配置
使用broker查看dataguard信息时有告警 DGMGRL> show configuration; Configuration - DRTEST Protection Mode: Max ...
- 第二篇 基于.net搭建热插拔式web框架(沙箱的构建)
上周五写了一个实现原理篇,在评论中看到有朋友也遇到了我的问题,真的是有种他乡遇知己的感觉,整个系列我一定会坚持写完,并在最后把代码开源到git中.上一篇文章很多人看了以后,都表示不解,觉得不知道我到底 ...
- 基于.net搭建热插拔式web框架(实现原理)
第一节:我们为什么需要一个热插拔式的web框架? 模块之间独立开发 假设我们要做一个后台管理系统,其中包括“用户活跃度”.“产品管理”."账单管理"等模块.每个模块中有自己的业务特 ...
- 基于RMAN从活动数据库异机克隆(rman duplicate from active DB)
Oracle 11g RMAN能够实现基于活动数据库进行异机克隆,从而省去需要先备份再ftp到辅助服务器的过程.这一切可以全部交给Oracle来搞定.在克隆期间,Oracle会读取Target DB的 ...
- 基于RMAN的异机数据库克隆(rman duplicate)
对于基于生产环境下的数据库的版本升级或者测试新的应用程序的性能及其影响,备份恢复等等,我们可以采取从生产环境以克隆的方式将其克隆到本地而不影响生产数据库的正常使用.实现这个功能我们可以借助rman d ...
- Oracle 基于 RMAN 的不完全恢复(incomplete recovery by RMAN)
Oracle 数据库可以实现数据库不完全恢复与完全恢复.完全恢复是将数据库恢复到最新时刻,也就是无损恢复,保证数据库无丢失的恢复.而不完全恢复则是根据需要特意将数据库恢复到某个过去的特定时间点或特定的 ...
- 分享一下我的部分毕设内容:基于Windows Phone平台的污染源管理应用
原文:分享一下我的部分毕设内容:基于Windows Phone平台的污染源管理应用 毕业半年,又总结了一下之前的工作,发现很多知识不复习都忘记了.最近新闻总是报道北京的空气污染,各种雾霾,各种PM X ...
随机推荐
- DRF (Django REST framework) 中的视图类
视图说明 1. 两个基类 1)APIView rest_framework.views.APIView APIView是REST framework提供的所有视图的基类,继承自Django的View父 ...
- CentOS 7 中配置Firewall规则
1. 防火墙简介 动态防火墙后台程序 firewalld 提供了一个 动态管理的防火墙,用以支持网络 “zones” ,以分配对一个网络及其相关链接和界面一定程度的信任.它具备对 IPv4和 IPv6 ...
- MongoDB 数据库的学习与使用
MongoDB 数据库 一.MongoDB 简介(了解) MongoDB 数据库是一种 NOSQL 数据库,NOSQL 数据库不是这几年才有的,从数据库的初期发展就以及存在了 NOSQL 数据库. ...
- Python-demo(listen)
import requests import json # 爬虫原理 模拟浏览器 获取请求数据 #点击播放连接 #url = "https://www.ximalaya.com/revisi ...
- Suring开发集成部署时问题记录
前言 开发时一定要用管理员模式打开VS或者VSCODE进行开发,同时不要在nuget上直接下载,要去github上下载源代码调试.第一方便调试,第二Surging迭代较快,nuget版本往往不是最新的 ...
- ABAP实现Geohash
前几天群里有人问ABAP有没有Geohash函数,用来帮助SAP存储门店位置.实现对附近门店查找的功能.因为没有查到,所以我动手写了一个. Geohash是什么 Geohash是一种公共域地理编码系统 ...
- JSP学习笔记(1)——Jsp指令、动作元素和内置对象
简单来说,javaweb技术就是让服务器端能够执行Java代码,之后返回数据给客户端(浏览器)让客户端显示数据 jsp页面中可以嵌套java代码(java小脚本)和嵌套Web前端(html,css,j ...
- [Python] socket发送UDP广播实现聊天室功能
一.说明 本文主要使用socket.socket发送UDP广播来实现聊天室功能. 重点难点:理解UDP通讯流程.多线程.UDP广播收发等. 测试环境:Win10\Python3.5. 程序基本流程:创 ...
- 17_defer(延迟调用)关键字的使用
1.defer是延迟调用关键字,只能在函数内部使用 2.总是在main函数结束前调用(和init用法相对) 3.如果有多个defer 遵循先进后出的原则 4.和匿名函数同时使用时,如果匿名函数带有参数 ...
- JavaScript 数据结构与算法之美 - 你可能真的不懂递归
1. 前言 算法为王. 排序算法博大精深,前辈们用了数年甚至一辈子的心血研究出来的算法,更值得我们学习与推敲. 因为之后要讲有内容和算法,其代码的实现都要用到递归,所以,搞懂递归非常重要. 2. 定义 ...