博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RMAN复制数据库(七)
阅读量:2437 次
发布时间:2019-05-10

本文共 20344 字,大约阅读时间需要 67 分钟。

使用RMAN duplicate database from file System to ASM

测试环境如下:
1.使用了恢复目录数据库jy
2.目标数据库test在主机oracle11g上,并且数据文件是存储在文件系统中
3.将目标数据库test复制到远程主机jingyong1上生成数据库dupdb。
4.主机jingyong1上有ASM磁盘组+dg1
5.将数据库dupdb的数据文件存储在磁盘组+dg1中
6.在磁盘组+dg1中存储两份控制文件
7.在主机oracle11g上创建的备份与归档重做日志必须能被主机jingyong1访问

执行步骤如下:

1.创建辅助实例的密码文件(这里辅助实例名为dupdb)

[oracle@jingyong1 dbs]$ orapwd file=/u01/app/oracle/product/10.2.0/db/dbs/orapwdupdb password=oracle entries=10[oracle@jingyong1 dbs]$ ls -lrt orapwdupdb-rw-r----- 1 oracle oinstall 2560 Mar 25 20:49 orapwdupdb

2.创建辅助实例网络连接,修改监听文件,使用静态监听来监听辅助实例远程主机jingyong1

[oracle@jingyong1 admin]$ vi listener.oraSID_LIST_LISTENER =  (SID_LIST =    (SID_DESC =     (SID_NAME = dupdb)      (ORACLE_HOME =/u01/app/oracle/product/10.2.0/db)    )  )LISTENER =  (DESCRIPTION_LIST =    (DESCRIPTION =      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.11)(PORT = 1521))    )  )

给辅助实例增加网络服务名

[oracle@jingyong1 admin]$ vi tnsnames.oradupdb =  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.56.11)(PORT = 1521))    )    (CONNECT_DATA =      (SERVICE_NAME =dupdb)      (UR=A)    )  )

在目标主机上给辅助实例增加网络服务名

[oracle@oracle11g admin]$ vi tnsnames.oradupdb =  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.56.11)(PORT = 1521))    )    (CONNECT_DATA =      (SERVICE_NAME =dupdb)      (UR=A)    )  )

测试网络连接

远程主机jingyong1

[oracle@jingyong1 admin]$ export ORACLE_SID=dupdb[oracle@jingyong1 admin]$ sqlplus /nologSQL*Plus: Release 10.2.0.5.0 - Production on Wed Mar 25 20:53:26 2015Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.SQL> conn sys/oracle@dupdb as sysdbaConnected to an idle instance.

目标主机oracle11g

[oracle@oracle11g admin]$ sqlplus /nologSQL*Plus: Release 10.2.0.5.0 - Production on Wed Mar 25 21:00:13 2015Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.SQL> conn sys/oracle@dupdb as sysdbaConnected to an idle instance.

3.创建辅助实例的参数文件

[oracle@jingyong1 dbs]$ vi initdupdb.oradb_name=dupdbdb_unique_name=dupdbcontrol_files=('+DG1/control01.ctl','+DG1/control02.ctl')db_file_name_convert=('/u01/app/oracle/oradata/test/','+DG1/')log_file_name_convert=('/u01/app/oracle/oradata/test/','+DG1/')remote_login_passwordfile=exclusivecompatible = 10.2.0.5.0db_block_size=8192sga_target=160Msga_max_size=160Mpga_aggregate_target=16M[oracle@jingyong1 dbs]$ export ORACLE_SID=dupdb[oracle@jingyong1 dbs]$ sqlplus / as sysdbaSQL*Plus: Release 10.2.0.5.0 - Production on Wed Mar 25 21:08:14 2015Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.Connected to an idle instance.SQL> create spfile from pfile='/u01/app/oracle/product/10.2.0/db/dbs/initdupdb.ora';File created.

4.启动辅助实例

