当前位置:首页 » 数据仓库 » 更新mmdvmdmr数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

更新mmdvmdmr数据库

发布时间: 2022-11-26 19:29:55

❶ mmdvm注册国内id还是国际id

可以注册国际的也可以注册国内的。
拓展:MMDVM注册DMRid方法:
打开注册地址,进入网站后,点击注册ID。
勾选“我同意上述条款和条件”,然后点击注册账号。
在弹出的对话框中填写呼号、邮箱、密码等信息,人机身份验证通过后点击创建账号。
填写邮箱后会有“请检查您的电子邮件,此窗口保持打开状态。当您在电子邮件中看到“谢谢”消息后,请回到此处。”提示,此时打开你的邮箱确认邮件并进行下一步的注册。

密码设置必须满足以下条件:至少一个小写字母、至少一个大写字母、至少一个号码、至少一个符号、至少8个宇符
注册成功后登陆账号
登陆后进入仪表盘界面,修改个人信息,按照示例页面上传操作证书和电台执照。

❷ 数字dmr、p25、tetra等数字制式对讲机能否互通D-star是否是数字制式还是数字信令

全部不能互通,都是不同的数字制式。
DMR是目前我国正在逐渐流行的 数字制式,很多国产厂家HYT\北峰、科利讯都有对应型号。
P25是美军军标标准,P25制式的机器一般是走私进入我国,美国政府不允许P25制式的通讯设备出口我国。
TETRA是另一种数字模式,不同于DMR的大区制,更倾向于手机的风格。
D-star是ICOM创立的比较老的数字模式,目前看趋势有被淘汰的危险。

❸ 谁能介绍下oracle数据库的前滚rolling forward原理吗

偶然的一次,网友在t.askmaclean.com ASK Maclean Home提问了关于11.2 上一个ORA-600问题的解决途径,我们这里不讨论该ORA-600[kcratr_nab_less_than_odr]错误, 比这个错误本身更有趣的是 该600 trace中记录了一段对于前滚恢复rolling upgrade描述十分详细的KST trace。

很多网友肯定要问什么是KST? KST是9i以后引入的内部诊断机制Tracing Facility,每一个Oracle 进程都维护SGA中的一小块Trace buffer,并将自身的默认启用的一些event事件信息写入到Trace Buffer中(这些事件默认包括10280, 10401, 10441, 10442, 10425, 10427, 10429, 10434, 10666),可以使用内部视图x$trace观察这些信息,默认Trace Buffer不写到磁盘上,而只在SGA中维护,当Trace Buffer用完时将被重用。

了解了 KST的知识后,我们可以从容地阅读下面这段TRACE了:

