Zero Downtime Upgrade of Oracle 10g to Oracle 11g Using GoldenGate — 3
DDL Setup Steps
SQL> grant execute on utl_file to ggs;
Grant succeeded.
Create GLOBALS file
[oracle@zwc ~]$ cd /ggs/
[oracle@zwc ggs]$ cat GLOBALS
GGSCHEMA GGS
run marker_setup.sql
[oracle@zwc ggs]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 – Production on Fri Jun 6 18:56:32 2014
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> @marker_setup.sql
Marker setup script
You will be prompted for the name of a schema for the Oracle GoldenGate database objects.
NOTE: The schema must be created prior to running this script.
NOTE: Stop all DDL replication before starting this installation.
Enter Oracle GoldenGate schema name:ggs
Marker setup table script complete, running verification script…
Please enter the name of a schema for the GoldenGate database objects:
Setting schema name to GGS
MARKER TABLE
——————————-
OK
MARKER SEQUENCE
——————————-
OK
Script complete.
run ddl_setup.sql
SQL> alter system set recyclebin=off;
System altered.
SQL> create tablespace ggs datafile '/u01/app/oracle/oradata/zwc/ggs01.dbf' size 100M autoextend on;
Tablespace created.
SQL>
SQL> alter user ggs default tablespace ggs;
User altered.
SQL> @ddl_setup.sql
Oracle GoldenGate DDL Replication setup script
Verifying that current user has privileges to install DDL Replication…
You will be prompted for the name of a schema for the Oracle GoldenGate database objects.
NOTE: For an Oracle 10g source, the system recycle bin must be disabled. For Oracle 11g and later, it can be enabled.
NOTE: The schema must be created prior to running this script.
NOTE: Stop all DDL replication before starting this installation.
Enter Oracle GoldenGate schema name:ggs
Working, please wait …
Spooling to file ddl_setup_spool.txt
Checking for sessions that are holding locks on Oracle Golden Gate metadata tables …
Check complete.
Using GGS as a Oracle GoldenGate schema name.
Working, please wait …
DDL replication setup script complete, running verification script…
Please enter the name of a schema for the GoldenGate database objects:
Setting schema name to GGS
CLEAR_TRACE STATUS:
Line/pos Error
——————– —————————————————————–
No errors No errors
CREATE_TRACE STATUS:
Line/pos Error
——————– —————————————————————–
No errors No errors
TRACE_PUT_LINE STATUS:
Line/pos Error
——————– —————————————————————–
No errors No errors
INITIAL_SETUP STATUS:
Line/pos Error
——————– —————————————————————–
No errors No errors
DDLVERSIONSPECIFIC PACKAGE STATUS:
Line/pos Error
——————– —————————————————————–
No errors No errors
DDLREPLICATION PACKAGE STATUS:
Line/pos Error
——————– —————————————————————–
No errors No errors
DDLREPLICATION PACKAGE BODY STATUS:
Line/pos Error
——————– —————————————————————–
No errors No errors
DDL IGNORE TABLE
———————————–
OK
DDL IGNORE LOG TABLE
———————————–
OK
DDLAUX PACKAGE STATUS:
Line/pos Error
——————– —————————————————————–
No errors No errors
DDLAUX PACKAGE BODY STATUS:
Line/pos Error
——————– —————————————————————–
No errors No errors
SYS.DDLCTXINFO PACKAGE STATUS:
Line/pos Error
——————– —————————————————————–
No errors No errors
SYS.DDLCTXINFO PACKAGE BODY STATUS:
Line/pos Error
——————– —————————————————————–
No errors No errors
DDL HISTORY TABLE
———————————–
OK
DDL HISTORY TABLE(1)
———————————–
OK
DDL DUMP TABLES
———————————–
OK
DDL DUMP COLUMNS
———————————–
OK
DDL DUMP LOG GROUPS
———————————–
OK
DDL DUMP PARTITIONS
———————————–
OK
DDL DUMP PRIMARY KEYS
———————————–
OK
DDL SEQUENCE
———————————–
OK
GGS_TEMP_COLS
———————————–
OK
GGS_TEMP_UK
———————————–
OK
DDL TRIGGER CODE STATUS:
Line/pos Error
——————– —————————————————————–
No errors No errors
DDL TRIGGER INSTALL STATUS
———————————–
OK
DDL TRIGGER RUNNING STATUS
———————————————————————-
ENABLED
STAYMETADATA IN TRIGGER
———————————————————————-
OFF
DDL TRIGGER SQL TRACING
———————————————————————-
0
DDL TRIGGER TRACE LEVEL
———————————————————————-
0
LOCATION OF DDL TRACE FILE
————————————————————————————————————————
/u01/app/oracle/admin/zwc/udump/ggs_ddl_trace.log
Analyzing installation status…
STATUS OF DDL REPLICATION
————————————————————————————————————————
SUCCESSFUL installation of DDL Replication software components
Script complete.
run role_setup.sql
SQL> @role_setup.sql
GGS Role setup script
This script will drop and recreate the role GGS_GGSUSER_ROLE
To use a different role name, quit this script and then edit the params.sql script to change the gg_role parameter to the preferred name. (Do not run the script.)
You will be prompted for the name of a schema for the GoldenGate database objects.
NOTE: The schema must be created prior to running this script.
NOTE: Stop all DDL replication before starting this installation.
Enter GoldenGate schema name:ggs
Wrote file role_setup_set.txt
PL/SQL procedure successfully completed.
Role setup script complete
Grant this role to each user assigned to the Extract, GGSCI, and Manager processes, by using the following SQL command:
GRANT GGS_GGSUSER_ROLE TO <loggedUser>
where <loggedUser> is the user assigned to the GoldenGate processes.
SQL> grant ggs_ggsuser_role to ggs;
Grant succeeded.
run ddl_enable.sql
SQL> @ddl_enable.sql
Trigger altered.
Run ddl_pin.sql to improve the performance of DDL trigger.In order to run this,make sure dbms_shared_pool package is installed. If not then install that package first,which can be
installed by running following script.
SQL> @?/rdbms/admin/dbmspool.sql
Package created.
Grant succeeded.
View created.
Package body created.
run ddl_pin.sql with "ggs" as argument
SQL> @ddl_pin.sql ggs
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
Create Parameter Files & Start Manager
[oracle@zwc ggs]$ ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.6 16211226 OGGCORE_11.2.1.0.6_PLATFORMS_130418.1829_FBO
Linux, x64, 64bit (optimized), Oracle 10g on Apr 18 2013 22:43:23
Copyright (C) 1995, 2013, Oracle and/or its affiliates. All rights reserved.
GGSCI (zwc) 1> view param mgr
PORT 7809
DYNAMICPORTLIST 7850-7860
LAGINFOMINUTES 0
LAGREPORTMINUTES 10
LAGCRITICALMINUTES 60
AUTORESTART EXTRACT E*, RETRIES 10, WAITMINUTES 5, RESETMINUTES 1440
AUTORESTART EXTRACT P*, RETRIES 10, WAITMINUTES 5, RESETMINUTES 1440
PURGEOLDEXTRACTS /ggs/trails/source/*, USECHECKPOINTS, MINKEEPDAYS 10, FREQUENCYMINUTES 15
GGSCI (zwc) 2> start mgr
Manager started.
GGSCI (zwc) 3> info mgr
Manager is running (IP port zwc.7809).
GGSCI (zwc) 4> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
GGSCI (zwc) 5>
Create directory for trail files
mkdir -p /ggs/trails/source
Create parameter file for Extract
GGSCI (zwc) 8> view param e10gdb
EXTRACT E10GDB
SETENV (ORACLE_SID=zwc)
SETENV (ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1)
SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
USERID ggs, PASSWORD ggs
EXTTRAIL /ggs/trails/source/aa
TRANLOGOPTIONS EXCLUDEUSER GGS
TRANLOGOPTIONS LOGRETENTION DISABLED
WARNLONGTRANS 3H CHECKINTERVAL 30m
REPORTCOUNT EVERY 10 MINUTES, RATE
DISCARDFILE /ggs/dirdef/E10GDB.dec, APPEND
DISCARDROLLOVER ON SUNDAY
GETUPDATEBEFORES
DDL INCLUDE MAPPED
DDLOPTIONS ADDTRANDATA RETRYOP RETRYDELAY 10 MAXRETRIES 10
TABLE HR.*;
TABLE OE.*;
TABLE PM.*;
SEQUENCE HR.*;
SEQUENCE OE.*;
SEQUENCE PM.*;
Create parameter filefile for Pump
GGSCI (zwc) 10> view param p10gdb
EXTRACT P10GDB
SETENV (ORACLE_SID=zwc)
SETENV (ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1)
SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
PASSTHRU
RMTHOST 192.168.1.61, MGRPORT 7809, &
COMPRESS, TCPBUFSIZE 262144, TCPFLUSHBYTES 262144
RMTTRAIL /ggs/trails/target/aa
STATOPTIONS REPORTFETCH
REPORTCOUNT EVERY 10 MINUTES, RATE
DISCARDFILE /ggs/dirdef/P10GDB.dec, APPEND
DISCARDROLLOVER ON SUNDAY
TABLE HR.*;
TABLE OE.*;
TABLE PM.*;
SEQUENCE HR.*;
SEQUENCE OE.*;
SEQUENCE PM.*;
In 10.2 database,follow there setps to make log_retention enable.
SQL> exec dbms_streams_auth.grant_admin_privilege('GGS');
PL/SQL procedure successfully completed.
SQL> grant insert on system.logmnr_restart_ckpt$ to ggs;
Grant succeeded.
SQL> grant update on sys.streams$_capture_process to ggs;
Grant succeeded.
SQL> grant become user to ggs;
Grant succeeded.
Add following parameter in the extract.In this demo,we are not enabling log retention.
TRANLOGOPTIONS LOGRETENTION SR
Add Extract and Pump
[oracle@zwc diroby]$ cat add_extract.oby
dblogin userid ggs password ggs
add extract e10gdb, tranlog, begin now
add exttrail /ggs/trails/source/aa, extract e10gdb, megabytes 100
[oracle@zwc diroby]$ cat add_pump.oby
add extract p10gdb, exttrailsource /ggs/trails/source/aa, extseqno 0, extrba 0
add rmttrail /ggs/trails/target/aa, extract p10gdb, megabytes 100
[oracle@zwc ggs]$ ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.6 16211226 OGGCORE_11.2.1.0.6_PLATFORMS_130418.1829_FBO
Linux, x64, 64bit (optimized), Oracle 10g on Apr 18 2013 22:43:23
Copyright (C) 1995, 2013, Oracle and/or its affiliates. All rights reserved.
GGSCI (zwc) 1> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
GGSCI (zwc) 2> obey ./diroby/add_extract.oby
GGSCI (zwc) 3> dblogin userid ggs password ggs
Successfully logged into database.
GGSCI (zwc) 4> add extract e10gdb, tranlog, begin now
EXTRACT added.
GGSCI (zwc) 5> add exttrail /ggs/trails/source/aa, extract e10gdb, megabytes 100
EXTTRAIL added.
GGSCI (zwc) 6> obey ./diroby/add_pump.oby
GGSCI (zwc) 7> add extract p10gdb, exttrailsource /ggs/trails/source/aa, extseqno 0, extrba 0
EXTRACT added.
GGSCI (zwc) 8> add rmttrail /ggs/trails/target/aa, extract p10gdb, megabytes 100
RMTTRAIL added.
GGSCI (zwc) 9> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT STOPPED E10GDB 00:00:00 00:00:14
EXTRACT STOPPED P10GDB 00:00:00 00:00:03
Start only the extract at this point and not the pump
GGSCI (zwc) 2> start e10gdb
Sending START request to MANAGER …
EXTRACT E10GDB starting
GGSCI (zwc) 3> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT STOPPED E10GDB 00:00:00 00:04:12
EXTRACT STOPPED P10GDB 00:00:00 00:04:02
GGSCI (zwc) 4> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING E10GDB 00:04:13 00:00:02
EXTRACT STOPPED P10GDB 00:00:00 00:04:05
Setup Sequence Replication
Oracle GoldenGate supports Oracle Sequences replication.There are some limitations with sequence replication.
1.sequence replication in bi-directional is not supported
2.cache size,increment interval,and cycle/no-cycle settings must be identical on source and target databases
SQL> @sequence.sql
Please enter the name of a schema for the GoldenGate database objects:
ggs
Setting schema name to GGS
UPDATE_SEQUENCE STATUS:
Line/pos
——————–
Error
—————————————————————–
No errors
No errors
GETSEQFLUSH
Line/pos
——————–
Error
—————————————————————–
No errors
No errors
SEQTRACE
Line/pos
——————–
Error
—————————————————————–
No errors
No errors
REPLICATE_SEQUENCE STATUS:
Line/pos
——————–
Error
—————————————————————–
No errors
No errors
STATUS OF SEQUENCE SUPPORT
————————————————————–
SUCCESSFUL installation of Oracle Sequence Replication support
SQL> grant execute on ggs.updateSequence to ggs;
Grant succeeded.
SQL> grant execute on ggs.replicateSequence to ggs;
Grant succeeded.
SQL> alter table sys.seq$ add supplemental log data (primary key) columns;
Table altered.
Restart extract,flush sequence
[oracle@zwc diroby]$ cat flush_seq.oby
flush sequence hr.*
flush sequence oe.*
flush sequence pm.*
[oracle@zwc ggs]$ ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.6 16211226 OGGCORE_11.2.1.0.6_PLATFORMS_130418.1829_FBO
Linux, x64, 64bit (optimized), Oracle 10g on Apr 18 2013 22:43:23
Copyright (C) 1995, 2013, Oracle and/or its affiliates. All rights reserved.
GGSCI (zwc) 1> stop extract e10gdb
Sending STOP request to EXTRACT E10GDB …
Request processed.
GGSCI (zwc) 2> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT STOPPED E10GDB 00:00:00 00:00:01
EXTRACT STOPPED P10GDB 00:00:00 00:22:40
GGSCI (zwc) 3> start extract e10gdb
Sending START request to MANAGER …
EXTRACT E10GDB starting
GGSCI (zwc) 4> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING E10GDB 00:00:00 00:00:09
EXTRACT STOPPED P10GDB 00:00:00 00:22:47
GGSCI (zwc) 5> dblogin userid ggs password ggs
Successfully logged into database.
GGSCI (zwc) 6> obey ./diroby/flush_seq.oby
GGSCI (zwc) 7> flush sequence hr.*
Successfully flushed 3 sequence(s) hr.*
GGSCI (zwc) 8> flush sequence oe.*
Successfully flushed 1 sequence(s) oe.*
GGSCI (zwc) 9> flush sequence pm.*
ERROR: Sequence pm.* does not exist.
Setup Heartbeat Job
In order to start the pump,we need to make target 11g database server ready,by installing Oracle GoldenGate and starting manager.Before we do that lets setup a heartbeat job in cron.
The purpose of heartbeat job is to keep updating ggs_mon.ggs_heartbeat table,those transactions will be extracted by Oracle GoldenGate,causing extract RBA to move,and also keep record
of lag time in ggs_lagtime table on the target side.
[oracle@zwc ~]$ cd /ggs
[oracle@zwc ggs]$ mkdir scripts
[oracle@zwc ggs]$ touch ggs_heartbeat.sh
[oracle@zwc ggs]$ chmod 755 ggs_heartbeat.sh
[oracle@zwc ggs]$ cat ggs_heartbeat.sh
#!/bin/sh
#Purpose: To update heartbeat table for OGG monitoring
cd ${HOME}
source ${HOME}/.bash_profile > /dev/null 2>&1
echo $GG_HOME
cd $GG_HOME
DATETIME=`date`
echo "Heartbeat for DB ${ORACLE_SID} start at ${DATETIME}…\n"
sqlplus -L -S ggs_mon/ggs_mon << EOF 2>&1
update ggs_heartbeat set ts = sysdate;
commit;
exit
EOF
Setup cron for this to run every minute
* * * * * /ggs/ggs_heartbeat.sh > /tmp/ggshb.log 2>&1
In extract e10gdb parameter file,add following two lines,and restart extract
GGSCI (zwc) 15> view param e10gdb
EXTRACT E10GDB
SETENV (ORACLE_SID=zwc)
SETENV (ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1)
SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
USERID ggs, PASSWORD ggs
EXTTRAIL /ggs/trails/source/aa
TRANLOGOPTIONS EXCLUDEUSER GGS
TRANLOGOPTIONS LOGRETENTION DISABLED
WARNLONGTRANS 3H CHECKINTERVAL 30m
REPORTCOUNT EVERY 10 MINUTES, RATE
DISCARDFILE /ggs/dirdef/E10GDB.dec, APPEND
DISCARDROLLOVER ON SUNDAY
GETUPDATEBEFORES
DDL INCLUDE MAPPED
DDLOPTIONS ADDTRANDATA RETRYOP RETRYDELAY 10 MAXRETRIES 10
TABLE HR.*;
TABLE OE.*;
TABLE PM.*;
SEQUENCE HR.*;
SEQUENCE OE.*;
SEQUENCE PM.*;
TABLE GGS_MON.ggs_heartbeat ,
Tokens (host = @GETENV ("GGENVIRONMENT", "HOSTNAME") );
In pump p10gdb parameter file,add following line.After editing the pump parameter file,if pump is running then stop and restart.
GGSCI (zwc) 18> view param p10gdb
EXTRACT P10GDB
SETENV (ORACLE_SID=zwc)
SETENV (ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1)
SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
PASSTHRU
RMTHOST 192.168.1.61, MGRPORT 7809, &
COMPRESS, TCPBUFSIZE 262144, TCPFLUSHBYTES 262144
RMTTRAIL /ggs/trails/target/aa
STATOPTIONS REPORTFETCH
REPORTCOUNT EVERY 10 MINUTES, RATE
DISCARDFILE /ggs/dirdef/P10GDB.dec, APPEND
DISCARDROLLOVER ON SUNDAY
TABLE HR.*;
TABLE OE.*;
TABLE PM.*;
SEQUENCE HR.*;
SEQUENCE OE.*;
SEQUENCE PM.*;
TABLE GGS_MON.GGS_HEARTBEAT;
Also in replicat we have not created yet,but when we will create replicat parameter file,then we will add following MAP statement in it to make heartbeat work properly.
MAP ggs_mon.ggs_heartbeat, TARGET ggs_mon.ggs_lagtime,
KEYCOLS (ID),
INSERTALLRECORDS,
COLMAP (USEDEFAULTS,
id = 0,
committime = @GETENV ("GGHEADER", "COMMITTIMESTAMP"),
groupname = @GETENV ("GGENVIRONMENT", "GROUPNAME"),
host = @TOKEN("host"),
local_insert_time = @DATENOW()
);
Now if we invoke ggsci and run "info" command on extract couple of times after few intervals,we will be able see that its RBA is moving even when there is no application activity
going on in the database.
GGSCI (zwc) 48> info e10gdb
EXTRACT E10GDB Last Started 2014-06-06 21:24 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:07 ago)
Log Read Checkpoint Oracle Redo Logs
2014-06-06 21:24:36 Seqno 11, RBA 12435456
SCN 0.778809 (778809)
GGSCI (zwc) 49> info e10gdb
EXTRACT E10GDB Last Started 2014-06-06 21:24 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:06 ago)
Log Read Checkpoint Oracle Redo Logs
2014-06-06 21:24:54 Seqno 11, RBA 12436992
SCN 0.778815 (778815)
版权声明:本文博客原创文章,博客,未经同意,不得转载。
Zero Downtime Upgrade of Oracle 10g to Oracle 11g Using GoldenGate — 3的更多相关文章
- Oracle 10g AND Oracle 11g手工建库案例--Oracle 11g
Oracle 10g AND Oracle 11g手工建库案例--Oracle 11g 系统环境: 操作系统: RedHat EL6 Oracle: Oracle 10g and Oracle 11 ...
- Oracle 10g AND Oracle 11g手工建库案例--Oracle 10g
Oracle 10g AND Oracle 11g手工建库案例--Oracle 10g 系统环境: 操作系统: RedHat EL6 Oracle: Oracle 10g and Oracle 11 ...
- Zero Downtime Upgrade of Oracle 10g to Oracle 11g Using GoldenGate — 2
Prepare 10g Database for OGG Create GGS and GGS_MON Database Users SQL> create tablespace ggs_tbs ...
- Zero Downtime Upgrade of Oracle 10g to Oracle 11g Using GoldenGate — 4
Target Side Setup Install OGG on Target Side Creates required directories for OGG [oracle@vzwc1 ggs] ...
- Zero Downtime Upgrade of Oracle 10g to Oracle 11g Using GoldenGate — 1
Source Database DB Name: zwc Schemas: HR,OE,PM Version: 10.2.0.4 RAC: ...
- oracle 10g升级到11g
Linux 上Oracle RAC 10g 升级到 Oracle RAC 11g 了解如何在 Oracle Enterprise Linux 5 上逐步将 Oracle RAC 10g 第 2 版升级 ...
- Oracle 10g ORA-01034: ORACLE not available 错误
今天在开发系统的时候,刚开始还好好的,突然就遇到了一个错误 ORA-01034: ORACLE not available 感到莫名其妙.然后排查问题 监听器ok,各项服务ok. 最后解决办法如下: ...
- oracle数据库的迁移(从一台服务器到另一个台服务器,从oracle 10g到oracle 11g)
这个过程呢,还是蛮艰难的.... 一.最初我使用的是Navicat中的数据传输来迁移的,虽说整个数据库的迁移没有成功,但传输指定的对象时还是传输成功了.所以还是记录一下吧. 1.前提连接好数据库.在指 ...
- RHEL6 64位系统安装ORACLE 10g 64bit 数据库
记得去年4月份的时候,为公司部署测试环境和UAT环境时,在红帽RHEL6 64位系统安装ORACLE 10g 64位数据库时遇到了许多小问题,当时匆匆忙忙也没记录一下这些问题,前几天在虚拟机安装ORA ...
随机推荐
- 为应用程序池“XX”提供服务的进程在与 Windows Process Activation Service 通信时出现严重错误
场景 WCF应用程序部署在IIS7中,使用net.tcp协议对外给几百台客户端提供服务,应用程序池不断崩溃重启. 分析过程 在事件查看器中看到的错误信息类似于 为应用程序池“XX”提供服务的进程在与 ...
- CSDN的SDCC大会(2013)中使用的PPT分享
SDCC大会今天开完个.呵呵~ PPT下载链接在最后面,对内幕不感兴趣的可以直接无视下面的种种啰嗦直接“嗖”到最后. 这里说说这个大会中我的Topic. 此前CSDN向我约了一个主题,我回复说, 我可 ...
- 如何解决Windows8.1(32bit&64bit)下Cisco VPN Client拨号时报442错误的问题
Cisco VPN Cient大多数网络管理员.技术支持project最流行的教师和最终用户VPNclient一间.对于外部网络访问内部网络,技术类人员. 随着Windows8.1的推出.Cisco ...
- Core 1.0中的管道-中间件模式
ASP.NET Core 1.0中的管道-中间件模式 SP.NET Core 1.0借鉴了Katana项目的管道设计(Pipeline).日志记录.用户认证.MVC等模块都以中间件(Middlewar ...
- IM设计与实现的系统模块的聊天记录
到非常多开发IM系统的朋友都想实现聊天记录存储和查询这一不可或缺的功能,这里我就把自己前段时间为傲瑞通(OrayTalk)开发聊天记录模块的经验分享出来,供须要的朋友參考下. 一.整体设计 1.存储位 ...
- proxy pattern 代理模式
常用的几种代理模式简要说明如下: (1) 远程代理(Remote Proxy):为一个位于不同的地址空间的对象提供一个本地的代理对象,这个不同的地址空间可以是在同一台主机中,也可是在另一台主机中,远 ...
- ubuntu10.10和windows双系统启动顺序的修改
我想大部分童鞋装ubuntu的时候,硬盘上的windows肯定还是保留着的,启动电 脑时可以选择,想进windows就进windows,想进ubuntu就进ubuntu.但装完ubuntu后,它默认启 ...
- 解决android3.0版本号以上应用接收不到开机广播问题
如今是2014-07-16 下午15:27. 好久没写过东西,突然间灵感喷发想写点东西(事实上是刚刚弄好了一个棘手的问题,自豪中..呵呵呵呵 我牛掰).废话不多说,进入正题. 不知道你们又没有碰到这问 ...
- 重新想象 Windows 8 Store Apps (31) - 加密解密: 哈希算法, 对称算法
原文:重新想象 Windows 8 Store Apps (31) - 加密解密: 哈希算法, 对称算法 [源码下载] 重新想象 Windows 8 Store Apps (31) - 加密解密: 哈 ...
- Mongodb入门——安装与配置
作者:zhanhailiang 日期:2014-11-07 1. 安装mongodb: [root@~/wade/nodejs/nodeclub]# yum search mongodb [root@ ...