[oracle@jingyong1 dbs]$ export ORACLE_SID=dupdb[oracle@jingyong1 dbs]$ sqlplus / as sysdbaSQL*Plus: Release 10.2.0.5.0 - Production on Wed Mar 25 21:10:09 2015Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.Connected to an idle instance.SQL> startup nomountORACLE instance started.Total System Global Area  167772160 bytesFixed Size                  1272624 bytesVariable Size              58721488 bytesDatabase Buffers          104857600 bytesRedo Buffers                2920448 bytesSQL> set long 300SQL> set linesize 300SQL> show parameter spfileNAME                                 TYPE                   VALUE------------------------------------ ---------------------- ------------------------------spfile                               string                 /u01/app/oracle/product/10.2.0                                                            /db/dbs/spfiledupdb.ora

断开连接

SQL> exitDisconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options

这里一定要断开启动辅助实例的会话否则在执行复制操作时会出现如下错误 :

executing Memory ScriptRMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of Duplicate Db command at 03/24/2015 18:28:32RMAN-03015: error occurred in stored script Memory ScriptRMAN-06136: ORACLE error from auxiliary database: ORA-01013: user requested cancel of current operation

5.加载或打开目标数据库

[oracle@oracle11g ~]$ sqlplus /nologSQL*Plus: Release 10.2.0.5.0 - Production on Tue Mar 24 21:13:44 2015Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.SQL> conn / as sysdbaConnected to an idle instance.SQL> startupORACLE instance started.Total System Global Area  167772160 bytesFixed Size                  1272600 bytesVariable Size              92275944 bytesDatabase Buffers           71303168 bytesRedo Buffers                2920448 bytesDatabase mounted.Database opened.

6.确保有需要的备份和归档重做日志,对目标数据库(被复制的数据库)进行备份(包含数据文件和归档重做日志)

