oracle11g dataguard物理备库搭建

 

Dataguard 环境:

操作系统:Redhat6.4
Primary数据库:
IP 地址:192.168.1.122
数据库SID:ora11g
DB_UNIQUE_NAME:ora11g_primary
Standby数据库:
IP 地址:192.168.1.123
数据库SID:ora11g
DB_UNIQUE_NAME:ora11g_standby
(注:oracle数据库版本是11.2.0.1.0)
1.Primary端的配置

(1).检查数据库是否支持 Data Guard(企业版才支持),是否归档模式,Enable force logging

$ sqlplus '/as sysdba'
SQL> select * from v$option where parameter = 'Managed Standby'; 
确认主库处于归档模式      
SQL> archive log list        (先检查是否归档模式,不是则修改)
     startup mount
     alter database archivelog;
     alter database open;
 
(2)primary 数据库置为 FORCE LOGGING模式
 
SQL> alter database force logging;  (强制产生日志)
如果主库没有密码文件则建立密码文件,从而可以 OS验证的方式登陆
$ orapwd file=$ORACLE_HOME/dbs/orapwora11g password=oracle entries=5
 
(3)为主数据库添加备用联机日志文件
SQL> alter database add standby logfile group 4 ('/u01/app/oracle/oradata/ora11g/stdby_redo04.log') size 50m;
alter database add standby logfile group 5 ('/u01/app/oracle/oradata/ora11g/stdby_redo05.log') size 50m;
alter database add standby logfile group 6 ('/u01/app/oracle/oradata/ora11g/stdby_redo06.log') size 50m;
alter database add standby logfile group 7 ('/u01/app/oracle/oradata/ora11g/stdby_redo07.log') size 50m;
standby redolog的组数参考公式:(online redolog组数 + 1) * 数据库线程数;单机线程数为1RAC一般为2
standby redolog的组成员数和大小也尽量和online redolog一样。
(注:在备库中也要建立相同的standbylog组。)
 
(4)修改主库参数文件
SQL> create pfile from spfile;
主库
DB_NAME=ora11g
DB_UNIQUE_NAME=ora11g_primary
LOG_ARCHIVE_CONFIG='DG_CONFIG=(ora11g_primary ,ora11g_standby)'   
LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ora11g_primary'
LOG_ARCHIVE_DEST_2='SERVICE=ora11g_standby LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ora11g_standby'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
FAL_SERVER=ora11g_standby
FAL_CLIENT=ora11g_primary
STANDBY_FILE_MANAGEMENT=AUTO
 
 
(5)建立备用库的控制文件
SQL>shutdown immediate
SQL>startup mount
SQL> alter database create standby controlfile as '/u01/standby_ctl01.ctl';
 
(6)配置listener.ora和tnsnames.ora
 
Listener.ora 文件:
 
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ora11g)
(SID_NAME = ora11g)
(ORACLE_HOME = /home/db/oracle/product/11.2.0/dbhome_1)
)
)
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = DG-Primary)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = /u01/app/oracle
tnsnames.ora文件:
 
ORA11G_PRIMARY =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.122)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ora11g)
    )
  )
ORA11G_STANDBY =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.123)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ora11g)
    )
  )
 

(7)主库用修改过的PFILE 生产SPFILE
关闭主数据库
SQL>shutdown immediate
生成spfile
SQL> create spfile from pfile;
 
 
 
2.Standby端的配置
 
(1). 创建备库存放数据文件和后台跟踪目录

 mkdir -p $ORACLE_BASE/oradata/ora11g 

 mkdir -p $ORACLE_BASE/admin/ora11g

 mkdir -p $ORACLE_BASE/admin/ora11g/adump 

 mkdir -p $ORACLE_BASE/admin/ora11g/bdump 

 mkdir -p $ORACLE_BASE/admin/ora11g/cdump 

 mkdir -p $ORACLE_BASE/admin/ora11g/dpdump 

 mkdir -p $ORACLE_BASE/admin/ora11g/pfile 

 mkdir -p $ORACLE_BASE/admin/ora11g/udump 

 mkdir -p $ORACLE_BASE/diag/rdbms

