Oacle12c支持可插入数据库(PDB)在一个统一的数据库(CDB)中具有不同的字符集、时区文件版本和数据库时区。

出于性能原因,Oracle建议将数据库时区设置为UTC(0:00),因为不需要转换时区。

多租户体系结构允许您为每个可插入数据库指定一个不同的数据库时区,并使用容器数据库的时区作为默认值。

在容器数据库级别设置时区与为非cdb实例设置时区相同。CDB设置是所有可插入数据库的默认值。

1. 检查容器数据库的当前时间

sqlplus / as sysdba

SQL> select dbtimezone from dual;

2. 查看PDB时区

SQL> alter session set container=orclpdb;

SQL> SELECT dbtimezone FROM DUAL;

3. 修改PDB时区,根据实际需要设置时区

SQL> ALTER DATABASE SET TIME_ZONE='+00:00';

报错处理:

ORA-30079: cannot alter database timezone when database has TIMESTAMP WITH
LOCAL TIME ZONE columns

1) 清除带时区格式的时间字段表

--sql begin----

--删除用户指定表----

declare v_sql varchar(255);

cursor cur_tb is select 'drop table '|| owner || '.' || table_name || ' purge ' sqltext from dba_tables

where table_name = 'T_BOS_DBTIMEZONEINFO'

AND OWNER <> 'SYS' AND OWNER <> 'SYSTEM';

begin

--打开游标cur_tb--

open cur_tb;

fetch cur_tb into v_sql;

loop

--判断游标cur_stu所指是否有数据行--

if cur_tb%found then

--将游标cur_stu当前行取出存放到变量中--

begin

execute immediate v_sql;

exception

when others then

dbms_output.put_line('删除用户表异常:'||sqlerrm);

end;

fetch cur_tb into v_sql;

else

exit;

end if;

end loop;

--关闭游标cur_tb--

close cur_tb;

end;

--sql end----

2) 修改PDB时区

alter database set time_zone='+00:00';

4. 修改好后需要重启pdb

SQL> alter pluggable database orclpdb close;

SQL> alter pluggable database orclpdb close immediate;

SQL> alter pluggable database orclpdb open;

SQL> select dbtimezone from dual;

附(标红为国内常用时区):

  • UTC-12(IDL - 国际换日线)
  • UTC-11 (MIT - 中途岛标准时间)
  • UTC-10(HST - 夏威夷-阿留申标准时间)
  • UTC-9:30(MSIT - 马克萨斯群岛标准时间)
  • UTC-9(AKST - 阿拉斯加标准时间)
  • UTC-8(PST - 太平洋标准时间A)
  • UTC-7(MST - 北美山区标准时间)
  • UTC-6(CST - 北美中部标准时间)
  • UTC-5(EST - 北美东部标准时间)
  • UTC-4(AST - 大西洋标准时间)
  • UTC-3:30(NST - 纽芬兰岛标准时间)
  • UTC-3(SAT - 南美标准时间)
  • UTC-2(BRT - 巴西时间)
  • UTC-1(CVT - 佛得角标准时间)
  • UTC(WET - 欧洲西部时区,GMT - 格林威治标准时间)
  • UTC+1(CET - 欧洲中部时区)
  • UTC+2(EET - 欧洲东部时区)
  • UTC+3(MSK - 莫斯科时区)
  • UTC+3:30(IRT - 伊朗标准时间)
  • UTC+4(META - 中东时区A)
  • UTC+4:30(AFT- 阿富汗标准时间)
  • UTC+5(METB - 中东时区B)
  • UTC+5:30(IDT - 印度标准时间)
  • UTC+5:45(NPT - 尼泊尔标准时间)
  • UTC+6(BHT - 孟加拉标准时间)
  • UTC+6:30(MRT - 缅甸标准时间)
  • UTC+7(IST - 中南半岛标准时间)
  • UTC+8(EAT - 东亚标准时间/中国标准时间(BJT))
  • UTC+9(FET- 远东标准时间)
  • UTC+9:30(ACST - 澳大利亚中部标准时间)
  • UTC+10(AEST - 澳大利亚东部标准时间)
  • UTC+10:30(FAST - 澳大利亚远东标准时间)
  • UTC+11(VTT - 瓦努阿图标准时间)
  • UTC+11:30(NFT - 诺福克岛标准时间)
  • UTC+12(PSTB - 太平洋标准时间B)
  • UTC+12:45(CIT - 查塔姆群岛标准时间)
  • UTC+13(PSTC - 太平洋标准时间C)
  • UTC+14(PSTD - 太平洋标准时间D)