[oracle@oracle11g admin]$ export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'[oracle@oracle11g admin]$ rman target sys/zzh_2046@test catalog rman/rman@jyRecovery Manager: Release 10.2.0.5.0 - Production on Tue Mar 24 15:15:52 2015Copyright (c) 1982, 2007, Oracle.  All rights reserved.connected to target database: TEST (DBID=2168949517)connected to recovery catalog databaseRMAN> backup as backupset database plus archivelog delete all input;Starting backup at 25-MAR-15current log archivedusing channel ORA_DISK_1channel ORA_DISK_1: starting archive log backupsetchannel ORA_DISK_1: specifying archive log(s) in backup setinput archive log thread=1 sequence=65 recid=72 stamp=875262973input archive log thread=1 sequence=66 recid=73 stamp=875266238channel ORA_DISK_1: starting piece 1 at 25-MAR-15channel ORA_DISK_1: finished piece 1 at 25-MAR-15piece handle=/u02/ora_test875266246_751 tag=TAG20150325T093040 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:04channel ORA_DISK_1: deleting archive log(s)archive log filename=/u02/1_65_870806981.dbf recid=72 stamp=875262973archive log filename=/u02/1_66_870806981.dbf recid=73 stamp=875266238Finished backup at 25-MAR-15Starting backup at 25-MAR-15using channel ORA_DISK_1channel ORA_DISK_1: starting full datafile backupsetchannel ORA_DISK_1: specifying datafile(s) in backupsetinput datafile fno=00001 name=/u01/app/oracle/oradata/test/system01.dbfinput datafile fno=00003 name=/u01/app/oracle/oradata/test/sysaux01.dbfinput datafile fno=00005 name=/u01/app/oracle/oradata/test/example01.dbfinput datafile fno=00006 name=/u01/app/oracle/oradata/test/tspitr01.dbfinput datafile fno=00002 name=/u01/app/oracle/oradata/test/undotbs01.dbfinput datafile fno=00004 name=/u01/app/oracle/oradata/test/users01.dbfchannel ORA_DISK_1: starting piece 1 at 25-MAR-15channel ORA_DISK_1: finished piece 1 at 25-MAR-15piece handle=/u02/ora_test875266253_761 tag=TAG20150325T093052 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:02:46Finished backup at 25-MAR-15Starting backup at 25-MAR-15current log archivedusing channel ORA_DISK_1channel ORA_DISK_1: starting archive log backupsetchannel ORA_DISK_1: specifying archive log(s) in backup setinput archive log thread=1 sequence=67 recid=74 stamp=875266422channel ORA_DISK_1: starting piece 1 at 25-MAR-15channel ORA_DISK_1: finished piece 1 at 25-MAR-15piece handle=/u02/ora_test875266425_771 tag=TAG20150325T093344 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:02channel ORA_DISK_1: deleting archive log(s)archive log filename=/u02/1_67_870806981.dbf recid=74 stamp=875266422Finished backup at 25-MAR-15Starting Control File and SPFILE Autobackup at 25-MAR-15piece handle=/u01/app/oracle/flash_recovery_area/TEST/autobackup/2015_03_25/o1_mf_s_875266428_bk4441pd_.bkp comment=NONEFinished Control File and SPFILE Autobackup at 25-MAR-15RMAN> list backup;List of Backup Sets===================BS Key  Size       Device Type Elapsed Time Completion Time------- ---------- ----------- ------------ ---------------4782    5.72M      DISK        00:00:04     25-MAR-15        BP Key: 4783   Status: AVAILABLE  Compressed: NO  Tag: TAG20150325T093040        Piece Name: /u02/ora_test875266246_751  List of Archived Logs in backup set 4782  Thrd Seq     Low SCN    Low Time  Next SCN   Next Time  ---- ------- ---------- --------- ---------- ---------  1    65      1009334    24-MAR-15 1038362    25-MAR-15  1    66      1038362    25-MAR-15 1040219    25-MAR-15BS Key  Type LV Size       Device Type Elapsed Time Completion Time------- ---- -- ---------- ----------- ------------ ---------------4794    Full    624.76M    DISK        00:02:40     25-MAR-15        BP Key: 4797   Status: AVAILABLE  Compressed: NO  Tag: TAG20150325T093052        Piece Name: /u02/ora_test875266253_761  List of Datafiles in backup set 4794  File LV Type Ckp SCN    Ckp Time  Name  ---- -- ---- ---------- --------- ----  1       Full 1040242    25-MAR-15 /u01/app/oracle/oradata/test/system01.dbf  2       Full 1040242    25-MAR-15 /u01/app/oracle/oradata/test/undotbs01.dbf  3       Full 1040242    25-MAR-15 /u01/app/oracle/oradata/test/sysaux01.dbf  4       Full 1040242    25-MAR-15 /u01/app/oracle/oradata/test/users01.dbf  5       Full 1040242    25-MAR-15 /u01/app/oracle/oradata/test/example01.dbf  6       Full 1040242    25-MAR-15 /u01/app/oracle/oradata/test/tspitr01.dbfBS Key  Size       Device Type Elapsed Time Completion Time------- ---------- ----------- ------------ ---------------4811    12.50K     DISK        00:00:01     25-MAR-15        BP Key: 4818   Status: AVAILABLE  Compressed: NO  Tag: TAG20150325T093344        Piece Name: /u02/ora_test875266425_771  List of Archived Logs in backup set 4811  Thrd Seq     Low SCN    Low Time  Next SCN   Next Time  ---- ------- ---------- --------- ---------- ---------  1    67      1040219    25-MAR-15 1040304    25-MAR-15BS Key  Type LV Size       Device Type Elapsed Time Completion Time------- ---- -- ---------- ----------- ------------ ---------------4827    Full    6.89M      DISK        00:00:06     25-MAR-15        BP Key: 4829   Status: AVAILABLE  Compressed: NO  Tag: TAG20150325T093348        Piece Name: /u01/app/oracle/flash_recovery_area/TEST/autobackup/2015_03_25/o1_mf_s_875266428_bk4441pd_.bkp  Control File Included: Ckp SCN: 1040326      Ckp time: 25-MAR-15  SPFILE Included: Modification time: 25-MAR-15

将上面的备份传输到远程主机的相同目录中:

