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 ...
随机推荐
- Hibernate对象持久化框架
JDBC:(Java Data Base Connectivity)java数据库连接 java.sql包提供JDBC API,可通过它编写訪问数据库的程序代码.当中经常使用的接口和类包含以下内容: ...
- html中返回上一页
<a href="<a href="javascript :history.back(-1)">返回上一页</a>或<a href=& ...
- CSDN的SDCC大会(2013)中使用的PPT分享
SDCC大会今天开完个.呵呵~ PPT下载链接在最后面,对内幕不感兴趣的可以直接无视下面的种种啰嗦直接“嗖”到最后. 这里说说这个大会中我的Topic. 此前CSDN向我约了一个主题,我回复说, 我可 ...
- POJ 1274 The Perfect Stall 水二分匹配
主题链接:id=1274">点击打开链接 呵呵 #include<cstdio> #include<cstring> #include<cstdlib&g ...
- Windows Phone开发(22):启动器与选择器之BingMapsDirectionsTask
原文:Windows Phone开发(22):启动器与选择器之BingMapsDirectionsTask 从今天开发始,我们又开始新的征程,接下来的课程我们要熟悉一下启动器和选择器,其实二者是一样的 ...
- 算法战斗:给定一个号码与通配符问号W,问号代表一个随机数字。 给定的整数,得到X,和W它具有相同的长度。 问:多少整数协议W的形式和的比率X大?
如果说: 给定一个号码与通配符问号W,问号代表一个随机数字. 给定的整数,得到X,和W它具有相同的长度. 问:多少整数协议W的形式和的比率X大? 进格公式 数据的多组,两排各数据的,W,第二行是X.它 ...
- java中处理字符编码(网页与数据库)(转)
首先声明一下,此文章时从网上转载的.如下的某些方法是确实管用,但是从中发现了有一点不足,就是原文笔者没考虑使用不同Web Server时出现的情况,比如文章里我用红色字体画出来的部分代码在Tomcat ...
- virtio-blk分析
和virtio-network相同,virtio-blk驱动程序使用Virtio机制Guest它提供了一个高性能的设备I/O方法.我们期待在这里virtio-blk实现. [点击查看全文] http: ...
- win8.1 64位环境建设android开发环境
1.下载JDK,http://www.oracle.com/technetwork/java/javase/downloads/index.html,选择版本号 2.安装刚刚下载的JDK 3.环境变量 ...
- 在WPF中处理Windows消息
在Winform中 处理Windows消息通过重写WndProc方法 在WPF中 使用的是System.Windows. Sytem.Windows.Controls等名字空间,没有WndProc函数 ...