您现在的位置是:主页 > news > 肥西网站推广公司/线上营销的优势
肥西网站推广公司/线上营销的优势
admin2025/6/18 20:08:19【news】
简介肥西网站推广公司,线上营销的优势,南宁网站建设哪家公司实力强,电子商务网站建设前景1. timezone version 的背景 背景描述: 如果需要支持一个国际化的应用,那么数据库端的国际化特性的支持也就显得尤其重要。 Oracle中有很多特性支持国际化,如字符集、时区等等。如果相关参数设置不当,或者 由于对相关特性不够了…
1. timezone version 的背景
背景描述:
如果需要支持一个国际化的应用,那么数据库端的国际化特性的支持也就显得尤其重要。
Oracle中有很多特性支持国际化,如字符集、时区等等。如果相关参数设置不当,或者
由于对相关特性不够了解,以至于在设计阶段没有考虑完全,那么肯定会对应用造成一定
的损失
Database Time Zone只和TIMESTAMP WITH LOCAL TIME ZONE数据类型相关!其实数据库timezone
只是一个计算的标尺,TIMESTAMP WITH LOCAL TIME ZONE数据类型从客户端传入数据库后,转为
数据库时区存入数据库。在需要进行相关计算的时候,Oracle先把时间转换为标准时间(UTC),
完成计算后再把结果转换为数据库时区的时间保存到数据库。
如果timezone version 不同会出现以下错误
Oracle TTS ORA-39322: Cannot use transportable tablespace with different timezone version
参考链接:
http://blog.csdn.net/tianlesoftware/article/details/7298547
2. 如何查看,不同数据库版本的值是多少
数据库版本 11.2.0.1.0
SQL> select * from v$version;BANNER
------------------------------------------------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production5 rows selected.SQL> SELECT NAME,VALUE$ FROM PROPS$ WHERE NAME='DST_PRIMARY_TT_VERSION';NAME VALUE$
--------------------------------------------------
DST_PRIMARY_TT_VERSION 11SQL> SELECT * FROM v$timezone_file;FILENAME VERSION
-------------------- ----------
timezlrg_14.dat 11数据库版本 11.2.0.4.0
SQL> select * from v$version;BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for 64-bit Windows: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
SQL> SELECT NAME,VALUE$ FROM PROPS$ WHERE NAME='DST_PRIMARY_TT_VERSION';NAME
NAME VALUE$
--------------------------------------------------
DST_PRIMARY_TT_VERSION 14
SQL> SELECT * FROM v$timezone_file;FILENAME VERSION
-------------------- ----------
timezlrg_14.dat 14数据库版本 12.2.0.1.0
SQL> select * from v$version;BANNER
--------------------------------------------------------------------------------CON_ID
----------
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production0PL/SQL Release 12.2.0.1.0 - Production0CORE 12.2.0.1.0 Production0BANNER
--------------------------------------------------------------------------------CON_ID
----------
TNS for Linux: Version 12.2.0.1.0 - Production0NLSRTL Version 12.2.0.1.0 - Production0SQL> SELECT NAME,VALUE$ FROM PROPS$ WHERE NAME='DST_PRIMARY_TT_VERSION';NAME VALUE$
--------------------------------------------------
DST_PRIMARY_TT_VERSION 26SQL> SELECT version FROM v$timezone_file;VERSION
----------26
3 升级说明
根据当前timezone的版本,又分三种情况:
1)等于14:这已经是11g需要的版本了,所以升级前后都不需要做任何事,这种情况很罕见。
注意:11.2.0.1.0的timezone最高支持到11,可以通过升级数据库到11.2.0.3.0,将timezone升级到14
2)高于14:升级前,必须得给11g软件打上该timezone版本的DST补丁,这种情况也很罕见。
3)低于14:大多数都是这种情况,在升级前不需要在11g软件层面打补丁,在升级后需要再数据库层面将Timezone升级至14,具体看后面的步骤
4. 如何升级timezone vesion
查询当前版本 SQL> SELECT version FROM v$timezone_file;VERSION ----------11SQL> SELECT NAME,VALUE$ FROM PROPS$ WHERE NAME='DST_PRIMARY_TT_VERSION';NAME VALUE$ --------------------------------------------------------------------------- DST_PRIMARY_TT_VERSION 11未升级数据库版本之前 (升级到14出现以下错误) SQL> exec DBMS_DST.BEGIN_PREPARE(14); BEGIN DBMS_DST.BEGIN_PREPARE(14); END; * ERROR at line 1: ORA-30094: failed to find the time zone data file for version 14 in $ORACLE_HOME/oracore/zoneinfo ORA-06512: at "SYS.DBMS_DST", line 57 ORA-06512: at "SYS.DBMS_DST", line 1258 ORA-06512: at line 1[oracle@localhost ~]$ find $ORACLE_HOME -name 'zoneinfo' /u01/app/oracle/product/11.2.0.4/dbhome_1/oracore/zoneinfo [oracle@localhost ~]$ cd /u01/app/oracle/product/11.2.0.4/dbhome_1/oracore/zoneinfo [oracle@localhost zoneinfo]$ ll total 13340 drwxr-xr-x 2 oracle oinstall 4096 Jul 3 01:46 big drwxr-xr-x 2 oracle oinstall 4096 Jul 3 01:46 little -rw-r--r-- 1 oracle oinstall 6068 Jun 7 2010 readme.txt -rw-r--r-- 1 oracle oinstall 31525 Jun 7 2010 timezdif.csv -rw-r--r-- 1 oracle oinstall 792894 Jul 16 2013 timezlrg_10.dat -rw-r--r-- 1 oracle oinstall 787272 Jul 16 2013 timezlrg_11.dat -rw-r--r-- 1 oracle oinstall 493675 Jul 16 2013 timezlrg_1.dat -rw-r--r-- 1 oracle oinstall 507957 Jul 16 2013 timezlrg_2.dat -rw-r--r-- 1 oracle oinstall 527717 Jul 16 2013 timezlrg_3.dat -rw-r--r-- 1 oracle oinstall 531137 Jul 16 2013 timezlrg_4.dat -rw-r--r-- 1 oracle oinstall 587487 Jul 16 2013 timezlrg_5.dat -rw-r--r-- 1 oracle oinstall 586750 Jul 16 2013 timezlrg_6.dat -rw-r--r-- 1 oracle oinstall 601242 Jul 16 2013 timezlrg_7.dat -rw-r--r-- 1 oracle oinstall 616723 Jul 16 2013 timezlrg_8.dat -rw-r--r-- 1 oracle oinstall 801410 Jul 16 2013 timezlrg_9.dat -rw-r--r-- 1 oracle oinstall 345637 Jul 16 2013 timezone_10.dat -rw-r--r-- 1 oracle oinstall 345356 Jul 16 2013 timezone_11.dat -rw-r--r-- 1 oracle oinstall 345024 Jul 16 2013 timezone_12.dat -rw-r--r-- 1 oracle oinstall 344425 Jul 16 2013 timezone_13.dat -rw-r--r-- 1 oracle oinstall 344448 Jul 16 2013 timezone_14.dat -rw-r--r-- 1 oracle oinstall 274427 Jul 16 2013 timezone_1.dat -rw-r--r-- 1 oracle oinstall 274900 Jul 16 2013 timezone_2.dat -rw-r--r-- 1 oracle oinstall 286651 Jul 16 2013 timezone_3.dat -rw-r--r-- 1 oracle oinstall 286264 Jul 16 2013 timezone_4.dat -rw-r--r-- 1 oracle oinstall 286310 Jul 16 2013 timezone_5.dat -rw-r--r-- 1 oracle oinstall 286217 Jul 16 2013 timezone_6.dat -rw-r--r-- 1 oracle oinstall 286815 Jul 16 2013 timezone_7.dat -rw-r--r-- 1 oracle oinstall 302100 Jul 16 2013 timezone_8.dat -rw-r--r-- 1 oracle oinstall 351525 Jul 16 2013 timezone_9.dat 在zoneinfo目录下没有version 14的时区文件 --数据库版本已经升级到11.2.0.4 在升级的过程中勾选Upgrade Timezone Version 即可升级timezone 这里没有选择 手动实现timezone
数据库版本升级之后查看
存在version 14的时区文件 timezlrg_14.dat
[oracle@localhost ~]$ find $ORACLE_HOME -name 'zoneinfo'
/u01/app/oracle/product/11.2.0.4/dbhome_1/oracore/zoneinfo
[oracle@localhost ~]$ cd /u01/app/oracle/product/11.2.0.4/dbhome_1/oracore/zoneinfo
[oracle@localhost zoneinfo]$ ll
total 13340
drwxr-xr-x 2 oracle oinstall 4096 Jul 3 01:46 big
drwxr-xr-x 2 oracle oinstall 4096 Jul 3 01:46 little
-rw-r--r-- 1 oracle oinstall 6068 Jun 7 2010 readme.txt
-rw-r--r-- 1 oracle oinstall 31525 Jun 7 2010 timezdif.csv
-rw-r--r-- 1 oracle oinstall 792894 Jul 16 2013 timezlrg_10.dat
-rw-r--r-- 1 oracle oinstall 787272 Jul 16 2013 timezlrg_11.dat
-rw-r--r-- 1 oracle oinstall 785621 Jul 16 2013 timezlrg_12.dat
-rw-r--r-- 1 oracle oinstall 782475 Jul 16 2013 timezlrg_13.dat
-rw-r--r-- 1 oracle oinstall 791430 Jul 16 2013 timezlrg_14.dat
-rw-r--r-- 1 oracle oinstall 493675 Jul 16 2013 timezlrg_1.dat
-rw-r--r-- 1 oracle oinstall 507957 Jul 16 2013 timezlrg_2.dat
-rw-r--r-- 1 oracle oinstall 527717 Jul 16 2013 timezlrg_3.dat
-rw-r--r-- 1 oracle oinstall 531137 Jul 16 2013 timezlrg_4.dat
-rw-r--r-- 1 oracle oinstall 587487 Jul 16 2013 timezlrg_5.dat
-rw-r--r-- 1 oracle oinstall 586750 Jul 16 2013 timezlrg_6.dat
-rw-r--r-- 1 oracle oinstall 601242 Jul 16 2013 timezlrg_7.dat
-rw-r--r-- 1 oracle oinstall 616723 Jul 16 2013 timezlrg_8.dat
-rw-r--r-- 1 oracle oinstall 801410 Jul 16 2013 timezlrg_9.dat
-rw-r--r-- 1 oracle oinstall 345637 Jul 16 2013 timezone_10.dat
-rw-r--r-- 1 oracle oinstall 345356 Jul 16 2013 timezone_11.dat
-rw-r--r-- 1 oracle oinstall 345024 Jul 16 2013 timezone_12.dat
-rw-r--r-- 1 oracle oinstall 344425 Jul 16 2013 timezone_13.dat
-rw-r--r-- 1 oracle oinstall 344448 Jul 16 2013 timezone_14.dat
-rw-r--r-- 1 oracle oinstall 274427 Jul 16 2013 timezone_1.dat
-rw-r--r-- 1 oracle oinstall 274900 Jul 16 2013 timezone_2.dat
-rw-r--r-- 1 oracle oinstall 286651 Jul 16 2013 timezone_3.dat
-rw-r--r-- 1 oracle oinstall 286264 Jul 16 2013 timezone_4.dat
-rw-r--r-- 1 oracle oinstall 286310 Jul 16 2013 timezone_5.dat
-rw-r--r-- 1 oracle oinstall 286217 Jul 16 2013 timezone_6.dat
-rw-r--r-- 1 oracle oinstall 286815 Jul 16 2013 timezone_7.dat
-rw-r--r-- 1 oracle oinstall 302100 Jul 16 2013 timezone_8.dat
-rw-r--r-- 1 oracle oinstall 351525 Jul 16 2013 timezone_9.dat
SQL> select * from v$version;BANNER
------------------------------------------------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 - Pro准备升级timezone到14:
SQL> exec DBMS_DST.BEGIN_PREPARE(14);PL/SQL procedure successfully completed.SQL> SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) valueFROM DATABASE_PROPERTIESWHERE PROPERTY_NAME LIKE 'DST_%'ORDER BY PROPERTY_NAME;PROPERTY_NAME VALUE
----------------------------------------------------------
DST_PRIMARY_TT_VERSION 11
DST_SECONDARY_TT_VERSION 14
DST_UPGRADE_STATE PREPARE准备升级工作:
SQL> BEGINDBMS_DST.FIND_AFFECTED_TABLES(affected_tables => 'sys.dst$affected_tables',log_errors => TRUE,log_errors_table => 'sys.dst$error_table');END;PL/SQL procedure successfully completed.SQL> TRUNCATE TABLE SYS.DST$TRIGGER_TABLE;Table truncated.SQL> TRUNCATE TABLE sys.dst$affected_tables;Table truncated.SQL> TRUNCATE TABLE sys.dst$error_table;Table truncated.SQL> SELECT * FROM sys.dst$affected_tables;no rows selectedSQL> SELECT * FROM sys.dst$error_table;no rows selectedSQL> SELECT * FROM sys.dst$error_table where ERROR_NUMBER= '1883';no rows selectedSQL> SELECT * FROM sys.dst$error_table where ERROR_NUMBER= '1878';no rows selectedSQL> SELECT * FROM sys.dst$error_table where ERROR_NUMBER not in ('1878','1883');no rows selected结束升级准备:
SQL> EXEC DBMS_DST.END_PREPARE;PL/SQL procedure successfully completed.SQL> SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) valueFROM DATABASE_PROPERTIESWHERE PROPERTY_NAME LIKE 'DST_%'ORDER BY PROPERTY_NAME;PROPERTY_NAME VALUE
----------------------- --------------------------
DST_PRIMARY_TT_VERSION 11
DST_SECONDARY_TT_VERSION 0
DST_UPGRADE_STATE NONE升级过程:
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup upgrade;
ORACLE instance started.Total System Global Area 1043886080 bytes
Fixed Size 2259840 bytes
Variable Size 889193600 bytes
Database Buffers 146800640 bytes
Redo Buffers 5632000 bytes
Database mounted.
Database opened.
SQL> set serveroutput on
SQL> purge dba_recyclebin;DBA Recyclebin purged.SQL> TRUNCATE TABLE SYS.DST$TRIGGER_TABLE;Table truncated.SQL> TRUNCATE TABLE sys.dst$affected_tables;Table truncated.SQL> TRUNCATE TABLE sys.dst$error_table;Table truncated.SQL> alter session set "_with_subquery"=materialize;Session altered.
将timezone version升级到14:
SQL> EXEC DBMS_DST.BEGIN_UPGRADE(14);
An upgrade window has been successfully started.PL/SQL procedure successfully completed.SQL> SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) valueFROM DATABASE_PROPERTIESWHERE PROPERTY_NAME LIKE 'DST_%'ORDER BY PROPERTY_NAME;PROPERTY_NAME VALUE
-------------------------------------------------------------------
DST_PRIMARY_TT_VERSION 14
DST_SECONDARY_TT_VERSION 11
DST_UPGRADE_STATE UPGRADESQL> SELECT OWNER, TABLE_NAME, UPGRADE_IN_PROGRESS FROM ALL_TSTZ_TABLES where UPGRADE_IN_PROGRESS='YES';no rows selectedSQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.Total System Global Area 1043886080 bytes
Fixed Size 2259840 bytes
Variable Size 889193600 bytes
Database Buffers 146800640 bytes
Redo Buffers 5632000 bytes
Database mounted.
Database opened.
SQL> alter session set "_with_subquery"=materialize;Session altered.
执行timezone升级过程
SQL> set serveroutput on
SQL> VAR numfail number
SQL> BEGINDBMS_DST.UPGRADE_DATABASE(:numfail,parallel => TRUE,log_errors => TRUE,log_errors_table => 'SYS.DST$ERROR_TABLE',log_triggers_table => 'SYS.DST$TRIGGER_TABLE',error_on_overlap_time => FALSE,error_on_nonexisting_time 2 3 4 5 6 7 8 => FALSE);DBMS_OUTPUT.PUT_LINE('Failures:'|| :numfail);END;/ 9 10 11
Failures:0PL/SQL procedure successfully completed.
结束升级,校验升级信息:
SQL> VAR fail number
SQL> BEGINDBMS_DST.END_UPGRADE(:fail);DBMS_OUTPUT.PUT_LINE('Failures:'|| :fail);END;/
An upgrade window has been successfully ended.
Failures:0PL/SQL procedure successfully completed.
确认升级成功:
SQL> SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) valueFROM DATABASE_PROPERTIESWHERE PROPERTY_NAME LIKE 'DST_%'ORDER BY PROPERTY_NAME; PROPERTY_NAME VALUE
-----------------------------------------
DST_PRIMARY_TT_VERSION 14
DST_SECONDARY_TT_VERSION 0
DST_UPGRADE_STATE NONESQL> SELECT * FROM v$timezone_file;FILENAME VERSION
---------------------------------------- ----------
timezlrg_14.dat 14