[oracle@jingyong1 dup]$ scp -r oracle@192.168.56.2:/u02/ora_test875266246_751 /u02oracle@192.168.56.2's password:ora_test875266246_751                                                                                                                100% 5857KB   5.7MB/s   00:00[oracle@jingyong1 dup]$ scp -r oracle@192.168.56.2:/u02/ora_test875266253_761 /u02oracle@192.168.56.2's password:ora_test875266253_761                                                                                                                100%  625MB   8.1MB/s   01:17[oracle@jingyong1 dup]$ scp -r oracle@192.168.56.2:/u02/ora_test875266425_771 /u02oracle@192.168.56.2's password:ora_test875266425_771                                                                                                                100%   13KB  13.0KB/s   00:00[oracle@jingyong1 dup]$ scp -r oracle@192.168.56.2:/u01/app/oracle/flash_recovery_area/TEST/autobackup/2015_03_25/o1_mf_s_875266428_bk4441pd_.bkp /u01/app/oracle/flash_recovery_area/TEST/autobackup/2015-03-25oracle@192.168.56.2's password:o1_mf_s_875266428_bk4441pd_.bkp

检查磁盘组+DG1的空间使用情况,要有足够的空间存储复制数据库的所有文件

ASMCMD> lsdgState    Type    Rebal  Unbal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  NameMOUNTED  EXTERN  N      N         512   4096  1048576      4096     4045                0            4045              0  DG1/

7.执行duplicate命令,如果没有配置自动通道,那么至少手动分配一个辅助实例如果是使用PFILE参数文件启动辅助实例需要指定pfile参数文件,且pfile参数文件必须存储在运行RMAN执行复制的主机上。这里辅助实例使用SPFILE参数文件来启动,并使用自动通道:

