最近的几个技术问题总结和答疑(五)(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的方式比较多,这种备库,异机查看的方式也算作补充吧。
- AutoFlowLayout-多功能流式布局与网格布局控件
- RBAC新解:基于资源的权限管理(Resource-Based Access Control)
- 基于开源项目搭建属于自己的技术堆栈
- Redis整合Spring项目搭建实例
- SpringMVC+Hibernate +MySql+ EasyUI实现POI导出Excel(二)
- Nginx+Tomcat+Redis负载均衡Session共享实现超级简单(CentOS6.9系统 Java版本)
- Apache Ignite——新一代数据库缓存系统
- 微信JSSDK接入Java版--步骤及问题处理和解决
- 微信企业号回调模式配置讲解 Java Servlet+Struts2版本 echostr校验失败解决
- Android Material Design系列之RecyclerView和CardView
- 在Linux安装ASP.Net Core的运行时(Runtime)
- 使用xUnit为.net core程序进行单元测试(下1)
- Otto开发初探——微服务依赖管理新利器
- Apache Eagle——eBay开源分布式实时Hadoop数据安全方案
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法