Oracle的FIXED
今天发现一个有意思的问题,
我们知道,在Oracle数据库中正常执行 select sysdate from dual 都可以返回当前主机的系统时间。
正常修改系统时间,对应的查询结果也会变成修改后的系统时间。
现在遇到一个问题:测试系统修改了主机系统时间,数据库查询 select sysdate from dual 返回的时间和所在系统的主机时间相差很大,进一步排查发现返回的时间是固定不变的。
最终发现是Oracle有参数可以使得sysdate一直返回固定的时间,供某些测试场景使用。该库也是因为有其他测试人员设置了该参数,而其他测试人员不知道,产生了疑惑。
官方对这个参数的描述如下:
FIXED_DATE enables you to set a constant date that SYSDATE will always return instead of the current date. To undo a fixed date setting, specify FIXED_DATE=NONE. This parameter is useful primarily for testing. The value can be in the format shown above or in the default Oracle date format, without a time.
简单试验验证下,的确如此:
--1. 设定会话时间显示格式:
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
Session altered.
--2. 查询sysdate值,是正常返回数据库所在主机的系统时间:
SQL>
SQL> select sysdate from dual;
SYSDATE
-------------------
2017-03-31 10:16:10
SQL> /
SYSDATE
-------------------
2017-03-31 10:16:18
--3. 设置fixed_date参数为固定一个值:
SQL> alter system set fixed_date = '2017-04-01 12:00:00';
System altered.
--4. 再次查询发现sysdate时间为设置的值,且固定不变:
SQL> select sysdate from dual;
SYSDATE
-------------------
2017-04-01 12:00:00
SQL> /
SYSDATE
-------------------
2017-04-01 12:00:00
--5. 设置fixed_date参数为none,使sysdate正常显示所在主机的系统时间:
SQL> alter system set fixed_date = none;
System altered.
SQL> select sysdate from dual;
SYSDATE
-------------------
2017-03-31 10:20:11
SQL> /
SYSDATE
-------------------
2017-03-31 10:20:14
SQL>
Oracle的FIXED的更多相关文章
- Oracle Redo Log 机制 小结(转载)
Oracle 的Redo 机制DB的一个重要机制,理解这个机制对DBA来说也是非常重要,之前的Blog里也林林散散的写了一些,前些日子看老白日记里也有说明,所以结合老白日记里的内容,对oracle 的 ...
- OCP读书笔记(23) - 题库(ExamC)
200.Which operation requires that you create an auxiliary instance manually before executing the ope ...
- Linux系统出现hung_task_timeout_secs和blocked for more than 120 seconds的解决方法
Linux系统出现系统没有响应. 在/var/log/message日志中出现大量的 “echo 0 > /proc/sys/kernel/hung_task_timeout_secs" ...
- fixed Oracle SQL报错 #ORA-01460: 转换请求无法实施或不合理
最近遇到一个oracle错误,之前并没有遇到过,并不是select in超过1000个导致的,通过网上资料说是oracle版本导致,也有的说是oracle SQL过长导致. 然后通过自己实践应该说是o ...
- Oracle:ORA-01219:database not open:queries allowed on fixed tables/views only
Oracle:ORA-01219:database not open:queries allowed on fixed tables/views only 问: 解决 ORA-01219:databa ...
- 分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节
1:MSSQL SQL语法篇: BULK INSERT [ database_name . [ schema_name ] . | schema_name . ] [ table_name | vie ...
- Oracle基础维护01-常用管理命令总结
概览: 1.Oracle 内存管理 2.Oracle 数据库启动关闭 3.Oracle 参数文件 4.Oracle 控制文件 5.Oracle redo日志文件 6.Oracle undo表空间管理 ...
- 实验:Oracle直接拷贝物理存储文件迁移
实验目的:Oracle直接拷贝物理文件迁移,生产库有类似施工需求,故在实验环境简单验证一下. 实验环境: A主机:192.168.1.200 Solaris10 + Oracle 11.2.0.1 B ...
- Oracle数据库文件路径变更
环境:RHEL 6.4 + Oracle 11.2.0.3 情景一:只是部分普通数据文件迁移,可以在线操作. 1.将对应表空间offline,移动数据文件到新路径 2.数据文件alter databa ...
随机推荐
- easyUI之validatebox验证框
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...
- LeetCode 1154. 一年中的第几天
给你一个按 YYYY-MM-DD 格式表示日期的字符串 date,请你计算并返回该日期是当年的第几天. 通常情况下,我们认为 1 月 1 日是每年的第 1 天,1 月 2 日是每年的第 2 天,依此类 ...
- Jmeter联机负载时报错: connection refused to host localhost,nested exception is:java.net ConnectException:Connection refused:connect
Jmeter联机负载时报错: connection refused to host localhost,nested exception is:java.net ConnectException:C ...
- 使用Fiddler抓取在夜神模拟器上的请求
一.设置Fiddler代理 1.点击Tools-Fiddler Options进入Fiddler Options页面 2.点击Connections,将Fiddler listens on port设 ...
- 一百一十八:CMS系统之短信验证码加密和js代码混淆
前面的方法存在安全隐患,只要知道发送短信验证码的接口就可以无限触发发送短信验证码 改用post请求,在前端加scrf_token验证,后面需要使用到md5加密,引入md5 from apps.form ...
- 一百零四:CMS系统之修改邮箱界面
在base.css中加一个全局的css控制宽度 .form-container{ width: 300px;} 视图 class ResetEmailView(views.MethodView): d ...
- 一百:CMS系统之修改密码逻辑
定义一个基类form,用于获取错误信息 from wtforms import Form class BaseForm(Form): def get_error(self): # a = {'aaa' ...
- Redis在Linux上面安装
1 下载Redis:https://redis.io/download 下载完成之后:redis-4.0.11.tar.gz 2 将下载的压缩包传到linux对应文件夹下面(笔者上传到/opt/下面) ...
- C# Redis 缓存应用 主要代码及版本选择
/// <summary> /// RedisManager类主要是创建链接池管理对象的 /// </summary> public class RedisManager { ...
- node 笔记整理
node 合并多个请求的数据 function getList1(num) { var url= "netease/search?keyword=独孤天下&type=song& ...