[oracle@oracle11g admin]$ export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'[oracle@oracle11g admin]$ rman target sys/zzh_2046@test auxiliary sys/oracle@dupdb catalog rman/rman@jyRecovery Manager: Release 10.2.0.5.0 - Production on Wed Mar 25 21:26:07 2015Copyright (c) 1982, 2007, Oracle.  All rights reserved.connected to target database: TEST (DBID=2168949517)connected to recovery catalog databaseconnected to auxiliary database: DUPDB (not mounted)RMAN> duplicate target database to dupdb;Starting Duplicate Db at 2015-03-25 21:26:22allocated channel: ORA_AUX_DISK_1channel ORA_AUX_DISK_1: sid=35 devtype=DISKcontents of Memory Script:{   set until scn  1093434;   set newname for datafile  1 to "+DG1/system01.dbf";   set newname for datafile  2 to "+DG1/undotbs01.dbf";   set newname for datafile  3 to "+DG1/sysaux01.dbf";   set newname for datafile  4 to "+DG1/users01.dbf";   set newname for datafile  5 to "+DG1/example01.dbf";   set newname for datafile  6 to "+DG1/tspitr01.dbf";   restore   check readonly   clone database   ;}executing Memory Scriptexecuting command: SET until clauseexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEStarting restore at 2015-03-25 21:26:23using channel ORA_AUX_DISK_1channel ORA_AUX_DISK_1: starting datafile backupset restorechannel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup setrestoring datafile 00001 to +DG1/system01.dbfrestoring datafile 00002 to +DG1/undotbs01.dbfrestoring datafile 00003 to +DG1/sysaux01.dbfrestoring datafile 00004 to +DG1/users01.dbfrestoring datafile 00005 to +DG1/example01.dbfrestoring datafile 00006 to +DG1/tspitr01.dbfchannel ORA_AUX_DISK_1: reading from backup piece /u02/ora_test875266253_761channel ORA_AUX_DISK_1: restored backup piece 1piece handle=/u02/ora_test875266253_761 tag=TAG20150325T093052channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:01:05Finished restore at 2015-03-25 21:27:32sql statement: CREATE CONTROLFILE REUSE SET DATABASE "DUPDB" RESETLOGS ARCHIVELOG  MAXLOGFILES     16  MAXLOGMEMBERS      3  MAXDATAFILES      100  MAXINSTANCES     8  MAXLOGHISTORY      292 LOGFILE  GROUP  1 ( '+DG1/redo01.log' ) SIZE 50 M  REUSE,  GROUP  2 ( '+DG1/redo02.log' ) SIZE 50 M  REUSE,  GROUP  3 ( '+DG1/redo03.log' ) SIZE 50 M  REUSE DATAFILE  '+DG1/system01.dbf' CHARACTER SET ZHS16GBKcontents of Memory Script:{   switch clone datafile all;}executing Memory Scriptdatafile 2 switched to datafile copyinput datafile copy recid=1 stamp=875309253 filename=+DG1/undotbs01.dbfdatafile 3 switched to datafile copyinput datafile copy recid=2 stamp=875309253 filename=+DG1/sysaux01.dbfdatafile 4 switched to datafile copyinput datafile copy recid=3 stamp=875309253 filename=+DG1/users01.dbfdatafile 5 switched to datafile copyinput datafile copy recid=4 stamp=875309253 filename=+DG1/example01.dbfdatafile 6 switched to datafile copyinput datafile copy recid=5 stamp=875309253 filename=+DG1/tspitr01.dbfcontents of Memory Script:{   set until scn  1093434;   recover   clone database    delete archivelog   ;}executing Memory Scriptexecuting command: SET until clauseStarting recover at 2015-03-25 21:27:37using channel ORA_AUX_DISK_1starting media recoverychannel ORA_AUX_DISK_1: starting archive log restore to default destinationchannel ORA_AUX_DISK_1: restoring archive logarchive log thread=1 sequence=67channel ORA_AUX_DISK_1: reading from backup piece /u02/ora_test875266425_771channel ORA_AUX_DISK_1: restored backup piece 1piece handle=/u02/ora_test875266425_771 tag=TAG20150325T093344channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:02archive log filename=/u01/app/oracle/product/10.2.0/db/dbs/arch1_67_870806981.dbf thread=1 sequence=67channel clone_default: deleting archive log(s)archive log filename=/u01/app/oracle/product/10.2.0/db/dbs/arch1_67_870806981.dbf recid=1 stamp=875309258channel ORA_AUX_DISK_1: starting archive log restore to default destinationchannel ORA_AUX_DISK_1: restoring archive logarchive log thread=1 sequence=68channel ORA_AUX_DISK_1: restoring archive logarchive log thread=1 sequence=69channel ORA_AUX_DISK_1: reading from backup piece /u02/ora_test875292006_791channel ORA_AUX_DISK_1: restored backup piece 1piece handle=/u02/ora_test875292006_791 tag=TAG20150325T164005channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:03archive log filename=/u01/app/oracle/product/10.2.0/db/dbs/arch1_68_870806981.dbf thread=1 sequence=68channel clone_default: deleting archive log(s)archive log filename=/u01/app/oracle/product/10.2.0/db/dbs/arch1_68_870806981.dbf recid=3 stamp=875309261archive log filename=/u01/app/oracle/product/10.2.0/db/dbs/arch1_69_870806981.dbf thread=1 sequence=69channel clone_default: deleting archive log(s)archive log filename=/u01/app/oracle/product/10.2.0/db/dbs/arch1_69_870806981.dbf recid=2 stamp=875309260channel ORA_AUX_DISK_1: starting archive log restore to default destinationchannel ORA_AUX_DISK_1: restoring archive logarchive log thread=1 sequence=70channel ORA_AUX_DISK_1: restoring archive logarchive log thread=1 sequence=71channel ORA_AUX_DISK_1: reading from backup piece /u02/ora_test875308493_811channel ORA_AUX_DISK_1: restored backup piece 1piece handle=/u02/ora_test875308493_811 tag=TAG20150325T211453channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:04archive log filename=/u01/app/oracle/product/10.2.0/db/dbs/arch1_70_870806981.dbf thread=1 sequence=70channel clone_default: deleting archive log(s)archive log filename=/u01/app/oracle/product/10.2.0/db/dbs/arch1_70_870806981.dbf recid=4 stamp=875309268archive log filename=/u01/app/oracle/product/10.2.0/db/dbs/arch1_71_870806981.dbf thread=1 sequence=71channel clone_default: deleting archive log(s)archive log filename=/u01/app/oracle/product/10.2.0/db/dbs/arch1_71_870806981.dbf recid=5 stamp=875309268media recovery complete, elapsed time: 00:00:04Finished recover at 2015-03-25 21:27:57contents of Memory Script:{   shutdown clone;   startup clone nomount ;}executing Memory Scriptdatabase dismountedOracle instance shut downconnected to auxiliary database (not started)Oracle instance startedTotal System Global Area     167772160 bytesFixed Size                     1272624 bytesVariable Size                 58721488 bytesDatabase Buffers             104857600 bytesRedo Buffers                   2920448 bytessql statement: CREATE CONTROLFILE REUSE SET DATABASE "DUPDB" RESETLOGS ARCHIVELOG  MAXLOGFILES     16  MAXLOGMEMBERS      3  MAXDATAFILES      100  MAXINSTANCES     8  MAXLOGHISTORY      292 LOGFILE  GROUP  1 ( '+DG1/redo01.log' ) SIZE 50 M  REUSE,  GROUP  2 ( '+DG1/redo02.log' ) SIZE 50 M  REUSE,  GROUP  3 ( '+DG1/redo03.log' ) SIZE 50 M  REUSE DATAFILE  '+DG1/system01.dbf' CHARACTER SET ZHS16GBKcontents of Memory Script:{   set newname for tempfile  1 to "+DG1/temp01.dbf";   switch clone tempfile all;   catalog clone datafilecopy  "+DG1/undotbs01.dbf";   catalog clone datafilecopy  "+DG1/sysaux01.dbf";   catalog clone datafilecopy  "+DG1/users01.dbf";   catalog clone datafilecopy  "+DG1/example01.dbf";   catalog clone datafilecopy  "+DG1/tspitr01.dbf";   switch clone datafile all;}executing Memory Scriptexecuting command: SET NEWNAMErenamed temporary file 1 to +DG1/temp01.dbf in control filecataloged datafile copydatafile copy filename=+DG1/undotbs01.dbf recid=1 stamp=875309291cataloged datafile copydatafile copy filename=+DG1/sysaux01.dbf recid=2 stamp=875309291cataloged datafile copydatafile copy filename=+DG1/users01.dbf recid=3 stamp=875309291cataloged datafile copydatafile copy filename=+DG1/example01.dbf recid=4 stamp=875309292cataloged datafile copydatafile copy filename=+DG1/tspitr01.dbf recid=5 stamp=875309292datafile 2 switched to datafile copyinput datafile copy recid=1 stamp=875309291 filename=+DG1/undotbs01.dbfdatafile 3 switched to datafile copyinput datafile copy recid=2 stamp=875309291 filename=+DG1/sysaux01.dbfdatafile 4 switched to datafile copyinput datafile copy recid=3 stamp=875309291 filename=+DG1/users01.dbfdatafile 5 switched to datafile copyinput datafile copy recid=4 stamp=875309292 filename=+DG1/example01.dbfdatafile 6 switched to datafile copyinput datafile copy recid=5 stamp=875309292 filename=+DG1/tspitr01.dbfcontents of Memory Script:{   Alter clone database open resetlogs;}executing Memory Scriptdatabase openedFinished Duplicate Db at 2015-03-25 21:28:33

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26015009/viewspace-1475226/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26015009/viewspace-1475226/

