您现在的位置是:主页 > news > 肥西网站推广公司/线上营销的优势

肥西网站推广公司/线上营销的优势

admin2025/6/18 20:08:19news

简介肥西网站推广公司,线上营销的优势,南宁网站建设哪家公司实力强,电子商务网站建设前景1. timezone version 的背景 背景描述: 如果需要支持一个国际化的应用,那么数据库端的国际化特性的支持也就显得尤其重要。 Oracle中有很多特性支持国际化,如字符集、时区等等。如果相关参数设置不当,或者 由于对相关特性不够了…

肥西网站推广公司,线上营销的优势,南宁网站建设哪家公司实力强,电子商务网站建设前景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