详情见https://zh.wikipedia.org/wiki/%E6%97%B6%E5%8C%BA%E5%88%97%E8%A1%A8#UTC+8%EF%BC%88EAT_-_%E6%9D%B1%E4%BA%9E%E6%A8%99%E6%BA%96%E6%99%82%E9%96%93/%E4%B8%AD%E5%9C%8B%E6%A8%99%E6%BA%96%E6%99%82%E9%96%93(BJT)%EF%BC%89

Oracle12c修改时区的更多相关文章

  1. win7 无法修改时区和时间

    电脑用的win7系统, 今天调试程序的时候,想改下时间,才发现修改时区的按钮点了没反应,修改时间的按钮是灰色的,没法保存. 在网上搜了一下,想着应该是用的Ghost安装系统的问题,不过也找到了解决办法 ...

  2. 树莓派(Raspberry Pi)修改时区

    1.安装ntp sudo apt-get install ntpdate 2.修改时区 tzselect 3.选择自己的时区 1)选择大洲 2)选择国家 3)选择城市 4)选择YES 5)或者使用命令 ...

  3. 云服务器 ECS Linux 服务器修改时区的两种方式

    在云服务器 ECS Linux 系统中,以 Centos6.5 为例,可以通过如下两种方式,修改系统时区: 可以使用命令 tzselect,修改时区.操作示例: [root@localhost ~]# ...

  4. ubuntu下修改时区

    使用一个虚拟机服务,其时区设置的为格林兰标准时区,我北京时区在东八区,较其快八个小时. 修改时区需要执行 tzselect 一步步选择下来,注意确认后的information Therefore TZ ...

  5. ubuntu server修改时区

    公司用的是ubuntu server 服务器在美国亚马逊VPS 现在要修改时区 执行:tzselect 或直接修改 /etc/timezone 文件,我是改成(America/Los_Angeles) ...

  6. MySQL修改时区的方法小结

    这篇文章主要介绍了MySQL修改时区的方法,总结分析了三种常见的MySQL时区修改技巧,包括命令行模式.配置文件方式及代码方式,需要的朋友可以参考下 方法一:通过mysql命令行模式下动态修改 1.1 ...

  7. Laravel项目修改时区

    Laravel项目修改时区 最近做了一个支付宝支付的应用,现在还在开发过程中,今天早上起床之后先调试了一下项目,模拟支付了一笔(¥9999.00) 2333支付宝的沙箱环境啦,屌丝程序猿哪来这么多钱- ...

  8. linux修改时区

    Linux修改时区 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任 CentOS6: 查看以前的时区: [root@localhost mysq ...

  9. centos 7修改时区

    在线上环境遇到时间差八小时,怀疑是时区的原因: 然后再linux上运行: date 发现输出的是UTC时间,时间与现在差八个小时 然后通过以下命令去修改时区: ln -sf /usr/share/zo ...

随机推荐

  1. zabbix自定义模板监控oracle

    zabbix服务器端安装:zabbix-3.2.6.tar.gzzabbix client端安装:zabbix-agent-3.2.6-1.x86_64.rpm 1.首先必须在目标机器安装zabbix ...

  2. springBoot项目常用maven依赖以及依赖说明

    springBoot项目常用maven依赖以及依赖说明 1:maven-compiler-plugin <build> <plugins> <!-- 指定maven编译的 ...

  3. 使用自定义的tstring.h

    UNICODE   控制函数是否用宽字符版本_UNICODE 控制字符串是否用宽字符集 _T("") 根据上述定义来解释字符集 // 在tchar.h中 // tstring.h ...

  4. p5349 幂

    分析 https://www.cnblogs.com/cjyyb/p/10822490.html 代码 #include<bits/stdc++.h> using namespace st ...

  5. python twisted异步将数据导入到数据库中

    from twisted.enterprise import adbapi from twisted.internet import reactor def creat_conn(): # 数据库基本 ...

  6. java.lang.NoClassDefFoundError: com/opensymphony/xwork2/util/finder/DefaultClassFinder$InfoBuildingV 解决方法

    问题:严重: Unable to read class [com.spml.action.AddUserAction]java.lang.NoClassDefFoundError: com/opens ...

  7. servlet过滤器Filter使用之DelegatingFilterProxy类

    正常情况下,我们需要添加一个过滤器,需要实现javax.servlet.Filter接口,再在web.xml中配置filter,如下: package cc.eabour.webapp.securit ...

  8. Linux下杀进程

    $ ps -ef | grep firefox smx : ? :: /usr/lib/firefox-/firefox-bin smx : pts/ :: grep --color=auto fir ...

  9. JAVA10以上版本 搜索不到 dt.jar和tools.jar

    从jdk-9之后就已经没有tools.jar和dt.jar了,也不需要在classpath里面配置这些jar了,配置可参考:JAVA_HOME=jdk安装路径JRE_HOME=jre安装路径PATH= ...

  10. ajax传文件用express的multer接住

    html部分: //input type设为file <input type="file" name="file" id="fileInputE ...