mkdir -p $ORACLE_BASE/diag/tnslsnr
mkdir -p $ORACLE_BASE/flash_recovery_area/ora11g
mkdir -p $ORACLE_BASE/flash_recovery_area/ORA11g
mkdir -p $ORACLE_BASE/archive
(2).把文件传输到备库下
关闭主库复制文件
$scp $ORACLE_BASE/oradata/*.dbf 192.168.1.123:/$ORACLE_BASE/oradata/ora11g
$scp $ORACLE_BASE/oradata/*.log 192.168.1.123:/$ORACLE_BASE/oradata/ora11g
$scp /u01/standby_ctl01.ctl 192.168.1.123:/$ORACLE_BASE/oradata/ora11g
$scp $ORACLE_HOME/dbs/initora11g.ora 192.168.1.123: $ORACLE_HOME/dbs/
$ cd $ORACLE_BASE/oradata/ora11g
$ mv standby_ctl01.ctl  control01.ctl
$ cp control01.ctl /u01/app/oracle/flash_recovery_area/ora11g/
$cd /u01/app/oracle/flash_recovery_area/ora11g/
$ mv control01.ctl  control02.ctl
 
(3)建立密码文件
如果主库没有密码文件则建立密码文件,从而可以 OS验证的方式登陆
$ orapwd file=$ORACLE_HOME/dbs/orapwora11g password=oracle entries=5
 (4)修改备库参数文件
DB_NAME=ora11g
DB_UNIQUE_NAME=ora11g_standby 
LOG_ARCHIVE_CONFIG='DG_CONFIG=(ora11g_primary ,ora11g_standby)'   
LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ora11g_standby'
LOG_ARCHIVE_DEST_2='SERVICE=ora11g_primary LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ora11g_primary'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
FAL_SERVER=ora11g_primary
FAL_CLIENT=ora11g_standby
STANDBY_FILE_MANAGEMENT=AUTO
(4)修改备库的listener.ora和tnsnames.ora,如果没有的话,可以直接从主库复制过去
 
Listener.ora 文件:
 
 
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ora11g)
(SID_NAME = ora11g)
(ORACLE_HOME = /home/db/oracle/product/11.2.0/dbhome_1)
)
)
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = DG-Standby)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = /u01/app/oracle
tnsnames.ora文件:
 
ORA11G_PRIMARY =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.122)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ora11g)
    )
  )
ORA11G_STANDBY =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.123)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ora11g)
    )
  )
 
(5)复制主库的密码文件到备库的相应位置(注:如果主备库不能同步很可能就是密码文件不一样)
 
先查看备份库是否有密码文件,有就先删除,然后再复制。
scp $ORACLE_HOME/dbs/orapwora11g 192.168.1.123:/$ORACLE_HOME/dbs/
 
 
 
3.Dataguard启动
(1)启动顺序,先启动备库,然后再启动主库
 
启动standby database

SQL>startup nomount
SQL>alter database mount standby database; #执行此命令后备库会处于手动恢复状态。

启动primary database
SQL>startup mount
SQL>alter database set standby database to maximize availability;     (设置为最大性能模式也是默认模式)
SQL>alter database open;

启动standby database到recover manage模式

SQL>alter database recover managed standby database disconnect from session;
#执行此命令后,备库会切换到自动恢复模式。

 
如果要启动到实时日志应用模式 (注:前提必须创建standby logfile)
alter database recover managed standby database using current logfile; #切换备库到适时应用日志模式,即real-time apply。执行这个命令后光标会停止在那里。
或者alter database recover managed standby database using current logfile disconnect from session;  #执行这个命令后,会切断这个session,执行的功能与上面相同。
SQL>alter database recover managed standby database using current logfile disconnect from session; 

切换standby database到read only模式

SQL> alter database recover managed standby database cancel;    #首先取消备库的自动恢复模式
SQL>alter database open read only;
如果要切换回recover manage模式(启动日志应用或者启动日志实时应用)
SQL> alter database recover managed standby database disconnect from session; 启动日志应用
SQL>alter database recover managed standby database using current logfile disconnect from session; 启动日志实时应用
4、启动和关闭顺序
 
启动顺序
 
(1).启从、主库的监听Listener
从库DG-Standby:
$lsnrctl start

主库DG-Primary:
$lsnrctl start

(2).启动备库数据库,执行如下:
$sqlplus /nolog
SQL>conn /as sysdba
SQL> startup nomount
SQL> alter database mount standby database;               #让备库处于standby
SQL> alter database recover managed standby database using current logfile disconnect from session; ;                                                  #开始实时同步
(3).启动主库
$sqlplus /nolog
SQL>conn /as sysdba
SQL> startup

.切换standby database到read only模式

SQL> alter database recover managed standby database cancel;    #首先取消备库的自动恢复模式
SQL>alter database open read only;
如果要切换回recover manage模式(启动日志应用或者启动日志实时应用)
SQL> alter database recover managed standby database disconnect from session; 启动日志应用
SQL>alter database recover managed standby database using current logfile disconnect from session; 启动日志实时应用
(3).启动主库数据库(上述第二步执行完毕后,方可执行如下命令):
SQL>startup

关闭顺序

关闭的时候正好相反,先关闭主库,然后关闭从库。
(1).  关闭主库
$su – oracle
SQL>sqlplus /nolog
SQL>conn /as sysdba
SQL>shutdown immediate;
(2). 关闭从库
su – oracle
SQL>sqlplus /nolog
SQL>conn /as sysdba
SQL>alter database recover managed standby database cancel;     #停止同步
SQL>shutdown immediate
5、功能切换
Switchover状态切换
首先在primary上操作:
 
 (1).   验证主库是否能执行角色转换到备库(原主库执行)
 
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS 
----------------- 
TO STANDBY 
1 row selected
(2).开始把物理主库改变为物理备库(原主库执行)
 
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY with session shutdown;
注:如果有活动的session可以使用此选项,否则转换会遇到ORA-01093错误,也可以杀掉活动会话或等活动会话后进行转换 
(3).关闭并重启主库(原主库执行)
SQL> shutdown immediate
SQL> startup nomount
SQL> alter database mount standby database;               #让备库处于standby
SQL> alter database recover managed standby database using current logfile disconnect from session; ;                                                  #开始实时同步
 
然后在standby上操作:
(1).验证备库是否能执行角色转换到主库(原备库执行)
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE; 
SWITCHOVER_STATUS 
----------------- 
TO_PRIMARY 
1 row selected
(2).开始把物理备库转换成物理主库(原备库执行)
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
--如果报ORA-16139: media recovery required,可能是由于未应用日志引起,可先执行
ALTER  DATABASE RECOVER MANAGED STANDBY  DATABASE DISCONNECT FROM SESSION;
(3)打开备库,然后关闭重启.(原备库执行)
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP;
 (4)  验证是否转换成功(原备库执行)
SQL> ALTER SYSTEM SWITCH LOGFILE;
   启动日志应用
 
(5)  应用归档日志(原主库上执行)
SQL> ALTER  DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
小窍门:要想顺利的实现switchover,最好在每台server上都同时设置好primary和standby的一些初始化参数,虽然其中一些参数只有在primary或者standby其中之一上起作用。

应急切换

(注:模拟主库由于故障无法正常switchover,需要执行failover,强制备库->pridb并接管业务)

(1).备库:

由于是failover,所以理解主库这时候已经无法正常使用,只需备库切换至pridb

停止应用恢复模式

alter database recover managed standby database finish;

转换standbydb为primary db

alter database commit to switchover to primary;

重启数据库,恢复正常业务

SQL>shutdown immediate

SQL>startup

select open_mode,database_role from v$database;

OPEN_MODE       DATABASE_ROLE
----------             ----------------
OPEN                 PRIMARY

注:failover将破坏dataguard模式,需要重新配置dataguard,网上也说不需要配置,但是还没有测试成功

Failover状态切换
在备库上进行切换:
1.首先停止备库的自动恢复状态:
SQL>alter database recover managed standby database finish;
如果没有使用过standby redo log的话执行:
SQL>alter database recover managed standby database finish skip standby logfile;
2.切换备库到主库:
SQL>alter database commit to switchover to primary;
3. 关闭数据库:
SQL>shutdown immediate;
4. 启动数据库:
SQL>startup;
Active状态切换:
Active是从8i延续过来的,其实不建议采用:

在备库上执行切换:
1:alter database recover managed standby database cancel;
2:alter database activate standby database;
3:shutdown immediate

总结一下Failover 和 Switchover 的区别:

在9i 的dataguad环境中:
1:执行Switch Over 必须是Primary 正常,并且是必须Primary 主动先Switch成 standby.然后standby 才能switch 成primary。
2:如果需要作成primary出问题,standby 能接管的话,必须作 failover ,而不是SwitchOver。

Failover :
将主数据库offline,备用数据库online,这种操作由系统和软件失败引起。 即使在备用数据库上应用重做日志,也可能出现数据丢失的现象,除非备用数据库运行在 guaranteed protection 模式。
原主数据库重新使用时必须重新启动实例。
其它的备用数据库也需重新启动实例。

Switchover :
故意将主数据库offline,而将另一备用数据库online,它能够切换到备用数据库而不需同步操作。如:可使用 Switchover 完成系统的平滑升级。 即使在备用数据库上不应用重做日志,也不会造成数据的丢失。
数据库不需重新启动实例。这使主数据库几乎能立即在备用数据库上恢复它的功能,因此可经常进行定期维护而不需中断操作。
Failover和Switchover的区别为:
当Failover发生,备用数据库切换为主数据库之后,它丢失了备用数据库的所有能力,也就是说,不能再返回到备用模式;而Switchover可以,备用数据库可切换为主数据库,也可从主数据库再切换回备用数据库。

四、相关视图
v$archive_dest
v$archive_dest_status
v$log_history
v$archvied_log
v$managed_standby
v$archive_gap

 

6、常见问题

(1). 日志无法传送
SQL>select dest_name,status,error from v$archive_dest;
察看相应的归档路径的状态是否 valid ,否则根据error 信息进行处理
(2). 无法使用alter database 重命名 data file
  standby 上,当设置 standby_file_management 为auto 时,不允许下列操作
alter database rename
alter database add/drop logfile
alter database add/drop standby logfile member
alter database create datafile as
(3). switchover 失败
SQL>alter database commit to switchover to physical standby
错误: ORA-01093:alter database close only permitted with no session connected
可以察看引起该错误的活动 session
SQL> select sid,process,program from v$session where type='USER' and
sid<>(select distinct sid from v$mystat);
然后根据查出的 sid 结合v$session 视图最后用
alter system kill session  sid,serial kill 掉进程,断开该 session
或者使用如下命令来做 switchover
SQL>alter database commit to switchover to physical standby with session shutdown;
(4). standby database  read only模式下做 report 时出现错误:
ora-01220:file base sort illegal before database is open.
可能原因: standby database 没有temporary tablespace
(5).当主机和备机在运行过程中,把备机停下来,主机的归档日志将不能传到备机,当把备机服务起来后,主机的归档日志也不能传到备机,需要把主机的所有服务都重启一次才可以传日志。
请问为什么需要把主机要重启一次呢?有没有不需要重启主机就可以解决此问题呢?
发生这种情况时,核查几处:
 1 . show parameter log_archive_dest ;
 2 . select REOPEN_SECS,MAX_FAILURE from V$ARCHIVE_DEST;
察看是否是因为由于备机没有开机,造成 primary node 无法正常传送 archived log,并且达到了最大允许的失败次数。如果是这样,可以通过 alter system set log_archive_dest... 来重置属性值,恢复日志的正常传送。
也可以手工传送相关的日志到备机,
    对于物理standby  ALTER DATABASE REGISTER LOGFILE '/xxx/xxx/arcr_xxx.arc'
    对于逻辑standby  ALTER DATABASE REGISTER LOGICAL LOGFILE '/xxx/xxx/arcr_xxx.arc'
(3). 执行SELECT MESSAGE FROM V$DATAGUARD_STATUS; 察看相关信息,还有根据 dataguard 的不同类型来察看相关的 view 来确定当前的状态,具体参见 dataguard 的官方文档。

 

至于本文设置主备库参数在此博客有详解http://www.cnblogs.com/Elliot-wang/p/3790878.html

转载于:https://www.cnblogs.com/Elliot-wang/p/3790852.html

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

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

相关文章

从attention到Transformer+CV中的self-attention

一.总体结构 由于rnn等循环神经网络有时序依赖&#xff0c;导致无法并行计算&#xff0c;而Transformer主体框架是一个encoder-decoder结构&#xff0c;去掉了RNN序列结构&#xff0c;完全基于attention和全连接。同时为了弥补词与词之间时序信息&#xff0c;将词位置embedding…

12年后,人工智能和人类会是什么样?这是900位专家的看法|报告

来源&#xff1a;机器之能摘要&#xff1a;有分析师预计&#xff0c;到2030年&#xff0c;在复杂的数字系统中&#xff0c;人们将更加依赖于网络人工智能。 有人说&#xff0c;随着对这些网络工具的广泛使用&#xff0c;我们将继续沿着历史的轨迹生活地更好。也有一些人说&…

中文繁体和简体转换 (Java代码)

String jianti"皑蔼碍爱翱袄奥坝罢摆败颁办绊帮绑镑谤剥饱宝报鲍辈贝钡狈备惫绷笔毕毙币闭边编贬变辩辫标鳖别瘪濒滨宾摈饼并拨钵铂驳卜补财参蚕残惭惨灿苍舱仓沧厕侧册测层诧搀掺蝉馋谗缠铲产阐颤场尝长偿肠厂畅钞车彻尘沉陈衬撑称惩诚骋痴迟驰耻齿炽冲虫宠畴踌筹绸丑橱厨…

水印去除(基于nosie2noise优化 代码+模型)

github链接 1.感受野计算: :本层感受野; :上层感受野; :第i层卷积或池化的步长 k:本层卷积核大小 2.空洞卷积卷积核计算:Kk(k-1)(r-1)&#xff0c;k为原始卷积核大小&#xff0c;r为空洞卷积参数空洞率&#xff0c;带入上式即可计算空洞卷积感受野&#xff1b; 3.针对noi…

广度深度都要,亚马逊是如何推动 Alexa 内生成长的?

来源&#xff1a;雷锋网摘要&#xff1a;发展到今天&#xff0c;Alexa 已经成为亚马逊旗下最重要的几个业务支柱之一&#xff0c;尤其是在人工智能语音助手层面&#xff0c;它和 Google Assistant、Apple Siri、Microsoft Cortana 并驾齐驱&#xff0c;甚至在应用场景上有领先之…

剖析云平台中的“共享型数据库”

剖析云计 算中的“共享型数据库” 摘要&#xff1a; 随着云计算的出现&#xff0c;出现了很多新的名词&#xff0c;像云数据库、云存储、弹性扩容&#xff0c;资源隔离等词汇。下面就大家炒的比较热的“共享型数据库”做一下解释&#xff0c;给大家剖析什么叫“共享型数据库”。…

FCOS: A Simple and Strong Anchor-free Object Detector

论文链接 一.背景 1.anchor-base缺点          (&#xff11;)&#xff0e;anchor的设置对结果影响很大,不同项目这些超参都需要根据经验来确定&#xff0c;难度较大&#xff0e; (&#xff12;)&#xff0e;anchor太过密集&#xff0c;其中很多是负样本&#xff…

大数据有十大应用领域,看看你用到了哪个?

来源&#xff1a;网络大数据摘要&#xff1a;如果提到“大数据”时&#xff0c;你会想到什么?也许大部分人会联想到庞大的服务器集群;或者联想到销售商提供的一些个性化的推荐和建议。如今大数据的深度和广度远不止这些&#xff0c;大数据已经在人类社会实践中发挥着巨大的优势…

2018年《环球科学》十大科学新闻出炉:霍金逝世、贺建奎事件位列前二

来源&#xff1a;量子位如果要用两个词来定义2018年的话&#xff0c;我们可能会选择“进步”与“反思”。中国科学在持续进步&#xff0c;克隆猴“中中”与“华华”、单条染色体的酵母&#xff0c;都是世界级的研究成果。“火星快车”在火星上发现大面积的液态湖泊&#xff0c;…

CornerNet: Detecting Objects as Paired Keypoints

CornerNet论文链接 Hourglass Network论文链接 一.背景 1.anchor-base缺点          (&#xff11;)&#xff0e;anchor的设置对结果影响很大,不同项目这些超参都需要根据经验来确定&#xff0c;难度较大&#xff0e; (&#xff12;)&#xff0e;anchor太过密集&…

Leetcode: Divide Two Integers

Divide two integers without using multiplication, division and mod operator. Best method(跟discuss vote最高相似)&#xff1a;只有一种情况整数除以整数会overflow&#xff0c;那就是Integer.MIN_VALUE除以-1&#xff0c;这种情况特殊分析。 之所以要用long a, b代替div…

详细解读什么是自适应巡航?

来源&#xff1a;智车科技摘要&#xff1a;自适应巡航设计初衷是减轻驾驶员长途驾驶的疲劳&#xff0c;极为复杂的城市路况并不是它发挥作用的地方。虽然现在的自适应巡航系统具备了根据前车情况、根据路况减速&#xff0c;甚至是刹停的功能&#xff0c;不过其开发之初便是为了…

CenterNet:Objects as Points

CenterNet论文链接 一.背景 1.anchor-base缺点          (&#xff11;)&#xff0e;anchor的设置对结果影响很大,不同项目这些超参都需要根据经验来确定&#xff0c;难度较大&#xff0e; (&#xff12;)&#xff0e;anchor太过密集&#xff0c;其中很多是负样本…

初步认识迭代服务器和并发服务器

http://www.cnblogs.com/wolflion/archive/2011/07/13/2539138.html 迭代服务器比较原始&#xff0c;它的原型可以描述成&#xff1a; while(1){new_fd 服务器accept客户端的连接(new_fd accept(listenfd, XX, XX))逻辑处理在这个new_fd上给客户端发送消息关闭new_fd}也就是说…

美国正在衰落的24个行业:“猝不及防”还是“温水煮青蛙”?

来源&#xff1a;资本实验室摘要&#xff1a;技术发展一日千里&#xff0c;外部环境日新月异。在这个变化无处不在的世界&#xff0c;许多行业都在不可避免地经历着或是猝不及防&#xff0c;或是“温水煮青蛙”般的冲击。近期&#xff0c;美国财经网站24/7 Wallst根据过去十年的…

距离与相似度计算

一.余弦相似度 加速计算参考这篇文章 from math import *def square_rooted(x):return round(sqrt(sum([a*a for a in x])), 3)def cosine_similarity(x,y):numerator sum(a*b for a, b in zip(x,y))denominator square_rooted(x)*square_rooted(y)return round(numerator/f…

程序的跳转模式

程序内部有自己的一套跳转语法&#xff0c;如果想跳转&#xff0c;需要参考已有代码的实现方式。 先说一下具体情况&#xff1a; 这几天的心情很不平静&#xff0c;老是感觉自己还在高考的样子&#xff0c;想着是怎么拿下这个考试关。现在明白问题所在了&#xff0c;我必须考虑…

5G 产业链重要细分投资领域

来源&#xff1a;乐晴智库精选▌2019年全球电子产业将保持增长ICInsights预计2018年全球电子产品销售额16220亿美元&#xff0c;同比增长5.1%&#xff0c;2019年将达到16800亿美元&#xff0c;同比增长3.5%&#xff0c;2017~2021年CAGR4.6%。预计2019年通信市场销售额5350亿美元…

CPNDet:Corner Proposal Network for Anchor-free, Two-stage Object Detection

CPNDet论文链接 一.背景 anchor-based方法将大量框密集分布在feature map上&#xff0c;在推理时&#xff0c;由于预设的anchor与目标差异大&#xff0c;召回率会偏低。而anchor-free不受anchor大小限制&#xff0c;在任意形状上会更加灵活&#xff0c;但是像CornerNet这种,先…

Unix/Linux环境C编程入门教程(3) Oracle Linux 环境搭建

Unix/Linux版本众多&#xff0c;我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习。2010年9月&#xff0c;Oracle Enterprise Linux发布新版内核——Unbreakable Enterprise Kernel&#xff0c;专门针对Oracle软件与硬件进行优化&#xff0c;最重要的是Oracl…