你可能感兴趣的文章
Php 3.x与4.x中关于对象编程的不兼容问题 (转)
查看>>
Cg FAQ (转)
查看>>
在access中增加农历支持模块. (转)
查看>>
增加一个判断内存变量存在的函数 (转)
查看>>
ASP文件上传神功 第二重(招势图加内功心法) (转)
查看>>
JSR227:J2EE数据绑定及数据访问标准 (转)
查看>>
Sun ONE Studio 4 Mobile Edition开发MIDlet入门 (转)
查看>>
Jbuilder8开发J2ee学习笔记(2) (转)
查看>>
Makefile编写小说(一) (转)
查看>>
NeHe的opengl教程delphi版(3)----着色 (转)
查看>>
ORACLE SQL性能优化系列 (二) (转)
查看>>
控件treeview的使用 (转)
查看>>
运用VC或Java对Office进行编程操作 (转)
查看>>
Linux Shell 裡一些很少用到卻很有用的指令 (转)
查看>>
第10章 模型管理视图 (转)
查看>>
第7章 活 动 视 图 (转)
查看>>
“管家婆”软件用于维修管理 (转)
查看>>
第13章 术 语 大 全 (8) (转)
查看>>
第13章 术 语 大 全 (9) (转)
查看>>
人月神话读书笔记(二) (转)
查看>>