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. Linux基础—saltstack运维工具学习

    一.saltstack简介 1.saltstack是什么 系统管理员日常会进行大量的重复性操作,例如安装软件,修改配置文件,创建用户,批量执行命令等,如果主机数量庞大,单靠人工维护实在让人难以忍受. ...

  2. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_03 过滤器_1_FileFilter过滤器的原理和使用

    FileFilter 需要先定义接口的实现类.并重写过滤的方法 使用 并没有起作用 过滤器的原理 缺少了a.java和b.java 如果是文件夹,就返回true,那么就会返回到Files[]数组中.然 ...

  3. curl发json

    linux 模拟post请求 curl -X POST \ -H "Content-Type: application/json" \ -H "token:GXJP1cl ...

  4. android:为ListView 添加自定义头部和尾部,上拉主动加载 .(引)

    1.加头尾部 (1)定自义一个xml布局 my_headview.xml 在Activity类里找到这个自定义布局,并添加到头部 LinearLayout  hearderViewLayout = ( ...

  5. 浅谈vue对seo的影响

    不可否定的是,vue现在火.但是在实际项目中,特别是像一下交互网站,我们不可避免会考虑到的是seo问题,这直接关系到我们网站的排名,很多人说用vue搭建的网站不能做优化,那我们真的要放弃vue,放弃前 ...

  6. pandas 入门(2)

    from pandas import Series, DataFrame, Index import numpy as np from numpy import nan as NA obj = Ser ...

  7. Node.js实战10:“流”是Node.js最强大的功能之一。

    流是Nodejs的高级应用,掌握流的使用,才能真正胜任NodeJS开发. Nodejs中,流是基于事件的API,用于管理和处理数据,而且效率很好! 什么是流? 流是一个抽象接口,Node 中有很多对象 ...

  8. jdk下载安装后为什么要设置环境变量?

    因为电脑不知道javac这个命令是在C:\Program Files\JAVA\jdk1.8.0_65\bin的这个路径下面,所以我们要设置好环境变量,来让电脑知道其路径

  9. 配置Trunk接口

    实验内容 本实验模拟某公司网络场景.公司规模较大,员工200余名,内部网络是-一个大的局域网.公司放置了多台接入交换机(如S1和S2)负责员工的网络接入.接入交换机之间通过汇聚交换机S3相连.公司通过 ...

  10. <每日一题> Day5:简单递推两题

    原题链接 参考代码: #include <iostream> using namespace std; typedef long long ll; + ; ll dp[maxn]; int ...