Duplicate standby database from active database

11g Release1 中引入了新的RMAN duplicate命令,即duplicate from active database命令。利用该命令可以更加便捷地创建Data Guard环境,你甚至不需要将Primary Database shutdown(整个过程中主库都可以处于打开状态下),也不需要在配置前做一些额外的备份操作,仅需要配置起auxiliary辅助实例,同时创建密码文件,并在监听(LISTENER)中加入静态注册信息后就可以开始工作了! 以下示例中我们会在Primary Database所在的同一台服务器上部署一套物理备库(Physical Standby),实际上这样比在不同的2台服务器上配置Data Guard要复杂些,原因是那样的话我们无需做File Name的转换,具体的环境:
Database RoleDB_UNIQUE_NAME
Primary DatabasePROD
Standby DatabaseSBDB
 
/* 需要注意的是DG环境中force logging,不要用了新特性就将这个基本的要求忘记了 ! */SQL> select * from v$version;BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
CORE	11.2.0.2.0	Production
TNS for Linux: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production/* 显然PROD主库应当处于归档模式并且是FORCE LOGGING状态下 */SQL> alter database force logging;
Database altered.同时在Primary Database上创建必要的standby logfile:SQL> alter database add standby logfile group 7 size 50M;
Database altered.SQL> alter database add standby logfile group 8 size 50M;
Database altered.............../* standby实例只需要db_name参数就可以启动到nomount模式了,并为standby数据库创建密码文件 */[maclean@rh6 ~]$ echo "db_name=PROD" >$ORACLE_HOME/dbs/initSBDB.ora[maclean@rh6 ~]$ orapwd file=$ORACLE_HOME/dbs/orapwSBDB password=XXXX entries=10[maclean@rh6 ~]$ cd $ORACLE_HOME/network/admin我们需要保证PROD和SBDB实例在监听器Listener中被静态注册,同时也包括DGMGRL需要用到的*_DGMGRL服务名[maclean@rh6 admin]$ cat listener.ora
# listener23920.ora Network Configuration File: /tmp/listener23920.ora
# Generated by Oracle configuration tools.DGLSN =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = rh6.oracle.com)(PORT = 1588)))SID_LIST_DGLSN =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = PROD)(ORACLE_HOME = /s01/product/11.2.0/dbhome_2)(SID_NAME = PROD))(SID_DESC =(GLOBAL_DBNAME = SBDB)(ORACLE_HOME = /s01/product/11.2.0/dbhome_2)(SID_NAME = SBDB))(SID_DESC =(GLOBAL_DBNAME = PROD_DGMGRL)(ORACLE_HOME = /s01/product/11.2.0/dbhome_2)(SID_NAME = PROD))(SID_DESC =(GLOBAL_DBNAME = SBDB_DGMGRL)(ORACLE_HOME = /s01/product/11.2.0/dbhome_2)(SID_NAME = SBDB)))/* 并在tnsnames.ora文件中加入必要的服务别名 */[maclean@rh6 admin]$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /s01/product/11.2.0/dbhome_2/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.PROD =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = rh6.oracle.com)(PORT = 1588))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = PROD)))SBDB =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = rh6.oracle.com)(PORT = 1588)))(CONNECT_DATA =(SERVICE_NAME = SBDB)))DGLSN =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = rh6.oracle.com)(PORT = 1588)))接着我们来启动辅助实例[maclean@rh6 ~]$ export ORACLE_SID=SBDB
[maclean@rh6 ~]$ sqlplus  / as sysdba
SQL> startup  nomount;
ORACLE instance started./* 使用远程登录测试是否可以以SYSDBA登录SBDB实例 */[maclean@rh6 ~]$ sqlplus  sys/XXXXXX@SBDB as sysdba下面我们需要准备一份duplicate standby database的脚本,
因为我们是在同一台主机上配置Data Guard所以这里要用到db_file_name_convert和log_file_name_convert,
如果你的环境中不需要这么做那么你可以指定NOFILENAMECHECK;以下为示例的脚本,可以看到它并不复杂只是指定了必要的初始化参数,十分易于记忆。[maclean@rh6 ~]$ cat duplicate_act_standby.rcv duplicate target database
for standby
from active database
DORECOVER
spfile
set db_unique_name='SBDB'
set log_archive_dest_1='location=/standby/arch02'
set log_archive_dest_2='service=PROD async lgwr register valid_for=(online_logfile,primary_role) db_unique_name=PROD'
set standby_file_management='AUTO'
set fal_server='PROD'
set fal_client='SBDB'
set control_files='/standby/oradata/SBDB/controlfile/control1.ctl','/standby/oradata/SBDB/controlfile/control2.ctl'
set db_file_name_convert='PROD','SBDB'
set log_file_name_convert='PROD','SBDB'
set memory_target='0'
set sga_target='400M';具体执行以上脚本,我们需要同时登录target database PROD和auxiliary instance辅助实例SBDB:[maclean@rh6 ~]$ echo $ORACLE_SID
PROD[maclean@rh6 ~]$ rman target / auxiliary sys/oracle@SBDB cmdfile=duplicate_act_standby.rcv log=das.logconnected to target database: PROD (DBID=158660885)
connected to auxiliary database: PROD (not mounted)RMAN> duplicate target database
2> for standby
3> from active database
4> DORECOVER
5> spfile
6> set db_unique_name='SBDB'
7> set log_archive_dest_1='location=/standby/arch02'
8> set log_archive_dest_2='service=PROD async lgwr register valid_for=(online_logfile,primary_role) db_unique_name=PROD'
9> set standby_file_management='AUTO'
10> set fal_server='PROD'
11> set fal_client='SBDB'
12> set control_files='/standby/oradata/SBDB/controlfile/control1.ctl','/standby/oradata/SBDB/controlfile/control2.ctl'
13> set db_file_name_convert='PROD','SBDB'
14> set log_file_name_convert='PROD','SBDB'
15> set memory_target='0'
16> set sga_target='400M';
17>
Starting Duplicate Db at 26-MAR-11
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=96 device type=DISKcontents of Memory Script:
{backup as copy reusetargetfile  '/s01/product/11.2.0/dbhome_2/dbs/orapwPROD' auxiliary format'/s01/product/11.2.0/dbhome_2/dbs/orapwSBDB'   targetfile'/s01/product/11.2.0/dbhome_2/dbs/spfilePROD.ora' auxiliary format'/s01/product/11.2.0/dbhome_2/dbs/spfileSBDB.ora'   ;sql clone "alter system set spfile= ''/s01/product/11.2.0/dbhome_2/dbs/spfileSBDB.ora''";
}
executing Memory ScriptStarting backup at 26-MAR-11
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=17 device type=DISK
Finished backup at 26-MAR-11sql statement: alter system set spfile= ''/s01/product/11.2.0/dbhome_2/dbs/spfileSBDB.ora''contents of Memory Script:
{sql clone "alter system set  db_unique_name =''SBDB'' comment='''' scope=spfile";sql clone "alter system set  log_archive_dest_1 =''location=/standby/arch02'' comment='''' scope=spfile";sql clone "alter system set  log_archive_dest_2 =''service=PROD async lgwr register valid_for=(online_logfile,primary_role) db_unique_name=PROD'' comment='''' scope=spfile";sql clone "alter system set  standby_file_management =''AUTO'' comment='''' scope=spfile";sql clone "alter system set  fal_server =''PROD'' comment='''' scope=spfile";sql clone "alter system set  fal_client =''SBDB'' comment='''' scope=spfile";sql clone "alter system set  control_files =''/standby/oradata/SBDB/controlfile/control1.ctl'', ''/standby/oradata/SBDB/controlfile/control2.ctl'' comment='''' scope=spfile";sql clone "alter system set  db_file_name_convert =''PROD'', ''SBDB'' comment='''' scope=spfile";sql clone "alter system set  log_file_name_convert =''PROD'', ''SBDB'' comment='''' scope=spfile";sql clone "alter system set  memory_target =0 comment='''' scope=spfile";sql clone "alter system set  sga_target =400M comment='''' scope=spfile";shutdown clone immediate;startup clone nomount;
}
executing Memory Scriptsql statement: alter system set  db_unique_name =  ''SBDB'' comment= '''' scope=spfilesql statement: alter system set  log_archive_dest_1 =  ''location=/standby/arch02'' comment= '''' scope=spfilesql statement: alter system set  log_archive_dest_2 =  
''service=PROD async lgwr register valid_for=(online_logfile,primary_role) db_unique_name=PROD'' 
comment= '''' scope=spfilesql statement: alter system set  standby_file_management =  ''AUTO'' comment= '''' scope=spfilesql statement: alter system set  fal_server =  ''PROD'' comment= '''' scope=spfilesql statement: alter system set  fal_client =  ''SBDB'' comment= '''' scope=spfilesql statement: alter system set  control_files =  ''/standby/oradata/SBDB/controlfile/control1.ctl'',
''/standby/oradata/SBDB/controlfile/control2.ctl''
comment= '''' scope=spfilesql statement: alter system set  db_file_name_convert =  ''PROD'', ''SBDB'' comment= '''' scope=spfilesql statement: alter system set  log_file_name_convert =  ''PROD'', ''SBDB'' comment= '''' scope=spfilesql statement: alter system set  memory_target =  0 comment= '''' scope=spfilesql statement: alter system set  sga_target =  400M comment= '''' scope=spfileOracle instance shut downconnected to auxiliary database (not started)
Oracle instance startedTotal System Global Area     417546240 bytesFixed Size                     2227072 bytes
Variable Size                134218880 bytes
Database Buffers             272629760 bytes
Redo Buffers                   8470528 bytescontents of Memory Script:
{backup as copy current controlfile for standby auxiliary format  '/standby/oradata/SBDB/controlfile/control1.ctl';restore clone controlfile to  '/standby/oradata/SBDB/controlfile/control2.ctl' from'/standby/oradata/SBDB/controlfile/control1.ctl';
}
executing Memory ScriptStarting backup at 26-MAR-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
copying standby control file
output file name=/s01/product/11.2.0/dbhome_2/dbs/snapcf_PROD.f tag=TAG20110326T195144 RECID=2 STAMP=746826704
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 26-MAR-11Starting restore at 26-MAR-11
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=134 device type=DISKchannel ORA_AUX_DISK_1: copied control file copy
Finished restore at 26-MAR-11contents 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"/standby/oradata/SBDB/datafile/o1_mf_temp_6rvjsmr4_.tmp";switch clone tempfile all;set newname for datafile  1 to"/standby/oradata/SBDB/datafile/o1_mf_system_6rvjrtxh_.dbf";set newname for datafile  2 to"/standby/oradata/SBDB/datafile/o1_mf_sysaux_6rvjs6vh_.dbf";set newname for datafile  3 to"/standby/oradata/SBDB/datafile/o1_mf_undotbs1_6rvjsjjg_.dbf";set newname for datafile  4 to"/standby/oradata/SBDB/datafile/o1_mf_users_6rvjsy5q_.dbf";backup as copy reusedatafile  1 auxiliary format"/standby/oradata/SBDB/datafile/o1_mf_system_6rvjrtxh_.dbf"   datafile2 auxiliary format"/standby/oradata/SBDB/datafile/o1_mf_sysaux_6rvjs6vh_.dbf"   datafile3 auxiliary format"/standby/oradata/SBDB/datafile/o1_mf_undotbs1_6rvjsjjg_.dbf"   datafile4 auxiliary format"/standby/oradata/SBDB/datafile/o1_mf_users_6rvjsy5q_.dbf"   ;sql 'alter system archive log current';
}
executing Memory Scriptexecuting command: SET NEWNAMErenamed tempfile 1 to /standby/oradata/SBDB/datafile/o1_mf_temp_6rvjsmr4_.tmp in control fileexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEStarting backup at 26-MAR-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=/standby/oradata/PROD/datafile/o1_mf_system_6rvjrtxh_.dbf
output file name=/standby/oradata/SBDB/datafile/o1_mf_system_6rvjrtxh_.dbf tag=TAG20110326T195152
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile copy
input datafile file number=00002 name=/standby/oradata/PROD/datafile/o1_mf_sysaux_6rvjs6vh_.dbf
output file name=/standby/oradata/SBDB/datafile/o1_mf_sysaux_6rvjs6vh_.dbf tag=TAG20110326T195152
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile copy
input datafile file number=00003 name=/standby/oradata/PROD/datafile/o1_mf_undotbs1_6rvjsjjg_.dbf
output file name=/standby/oradata/SBDB/datafile/o1_mf_undotbs1_6rvjsjjg_.dbf tag=TAG20110326T195152
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=/standby/oradata/PROD/datafile/o1_mf_users_6rvjsy5q_.dbf
output file name=/standby/oradata/SBDB/datafile/o1_mf_users_6rvjsy5q_.dbf tag=TAG20110326T195152
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 26-MAR-11sql statement: alter system archive log currentcontents of Memory Script:
{backup as copy reusearchivelog like  "/standby/arch01/1_17_746822549.dbf" auxiliary format"/standby/arch02/1_17_746822549.dbf"   ;catalog clone archivelog  "/standby/arch02/1_17_746822549.dbf";switch clone datafile all;
}
executing Memory ScriptStarting backup at 26-MAR-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting archived log copy
input archived log thread=1 sequence=17 RECID=3 STAMP=746826751
output file name=/standby/arch02/1_17_746822549.dbf RECID=0 STAMP=0
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01
Finished backup at 26-MAR-11cataloged archived log
archived log file name=/standby/arch02/1_17_746822549.dbf RECID=1 STAMP=746826752datafile 1 switched to datafile copy
input datafile copy RECID=2 STAMP=746826752 file name=/standby/oradata/SBDB/datafile/o1_mf_system_6rvjrtxh_.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=3 STAMP=746826752 file name=/standby/oradata/SBDB/datafile/o1_mf_sysaux_6rvjs6vh_.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=4 STAMP=746826752 file name=/standby/oradata/SBDB/datafile/o1_mf_undotbs1_6rvjsjjg_.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=5 STAMP=746826752 file name=/standby/oradata/SBDB/datafile/o1_mf_users_6rvjsy5q_.dbfcontents of Memory Script:
{set until scn  242517;recoverstandbyclone databasedelete archivelog;
}
executing Memory Scriptexecuting command: SET until clauseStarting recover at 26-MAR-11
using channel ORA_AUX_DISK_1starting media recoveryarchived log for thread 1 with sequence 17 is already on disk as file /standby/arch02/1_17_746822549.dbf
archived log file name=/standby/arch02/1_17_746822549.dbf thread=1 sequence=17
media recovery complete, elapsed time: 00:00:00
Finished recover at 26-MAR-11
Finished Duplicate Db at 26-MAR-11Recovery Manager complete.[maclean@rh6 ~]$ export ORACLE_SID=PROD
[maclean@rh6 ~]$ sqlplus  / as sysdba/* 在主库PROD上设置到物理备库SBDB的归档目的地 */SQL> alter system set log_archive_dest_2='service=sbdb lgwr async  
valid_for=(online_logfiles,primary_role) db_unique_name=SBDB';
System altered.以上完成了对物理备库Physical Standby的配置,紧接着我们来配合Data Broker:SQL> alter system set dg_broker_start=true;
System altered.[maclean@rh6 ~]$ export ORACLE_SID=SBDB
[maclean@rh6 ~]$ sqlplus  / as sysdbaSQL>  alter system set dg_broker_start=true;
System altered.[maclean@rh6 ~]$ dgmgrl sys/oracle@PROD
DGMGRL for Linux: Version 11.2.0.2.0 - 64bit ProductionCopyright (c) 2000, 2009, Oracle. All rights reserved.Welcome to DGMGRL, type "help" for information.
Connected.DGMGRL>  create CONFIGURATION PROD as PRIMARY DATABASE IS PROD  CONNECT IDENTIFIER IS PROD;
Configuration "prod" created with primary database "prod"DGMGRL> add database sbdb  AS CONNECT IDENTIFIER IS sbdb MAINTAINED AS PHYSICAL;
Database "sbdb" addedDGMGRL> enable configuration;
Enabled.DGMGRL> edit database prod set property LogXptMode='sync';
Property "logxptmode" updated
DGMGRL> edit database sbdb set property LogXptMode='sync';
Property "logxptmode" updated/* 修改当前DG的保护模式为最大可用模式MaxAvailability */DGMGRL> edit CONFIGURATION SET PROTECTION MODE  as MaxAvailability;
Succeeded.DGMGRL> show configuration;Configuration - prodProtection Mode: MaxAvailabilityDatabases:prod - Primary databasesbdb - Physical standby databaseError: ORA-16766: Redo Apply is stoppedFast-Start Failover: DISABLEDConfiguration Status:
ERROR/* 以上可以看到物理备库SBDB上的REDO APPLY被停止了,我们可以在DGMGRL中启动其REDO APPLY */DGMGRL> edit database sbdb set state='APPLY-ON';
Succeeded.DGMGRL> show configuration;Configuration - prodProtection Mode: MaxAvailabilityDatabases:prod - Primary databasesbdb - Physical standby databaseFast-Start Failover: DISABLEDConfiguration Status:
SUCCESS/* 以下使用DGMGRL来回切换主备库角色,十分方便 */DGMGRL> switchover to sbdb;
Performing switchover NOW, please wait...
New primary database "sbdb" is opening...
Operation requires shutdown of instance "PROD" on database "prod"
Shutting down instance "PROD"...
ORACLE instance shut down.
Operation requires startup of instance "PROD" on database "prod"
Starting instance "PROD"...
ORACLE instance started.
Database mounted.
Switchover succeeded, new primary is "sbdb"DGMGRL> switchover to prod;
Performing switchover NOW, please wait...
New primary database "prod" is opening...
Operation requires shutdown of instance "SBDB" on database "sbdb"
Shutting down instance "SBDB"...
ORACLE instance shut down.
Operation requires startup of instance "SBDB" on database "sbdb"
Starting instance "SBDB"...
ORACLE instance started.
Database mounted.
Switchover succeeded, new primary is "prod"

转载于:https://www.cnblogs.com/macleanoracle/archive/2013/03/19/2967711.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400809.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MSP430F5529 DriverLib 库函数学习笔记(十一)I2C / IIC

目录硬知识USCI的I2C模式I2C概述MSP430单片机I2C模块特征及结构框图I2C原理I2C主从操作(1)从模式(2)主模式I2C模式下的USCI中断USCI寄存器—I2C模式I2C API (机翻)API介绍主机模式主机模式单字节传输主机模式多字节传输主机模式单…

JVM中可生成的最大Thread数量

最近想测试下Openfire下的最大并发数,需要开大量线程来模拟客户端。对于一个JVM实例到底能开多少个线程一直心存疑惑,所以打算实际测试下,简单google了把,找到影响线程数量的因素有下面几个: -Xms intial java heap s…

使用 Abp.Zero 搭建第三方登录模块(一):原理篇

🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一…

手游server之数据IO进化

这里数据IO是指游戏数据存盘和读取。假设IO处理不好。server在IO时会导致。游戏卡顿较长的时间,严重影响游戏体验。近期服务端刚好对IO这一块做了优化,把优化过程记录一下。一 原始版 刚開始立项的时候,仅仅是做了一个Demo,加上也…

MSP430F5529 DriverLib 库函数学习笔记(十二)I2C实战

目录上机实战I2C给 DAC 芯片 DAC7571 写入数字量DAC7571 介绍程序分析引脚复用I2C 初始化发送一个字节发送一个字读取一个字节读取多个字节中断服务函数整体代码main.cMSP430F5529_I2C.cMSP430F5529_I2C.h实验结果I2C 读取 TMP421 温度TMP421 简介程序摘要TMP421初始化温度的读…

mysqldump造成Buffer Pool污染的研究 [转]

原文链接:http://www.shaoqun.com/m/a/43307.aspx 前言: 最近Oracle MySQL在其官方Blog上贴出了 5.6中一些变量默认值的修改。其中innodb_old_blocks_time 的默认值从0替换成了1000(即1s) 关于该参数的作用摘录如下: h…

自动加载缓存框架

2019独角兽企业重金招聘Python工程师标准>>> 自动加载缓存框架 代码,请访问github 获取更详情,更新的内容 QQ交流群:429274886,版本更新会在群里通知,能了解最新动态 0.5版本已经是稳定版本了,大家可以放心…

(数据科学学习手札139)geopandas 0.11版本重要新特性一览

🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一…

MSP430F5529 DriverLib 库函数学习笔记(十三)认识低功耗模式

目录硬知识低功耗模式MSP430单片机各工作模式下的电流消耗API进入低功耗模式退出低功耗模式平台:Code Composer Studio 10.3.1 MSP430F5529 LaunchPad™ Development Kit (MSP‑EXP430F5529LP) 硬知识 低功耗模式 MSP430单片机具有7种低功耗模式(LPM0…

剖析虚幻渲染体系(16)- 图形驱动的秘密

🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一…

方法性能分析器--装饰者模式应用

<!DOCTYPE html> <html> <head><title>方法性能分析器</title><meta charset"utf-8"> </head> <body> <div id"list-container"></div><script>function $(id){return document.getEle…

Python NLPIR(中科院汉语分词系统)的使用 十五分钟快速入门与完全掌握

前叙 博主写这篇文章使用了八十分钟,阅读需要十五分钟,读完之后你将会学会在Python中使用NLPIR2016.如果你花费更多的时间练习后半部分的例子,你将能够在一天内学会在Python中使用NLPIR2016的全部所需知识 如果你想要获取更详细的API翻译,你需要进一步学习ctypes,附赠一篇关于…

微信朋友圈也可以发语音你们造吗?

在微信朋友圈发照片太矫情&#xff0c;小视频又耗流量&#xff0c;只发文字又太单调&#xff0c;何不发段语音来呼朋唤友呢&#xff1f;你是说朋友圈发语音&#xff1f;这是真的吗&#xff1f;sure&#xff0c;开发者已经利用微信JS-SDK接口实现了&#xff0c;扫描下方的二维码…

MSP430F5529 DriverLib 库函数学习笔记(十四)看门狗定时器 (WDT)

目录硬知识看门狗定时计数器 &#xff08;WDTCNT&#xff09;看门狗模式定时计数模式看门狗定时器中断时钟故障保护功能低功耗模式下的看门狗操作看门狗定时器控制寄存器WDT_A API (机翻)参数上机实战定时计数模式配置中断服务函数整体代码实验结果看门狗模式配置整体代码平台&…

初学 Unsupervised feature learning and deep learning--Sparse autoencoder

今天做了一下 Stanford CS294A 的一个 programming assignment: sparse autoencoder 因为之前做过 Andrew Ng 的 ml online class 的 neural network 那节的作业&#xff0c;所以这个实现起来就很 easy 了。直接贴代码&#xff08;all vectorized&#xff09;&#xff1a;1 [d …

【Nginx】Windows平台下配置Nginx服务实现负载均衡

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

PLC基础入门

PLC编程入门基础技术知识学习 2016-06-27 xjp7879 摘自 电工技术知...第一章 可编程控制器简介 可编程序控制器&#xff0c;英文称Programmable Controller&#xff0c;简称PC。但由于PC容易和个人计算机&#xff08;Personal Computer&#xff09;混淆&#xff0c;故人们仍习…

MSP430F5529 DriverLib 库函数学习笔记(十五)SFR 模块

目录API (机翻)SFR管理中断的函数SFR 管理RST/NMI引脚控制的函数参数平台&#xff1a;Code Composer Studio 10.3.1 MSP430F5529 LaunchPad™ Development Kit (MSP‑EXP430F5529LP) API (机翻) 特殊函数寄存器API提供了一组用于使用MSP430Ware SFR模块的函数。提供了启用和禁…

View,SurfaceView,SurfaceHolder

View&#xff1a;对于绘画来说&#xff0c;最重要的步骤是重载 onDraw方法并且修改画布Canvas。 SurfaceView&#xff1a;1&#xff0c;You can control the format of this surface and, if you like, its size; 2&#xff0c;One of the purposes of this class is to provid…

Xcode 的正确打开方式——Debugging

2019独角兽企业重金招聘Python工程师标准>>> 程序员日常开发中有大量时间都会花费在 debug 上&#xff0c;从事 iOS 开发不可避免地需要使用 Xcode。这篇博客就主要介绍了 Xcode 中几种能够大幅提升代码调试效率的方式。 “If debugging is the process of removing…