Trace Bucket Dump Begin: default bucket for process 19 (osid: 29785)
TIME(*=approx):SEQ:COMPONENT:FILE@LINE:FUNCTION:SECT/DUMP: [EVENT#:PID:SID] DATA

以上是KST Trace的 头部
COMPONENT 组件名 例如 db_trace 、CACHE_RCV,这里的CACHE_RCV意为 cache recovery,实际上是我们所说的前滚rolling forward。
FILE@LINE 指oracle内核代码的文件名和行数 例如:kst.c、kcv.c,这些都是oracle的核心C代码名
FUNCTION 指oracle内核函数名 例如kcvcrv()、kctrec()
[EVENT#:PID:SID] 即 EVENT ID:PID:SID
DATA 实际的操作内容

我们选择性地阅读KST TRACE的内容:

2012-02-07 13:40:52.755567 :800005B3:CACHE_RCV:kcv.c@15475:kcvcrv(): kcvcrv: Entering kcvcrv()2012-02-07 13:40:52.755609 :800005B4:KFNU:kfn.c@2200:kfnPrepareASM(): kfnPrepareASM force=0 state_kfnsg=0x7
2012-02-07 13:40:52.772999*:800005B5:CACHE_RCV:kcv.c@16100:kcvcrv(): kcvcrv: file 1 - cpscn 0x0000.018b76b2, rsflg 0
2012-02-07 13:40:52.826001*:800005B6:CACHE_RCV:kcv.c@16100:kcvcrv(): kcvcrv: file 2 - cpscn 0x0000.018b76b2, rsflg 0
2012-02-07 13:40:52.862014*:800005B7:CACHE_RCV:kcv.c@16100:kcvcrv(): kcvcrv: file 3 - cpscn 0x0000.018b76b2, rsflg 0
2012-02-07 13:40:52.909981*:800005B8:CACHE_RCV:kcv.c@16100:kcvcrv(): kcvcrv: file 4 - cpscn 0x0000.018b76b2, rsflg 0
2012-02-07 13:40:52.945933*:800005B9:CACHE_RCV:kcv.c@16100:kcvcrv(): kcvcrv: file 5 - cpscn 0x0000.018b76b2, rsflg 0
2012-02-07 13:40:52.993824*:800005BA:CACHE_RCV:kcv.c@16100:kcvcrv(): kcvcrv: file 6 - cpscn 0x0000.018b76b2, rsflg 0
2012-02-07 13:40:53.005829*:800005BB:CACHE_RCV:kcv.c@16100:kcvcrv(): kcvcrv: file 7 - cpscn 0x0000.018b76b2, rsflg 0
2012-02-07 13:40:53.041893*:800005BC:CACHE_RCV:kcv.c@16100:kcvcrv(): kcvcrv: file 8 - cpscn 0x0000.018b76b2, rsflg 0
2012-02-07 13:40:53.065779*:800005BD:CACHE_RCV:kcv.c@16100:kcvcrv(): kcvcrv: file 9 - cpscn 0x0000.018b76b2, rsflg 0
2012-02-07 13:40:53.089760*:800005BE:CACHE_RCV:kcv.c@16100:kcvcrv(): kcvcrv: file 10 - cpscn 0x0000.018b76b2, rsflg 0

kcvcrv的全称是 [K]ernel [C]ache [R]ecovery [C]rash [R]ecovery [V]erify , kcvcrv内核函数在crash recovery的过程中显得极为重要,它总是发生在当一个前台进程试图启动脏关闭(dirty shutdown)的数据库的时候。kcvcrv 的工作包括检验所有的数据文件头并验证控制文件中的数据文件记录以确认是否需要介质恢复。这个步骤必要地验证仅仅crash recovery是否足以让数据库恢复到一致状态(consistent),相信大家已经耳熟能详 crash recovery 、 instance recovery 、 media recovery 三者的区别。 若kcvcrv发现 data files数据文件、control files控制文件亦或者redo log file在线日志文件存在corrupted 或者 丢失,或者实际上是从之前的备份中还原过来的,那么kcvcrv会强制用户必须使用media recovery才能将数据库恢复到一致,无法通过crash recovery实现恢复。注意 kcvcrv的检测并不是完全的,它主要是检测 数据文件头的checkpoint scn 和 控制文件中data files的checkpoint scn是否一致,以确保 这些数据文件完成了shutdown instance时的最后一次FULL Checkpoint。 kcvcrv并不能检测出除数据文件头部外的datafile body是否存在介质讹误。

kcvcrv需要对control file读写才能完成其必要的任务,所以它会启动一个控制文件读写事务 read-write control file transaction。通过检验控制文件中每个数据文件的记录以确认数据文件是否有被重新同步的必要。 当然kcvcrv会跳过哪些OFFLINE和read-only的数据文件,因为这些文件不存在recovery的必要。
在确认crash recovery的必要性后,kcvcrv还会主导启动并行的恢复工作(parallel recovery),注意parallel recovery只在多CPU且参数recovery_parallelism不为零的环境下有效, kcvcrv会创建并初始化Oracle中的PQ Slave 并行子进程以便恢复实例。 默认的子进程数Slave Processes等于(CPU的总数-1),这是因为需要为recovery coordinator process恢复协调进程保留一个CPU。并且需要kcvcrv分配一个recovery state object给并行恢复 协调进程与其Slave子进程。

最后kcvcrv还会调用另一个关键内核函数 kctrec ( Kernel Cache Threads ), kctrec会在所有打开的redo thread上实施进一步的thread recovery。

2012-02-07 13:40:53.366569 :80000687:KFNU:kfn.c@2200:kfnPrepareASM(): kfnPrepareASM force=0 state_kfnsg=0x7
2012-02-07 13:40:53.366569*:80000688:CACHE_RCV:kcv.c@16365:kcvcrv(): kcvcrv: Calling kctrec()
2012-02-07 13:40:53.366569*:80000689:CACHE_RCV:kct.c@4163:kctrec(): kctrec: Entering kctrec()
2012-02-07 13:40:53.413557*:8000068A:CACHE_RCV:kct.c@4271:kctrec(): kctrec: thread 1 cf thread ckpt: logseq 1468, block 2,scn 25917106

常见的 kcvcrv 调用堆栈 stack call如下:

kcratr_odr_check <- kcratr <- kctrec <- kcvcrv <- kcfopd <- adbdrv
kcliarq <- kclrinit <- kcbrst <- kcrpci <- kcratr <- kctrec <- kcvcrv <- kcfopd <- adbdrv
kfgrpIterInit()<-kfis_sageonly_anygroup()<-krr_init_rrx()<-kcra_scan_redo()<-kcra_mp_redo()+2246<-kcra_mp_redo_internal()+1752<-kco_image_corrupt()<-kcoapl()<-kcbr_apply_change()<-kcbr_mapply_change()<-kcbrapply()<-kcbr_apply_pending()<-kcbr_media_apply()<-krp_serial_apply()<-krr_do_media_recovery()<-krddmr()<-krd_do_media_rcv()<-krd_implicit_rcv()<-kcvcrv()<-kcfopd()<-adbdrv()