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. Navicat Premium for Mac 非官方版不能启动的解决方案

    Ps:这篇有点杂记的感觉,就说点废话也没什么影响.废话主要有两点: 1.建议读者也开始写博客,为什么呢?其实我也没有这种写作的习惯,我最开始写博客的时候,感觉我写的东西网上都有,需要的时候找一下肯定能 ...

  2. java通过HtmlUnit工具和J4L实现模拟带验证码登录

    1.HtmlUnit 1.1介绍 HtmlUnit是一个用java编写的无界面浏览器,建模html文档,通过API调用页面,填充表单,点击链接等等.如同正常浏览器一样操作.典型应用于测试以及从网页抓取 ...

  3. 剑指offer--day01

    1.1题目:二维数组中的查找:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断 ...

  4. 前端 CSS 盒子模型

    盒模型的概念 在CSS中,"box model"这一术语是用来设计和布局时使用,然后在网页中基本上都会显示一些方方正正的盒子.我们称为这种盒子叫盒模型. 盒模型有两种:标准模型和I ...

  5. [2019杭电多校第一场][hdu6583]Typewriter(后缀自动机&&dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6583 大致题意是说可以花费p在字符串后添加一个任意字符,或者花费q在字符串后添加一个当前字符串的子串. ...

  6. kafka+hbase+hive实现实时接入数据至hive

    整体架构: 项目目标,实现配置mysql,便可以自动化入湖至Hive,入湖至Hive方便后期数据分析. 首先在Mysql中配置好kafka的topic.Server以及入户表等信息,java程序初始化 ...

  7. ssh传文件

    #coding=utf-8 import paramiko transport = paramiko.Transport(('192.168.70.129',22)) transport.connec ...

  8. nginx负载均衡的搭建和简单例子

    一,nginx 下载地址:http://nginx.org/en/download.html 二,下载对应版本 三,打开下载的安装包:如下图 四,运行nginx.exe 1,这个是时候,程序运行都是一 ...

  9. 利用vsftpd在Linux构建安全的FTP服务

    最近在机房搭建Linux环境,需要用到了FTP服务,查看了许多的资料,在这里做一下笔记 一.安装 方法一,使用yum命令安装,需要能够连接外网 # yum install vsftpd 方法二,使用安 ...

  10. node中使用log4js4.x版本记录

    const log4js = require('log4js'); log4js.configure({ appenders: { logFile: { //文件形式打印日志 type: " ...