最近的几个技术问题总结和答疑(五)(r9笔记第9天)

时间:2022-05-04
本文章向大家介绍最近的几个技术问题总结和答疑(五)(r9笔记第9天),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

最近收到了几个朋友的提问,我简单总结了一下。 问题1: 首先是有个朋友问到,单引号,双引号在有些场合通用,有些场合会提示错误。 我做了一个简单的测试,当然只是一个相对片面的解读,能够说明问题即可。 比如我需要修改SYS的密码为asdfasg!,需要注意末尾有一个感叹号。 可以看到下面的测试结果。 SQL> alter user sys identified by 'asdfasga!'; alter user sys identified by 'asdfasga!' * ERROR at line 1: ORA-00988: missing or invalid password(s) SQL> alter user sys identified by asdfasga!; alter user sys identified by asdfasga! * ERROR at line 1: ORA-00922: missing or invalid option SQL> alter user sys identified by "asdfasga!"; User altered. 可以看到测试的情况,其实也可以间接说明双引号在含有特殊字符的场景中是必须使用的,而对于单引号,只是单纯标示一个字符串,为什么第一个语句执行失败,因为数据库把第一个单引号当做了密码的一部分,所以检查失败。 问题2: 怎么从arch中拿到DBID? 这个问题看起来还是很有意思,看起来不是常规思路。我们来简单测试一下。 把归档文件拷贝到备库,转储日志信息。 SQL> alter system dump logfile '/U01/app/oracle/oradata/sol/arch/SOL/archivelog/2016_05_19/o1_mf_1_467316_cmtccjdj_.arc'; System altered. 然后在alert日志中会有相应的记录,我们检索一下这个归档相关的日志,可以很明显看到是第三个日志,里面有DUMP的字样。 [oracle@statg2 trace]$ grep o1_mf_1_467316_cmtccjdj_ * alert_sol.log:Media Recovery Log /U01/app/oracle/oradata/sol/arch/SOL/archivelog/2016_05_19/o1_mf_1_467316_cmtccjdj_.arc sol_ora_24820.trc:Media Recovery Log /U01/app/oracle/oradata/sol/arch/SOL/archivelog/2016_05_19/o1_mf_1_467316_cmtccjdj_.arc sol_ora_564.trc:DUMP OF REDO FROM FILE '/U01/app/oracle/oradata/sol/arch/SOL/archivelog/2016_05_19/o1_mf_1_467316_cmtccjdj_.arc' 查看日志的信息,Db ID的信息就很明显看到了。 FILE HEADER: Compatibility Vsn = 186646528=0xb200000 Db ID=1210367666=0x4824beb2, Db Name='SOL' Activation ID=1210391986=0x48251db2 Control Seq=18495720=0x11a38e8, File size=2097152=0x200000 File Number=20, Blksiz=512, File Type=2 LOG 不局限于备库,我们可以把归档拷贝到另外一个数据库目录下,再次转储 alter system dump logfile '/home/oracle/o1_mf_1_467316_cmtccjdj_.arc'; 查看相关的日志。 $grep o1_mf_1_467316_cmtccjdj_ * dgtest_ora_29291.trc:DUMP OF REDO FROM FILE '/home/oracle/o1_mf_1_467316_cmtccjdj_.arc' 还是能够看到Db ID的信息。 DUMP OF REDO FROM FILE '/home/oracle/o1_mf_1_467316_cmtccjdj_.arc' Opcodes *.* RBAs: 0x000000.00000000.0000 thru 0xffffffff.ffffffff.ffff SCNs: scn: 0x0000.00000000 thru scn: 0xffff.ffffffff Times: creation thru eternity FILE HEADER: Compatibility Vsn = 186646528=0xb200000 Db ID=1210367666=0x4824beb2, Db Name='SOL' Activation ID=1210391986=0x48251db2 Control Seq=18495720=0x11a38e8, File size=2097152=0x200000 File Number=20, Blksiz=512, File Type=2 LOG descrip:"Thread 0001, Seq# 0000467316, SCN 0x003469b0b674-0x003469b10501" thread: 1 nab: 0x150ba seq: 0x00072174 hws: 0x2 eot: 0 dis: 0 resetlogs count: 0x25181832 scn: 0x0000.00000001 (1) prev resetlogs count: 0x0 scn: 0x0000.00000000 所以查看DB ID的方式比较多,这种备库,异机查看的方式也算作补充吧。