当前位置:  数据库>oracle

Oracle dbtimezone与os时区不一致的解决办法

    来源: 互联网  发布时间:2017-04-02

    本文导语: Connected to Oracle Database 10g Enterprise Edition Release 10.1.0.2.0    Connected as sys             //查看数据库时区   SQL> select dbtimezone from dual;   DBTIMEZONE   ----------   +00:00             //查看当前时间和时区   SQL> select systimestam...

Connected to Oracle Database 10g Enterprise Edition Release 10.1.0.2.0   
Connected as sys  
          //查看数据库时区  
SQL> select dbtimezone from dual;  
DBTIMEZONE  
----------  
+00:00  
          //查看当前时间和时区  
SQL> select systimestamp from dual;  
SYSTIMESTAMP  
--------------------------------------------------------------------------------  
12-4月 -11 02.39.49.421000 下午 +08:00  
          //我明明是在东8区,怎么数据库时区显示为0呢?  
SQL> alter database set time_zone='+8:00';  
ORA-30079: cannot alter database timezone when database has TIMESTAMP WITH LOCAL TIME ZONE columns  
          //从错误提示,我们可以看出数据库中一些表的列的数据类型为:TIMESTAMP WITH LOCAL TIME ZONE  
          //我们得将这些列删除后,才能更改,下面我们来查找这些类。  
SQL> select u.name||'.'||o.name||'.'||c.name tsltz_column  
  2  from sys.obj$ o,sys.col$ c,sys.user$ u  
  3  where c.type#=231 and  
  4        o.obj#=c.obj# and  
  5        u.user#=o.owner#;  
TSLTZ_COLUMN  
--------------------------------------------------------------------------------  
OE.ORDERS.ORDER_DATE  
          //我们找到了,是oe用户下orders表下的列order_date。  
SQL> desc oe.orders;  
Name         Type                              Nullable Default Comments                                                     
------------ --------------------------------- -------- ------- -----------------------------------------------------------  
ORDER_ID     NUMBER(12)                                         PRIMARY KEY column.                                          
ORDER_DATE   TIMESTAMP(6) WITH LOCAL TIME ZONE                  TIMESTAMP WITH LOCAL TIME ZONE column, NOT NULL constraint.  
ORDER_MODE   VARCHAR2(8)                       Y                CHECK constraint.                                            
CUSTOMER_ID  NUMBER(6)                                                                                                       
ORDER_STATUS NUMBER(2)                         Y                0: Not fully entered, 1: Entered, 2: Canceled - bad credit,-  
3: Canceled - by customer, 4: Shipped - whole order, -  
5: Shipped - replacement items, 6: Shipped - backlog on items, -  
7: Shipped - special delivery, 8: Shipped - billed, 9: Shipped - payment plan,-  
10: Shipped - paid   
ORDER_TOTAL  NUMBER(8,2)                       Y                CHECK constraint.  
SALES_REP_ID NUMBER(6)                         Y                References hr.employees.employee_id.  
PROMOTION_ID NUMBER(6)                         Y                Sales promotion ID. Used in SH schema  
          //将其删除  
SQL> alter table oe.orders drop column order_date;  
Table altered  
          //这样我们才可以修改时区  
SQL> alter database set time_zone='+8:00';  
Database altered  
          //关闭数据库  
          //SHUTDOWN is not an SQL command, it is an SQL*Plus command.  
SQL> shutdown immediate;  
Database closed.  
Database dismounted.  
ORACLE instance shut down.  
          //启动数据库  
SQL> startup;  
ORACLE instance started.  
Total System Global Area     171966464 bytes  
Fixed Size                     7877988 bytes  
Variable Size                145488364 bytes  
Database Buffers              25165824 bytes  
Redo Buffers                    524288 bytes  
Database mounted.  
Database opened.  
         //查看时区  
SQL> select dbtimezone from dual;  
DBTIMEZONE  
----------  
+08:00 



































































    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法
  • 博客 iis7站长之家
  • Linux系统下安装Oracle X11错误解决办法
  • oracle中文乱码解决的办法
  • Oracle安装后8080和80端口被占用的解决办法
  • Oracle em中按钮乱码解决办法
  • Oracle 11G SELinux原因启动失败的解决办法
  • linux下用什么办法连接oracle数据库并且读取数据呢?(用c++代码实现时)
  • Oracle 实现类似SQL Server中自增字段的一个办法
  • oracle em 按钮乱码解决办法及em网页变成英文
  • 用jsp连上oracle后,在JSP中用(INSERT)插入中文数据后,显示乱码,有办法吗?
  • Oracle 8i字符集乱码问题析及其解决办法
  • PDO取Oracle lob大字段,当数据量太大无法取出的问题的解决办法
  • Linux 下数据库oracle出现ORA-27102错误的解决办法
  • Oracle中被锁定的解决办法
  • Oracle控制文件的损坏或完全丢失的恢复办法
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3