首页 > 数据库 > Oracle > [20190116]诡异的问题2.txt
[20190116]诡异的问题2.txt
--//上班巡检发现我执行的脚本显示时间有问题,很奇怪的现象.
--//我本机安装了12R2的版本.使用sqlplus也是机器自带的版本.
--//建立脚本如下:
d:\tools\sqltemp>cat a1.txt
select sysdate from dual;
quit;
d:\tools\sqltemp>cat a2.txt
select sysdate from dual;
select sysdate from dual;
quit;
d:\tools\sqltemp>cat a3.txt
select user from dual;
select sysdate from dual;
quit;
--//执行如下:
d:\tools\sqltemp>sqlplus -s -l sys/oracle@78 as sysdba @a1.txt
SYSDATE
------------
2019-01-16 0
d:\tools\sqltemp>sqlplus -s -l sys/oracle@78 as sysdba @a2.txt
SYSDATE
------------
2019-01-16 0
SYSDATE
-------------------
2019-01-16 09:42:58
d:\tools\sqltemp>sqlplus -s -l sys/oracle@78 as sysdba @a3.txt
USER
--------------------
SYS
SYSDATE
-------------------
2019-01-16 09:52:13
--//为什么第1次执行时间有点怪异,第2次执行就OK了.不以sysdba方式登录都没有这个问题.
d:\tools\sqltemp>sqlplus -s -l scott/book@78 @a1.txt
SYSDATE
-------------------
2019-01-16 10:45:26
--//可以理解以其它用户登录,可能实现执行了一些其它命令,这样就看不到这个现象.
--//我改名了glogin.sql以及取消了环境变量SQLPATH,ORACLE_PATH(我没设置这个)的设置.问题依旧,
--//我使用sqlplus连接别的数据库也是出现一样的问题.
--//我找了一台安装18c的机器测试(linux的机器),连接本地显示时间没有问题,只要连接10g,11g的数据库.问题再现:
SYS@xxxx> select sysdate from dual;
SYSDATE
------------------
2019-01-16 10:56:5
SYS@xxxx> select sysdate from dual;
SYSDATE
-------------------
2019-01-16 10:56:55
--//秒数少一位.第2次执行就是正常的.
--//我启动我自己的机器的数据库测试看看.
SQL> set linesize 300
SQL> @ ver1
PORT_STRING VERSION BANNER CON_ID
------------------------------ -------------- -------------------------------------------------------------------------------- ----------
IBMPC/WIN_NT64-9.1.0 12.2.0.1.0 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 0
d:\tools\sqltemp>sqlplus -s -l sys/a as sysdba @a1.txt
SYSDATE
-------------------
2019-01-16 11:02:47
d:\tools\sqltemp>sqlplus -s -l sys/a@test01p as sysdba @a1.txt
SYSDATE
-------------------
2019-01-16 11:04:22
--//正常的.你只要使用这个sqlplus客户端以sys用户连接数据库10g,11g的数据库,第一次执行就出现这样的现象.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2561490/ ,如需转载,请注明出处,否则将追究法律责任。