Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >10g升级至11g exp的问题解决(23天)

10g升级至11g exp的问题解决(23天)

作者头像
jeanron100
发布于 2018-03-13 09:46:43
发布于 2018-03-13 09:46:43
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

昨天升级数据库,从10.2.0.5.0升级到11.2.0.2.0.按照预定的步骤很快就操作完了。升级完成后,开始跑一些应用和Job.有一个Job开始报错,Job是一个自动的同步job,中会有exp的动作,而且里面用到了consistent=y的选项,这样exp就大体如下:exp xxxx/xxxx file=xxx.dmp tables=xxxx consistent=y报错如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Export: Release 11.2.0.2.0 - Production on Mon Sep 23 16:43:12 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Produ
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Export done in TH8TISASCII character set and UTF8 NCHAR character set
About to export specified tables via Conventional Path ...
. . exporting table xxxx 2201 rows exported
EXP-00008: ORACLE error 1466 encountered
ORA-01466: unable to read data - table definition has changed
Export terminated successfully with warnings

.1.初步的感觉是时间的问题,最先想到的系统时间的问题> hwclockdateTue 24 Sep 2013 07:29:54 AM ICT -0.564711 seconds> dateTue Sep 24 07:29:54 ICT 2013但是查询物理时间和系统时间,都没问题。顺便提一句,如果在9i等版本中出现这个问题,很可能是物理时间和系统时间不同步造成的。这在tom大师的帖子中也有印证。http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:704225010478

2.排除这个问题,可能是object级的时间问题MOS上看到有可能是creation_date比系统时间还要晚,用如下的sql来排除select to_char(created,'dd-mm-yyyy hh24:mi:ss')"CREATION TIME", object_name, object_type, object_idfrom dba_objects where created > sysdate; 但是我这个例子没有任何输出,所以这个问题应该不是这个原因。3.我查询alert日志,发现这么一句,感觉很蹊跷

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Mon Sep 23 15:58:26 2013
ORA-1466 (RO Tx began: 09/23/2013 08:58:25, Last DDL: 09/23/2013 11:14:16, Curr Time: 09/23/2013 08:58:26)
Mon Sep 23 15:58:38 2013

4.对于ORA-1466的解决方法,MOS上的一些建议是重建数据库,这也太狠了。

5.最后在TOM的帖子里找到了灵感,他是这么写的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
you mentioned out of sync clocks, that is what caught my eye on that note.
It could even be a TIMEZONE issue.  The dedicated server you are running might have a different TZ 
than the environment the export is running in.  Consider:
[tkyte@xtkyte-pc tkyte]$ echo $TZ
[tkyte@xtkyte-pc tkyte]$ plus
SQL*Plus: Release 9.2.0.5.0 - Production on Mon Jun 6 12:53:04 2005
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.5.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.5.0 - Production
ops$tkyte@ORA9IR2> select to_char(sysdate,'dd-mon-yyyy hh24:mi:ss' ) from dual; 
TO_CHAR(SYSDATE,'DD-
--------------------
06-jun-2005 12:53:15
ops$tkyte@ORA9IR2> !
[tkyte@xtkyte-pc tkyte]$ export TZ=PST
[tkyte@xtkyte-pc tkyte]$ plus 
SQL*Plus: Release 9.2.0.5.0 - Production on Mon Jun 6 16:53:23 2005
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.5.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.5.0 - Production
ops$tkyte@ORA9IR2>  select to_char(sysdate,'dd-mon-yyyy hh24:mi:ss' ) from dual;                                                                               
TO_CHAR(SYSDATE,'DD-
--------------------
06-jun-2005 16:53:33
One thing to check would be that the TZ of the export session is consistent with the rest of the 
sessions. 

排除了系统级的timezone问题,我觉得可能是db级的timezone问题。

最后发现升级timezone的时候没有把步骤做完。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SQL> select *from v$timezone_file;
FILENAME                VERSION
-------------------- ----------
timezlrg_4.dat                4
SQL> SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value
FROM DATABASE_PROPERTIES
WHERE PROPERTY_NAME LIKE 'DST_%'
ORDER BY PROPERTY_NAME;  
PROPERTY_NAME                  VALUE
------------------------------ ------------------------------
DST_PRIMARY_TT_VERSION         4
DST_SECONDARY_TT_VERSION       0
DST_UPGRADE_STATE              NONE

最后给出完整的解决方法(升级timezone)

Timezone数据库层面的升级。 注意:该步骤是否执行是和Step 6中的检查结果相关的,只有当Timezone的版本小于14时,才需要执行该步骤。 主要参考:Updating the RDBMS DST version in 11gR2 (11.2.0.1 and up) using DBMS_DST [ID 977512.1] 1)Timezone升级前的准备工作: 先检查一下当前的timezone版本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

conn / as sysdba
SELECT version FROM v$timezone_file;
SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME LIKE 'DST_%' ORDER BY PROPERTY_NAME;

一个典型的输出是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

PROPERTY_NAME                  VALUE
------------------------------ ------------------------------
DST_PRIMARY_TT_VERSION         4
DST_SECONDARY_TT_VERSION       0
DST_UPGRADE_STATE              NONE

然后开始准备工作: alter session set "_with_subquery"=materialize; exec DBMS_DST.BEGIN_PREPARE(14); 接着检查准备状态: SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME LIKE 'DST_%' ORDER BY PROPERTY_NAME; 一个典型的输出是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

PROPERTY_NAME                  VALUE
------------------------------ ------------------------------
DST_PRIMARY_TT_VERSION         4
DST_SECONDARY_TT_VERSION       14
DST_UPGRADE_STATE              PREPARE
-- truncate logging tables if they exist.
TRUNCATE TABLE SYS.DST$TRIGGER_TABLE;
TRUNCATE TABLE sys.dst$affected_tables;
TRUNCATE TABLE sys.dst$error_table;
-- log affected data
set serveroutput on
BEGIN
DBMS_DST.FIND_AFFECTED_TABLES
(affected_tables => 'sys.dst$affected_tables',
log_errors => TRUE,
log_errors_table => 'sys.dst$error_table');
END;
/

下面的语句都不能有返回结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

SELECT * FROM sys.dst$affected_tables;
SELECT * FROM sys.dst$error_table;
SELECT * FROM sys.dst$error_table where ERROR_NUMBER= '1883';
SELECT * FROM sys.dst$error_table where ERROR_NUMBER= '1878';
SELECT * FROM sys.dst$error_table where ERROR_NUMBER not in ('1878','1883');
-- end prepare window, the rows above will stay in those tables.
EXEC DBMS_DST.END_PREPARE;
-- check if this is ended
SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value
FROM DATABASE_PROPERTIES
WHERE PROPERTY_NAME LIKE 'DST_%'
ORDER BY PROPERTY_NAME;
一个典型的输出是:
PROPERTY_NAME                  VALUE
------------------------------ ------------------------------
DST_PRIMARY_TT_VERSION         4
DST_SECONDARY_TT_VERSION       0
DST_UPGRADE_STATE              NONE

2)真正开始升级Timezone

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

conn / as sysdba
shutdown immediate;
startup upgrade;
set serveroutput on
purge dba_recyclebin;
TRUNCATE TABLE SYS.DST$TRIGGER_TABLE;
TRUNCATE TABLE sys.dst$affected_tables;
TRUNCATE TABLE sys.dst$error_table;
alter session set "_with_subquery"=materialize;
EXEC DBMS_DST.BEGIN_UPGRADE(14);
SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value
FROM DATABASE_PROPERTIES
WHERE PROPERTY_NAME LIKE 'DST_%'
ORDER BY PROPERTY_NAME;

一个典型的输出是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

PROPERTY_NAME                  VALUE
------------------------------ ------------------------------
DST_PRIMARY_TT_VERSION         14
DST_SECONDARY_TT_VERSION       4
DST_UPGRADE_STATE              UPGRADE

下面这条语句应该没有返回结果: SELECT OWNER, TABLE_NAME, UPGRADE_IN_PROGRESS FROM ALL_TSTZ_TABLES where UPGRADE_IN_PROGRESS='YES'; 重启数据库: shutdown immediate startup 升级相关的table: alter session set "_with_subquery"=materialize; set serveroutput on VAR numfail number BEGIN DBMS_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 => FALSE); DBMS_OUTPUT.PUT_LINE('Failures:'|| :numfail); END; / 如果没有错误,则结束升级: VAR fail number BEGIN DBMS_DST.END_UPGRADE(:fail); DBMS_OUTPUT.PUT_LINE('Failures:'|| :fail); END; / 最后一次检查: SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME LIKE 'DST_%' ORDER BY PROPERTY_NAME; 典型输出是: PROPERTY_NAME VALUE ------------------------------ ------------------------------ DST_PRIMARY_TT_VERSION 14 DST_SECONDARY_TT_VERSION 0 DST_UPGRADE_STATE NONE SELECT * FROM v$timezone_file; FILENAME VERSION -------------------- ---------- timezlrg_14.dat 14

升级完成后,可以用如下的方式来进行验证

> exp prdrefwork/petrefwork file=a.dmp tables=csm_offer consistent=yExport: Release 11.2.0.2.0 - Production on Tue Sep 24 07:25:24 2013Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsExport done in TH8TISASCII character set and UTF8 NCHAR character setAbout to export specified tables via Conventional Path .... . exporting table xxxxxx 2201 rows exportedExport terminated successfully without warnings.

这次就不会跑错了。大功告成。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2014-03-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
特征锦囊:怎么找出数据集中有数据倾斜的特征?
今天我们用的是一个新的数据集,也是在kaggle上的一个比赛,大家可以先去下载一下:
Sam Gor
2020/02/17
1.4K0
特征锦囊:怎么找出数据集中有数据倾斜的特征?
特征锦囊:怎么尽可能地修正数据倾斜的特征?
上一个锦囊,分享了给大家通过skew的方法来找到数据集中有数据倾斜的特征(特征锦囊:怎么找出数据集中有数据倾斜的特征?),那么怎么去修正它呢?正是今天要分享给大家的锦囊!
Sam Gor
2020/02/17
8640
特征锦囊:怎么尽可能地修正数据倾斜的特征?
特征锦囊:如何把分布修正为类正态分布?
今天我们用的是一个新的数据集,也是在kaggle上的一个比赛,大家可以先去下载一下:
Sam Gor
2020/02/17
1.1K0
特征锦囊:如何把分布修正为类正态分布?
强烈推荐!分享一个持续连载的《特征工程小锦囊》项目,代码已开源!
随着我们在机器学习、数据建模、数据挖掘分析这条发展路上越走越远,其实越会感觉到特征工程的重要性,平时我们在很多地方都会看到一些很好的特征工程技巧,但是都会是一个完整项目去阅读,虽然说这样子也可以学习挖掘思路,但有的时候浓缩的技巧总结也是十分重要!
Sam Gor
2020/02/16
5830
强烈推荐!分享一个持续连载的《特征工程小锦囊》项目,代码已开源!
过关斩将打进 Kaggle 竞赛 Top 0.3%,我是这样做的
导读:刚开始接触数据竞赛时,我们可能会被一些高大上的技术吓到。各界大佬云集,各种技术令人眼花缭乱,新手们就像蜉蝣一般渺小无助。今天本文就分享一下在 kaggle 的竞赛中,参赛者取得 top0.3% 的经验和技巧。让我们开始吧!
Python数据科学
2019/07/16
9290
10万+字的机器学习理论笔记&特征工程tips分享,附PDF下载
随着我们在机器学习、数据建模、数据挖掘分析这条发展路上越走越远,其实越会感觉到机器学习理论知识和特征工程的重要性,这里有两本一位好友整理的学习资料,都是满满干货!分别是《machine learning knowledge》和 《Tips of feature engineering》,全文加起来超过10万字!
Sam Gor
2020/04/11
9750
过关斩将打进Kaggle竞赛Top 0.3%,我是这样做的
从下图可以看出,融合后的模型性能最好,RMSE 仅为 0.075,该融合模型用于最终预测。
AI科技大本营
2019/07/18
1.9K1
过关斩将打进Kaggle竞赛Top 0.3%,我是这样做的
算法工程师-特征工程类岗位面试题目
1) DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)函数作用:删除含有空值的行或列
用户9925864
2022/07/27
6060
算法工程师-特征工程类岗位面试题目
kaggle
整整80个特征。label标签是不是正态分布,如果不是正态分布很多算法就用不上了,因为回归分析就是基于正态分布的。
西红柿炒鸡蛋
2020/06/28
1.1K0
在Python中用Seaborn美化图表的3个示例
进行研究时,选择图像模式一般很容易,说实话:向团队或客户传达图像模式有时要困难得多。不仅很难用外行术语解释某些图像模式(尝试向非数学家解释一个数学符号),而且有时,您还需要试图表示对各种模式需要依赖的条件……怎么说呢?
deephub
2020/06/04
1.4K0
各种各样的图
有时候,我们想画某一种图,就到处找代码,现学现卖。这里,笔者就做一个收集,使用python的matplotlib加上seaborn来美化的各种各样的图。
钱塘小甲子
2019/01/28
6740
科研绘图系列:python语言绘制SCI图合集
生信学习者
2025/01/13
1330
科研绘图系列:python语言绘制SCI图合集
weekly kaggle 练习题解读(House Prices)
今天给大家来讲讲《House Prices: Advanced Regression Techniques》(房价预测模型)的思路:
机械视角
2019/10/23
1.2K0
weekly kaggle 练习题解读(House Prices)
小白也能看懂的seaborn入门示例
Seaborn就是让困难的东西更加简单。它是针对统计绘图的,一般来说,能满足数据分析90%的绘图需求。Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图,应该把Seaborn视为matplotlib的补充,而不是替代物。
1480
2019/11/07
5K0
小白也能看懂的seaborn入门示例
【数据准备和特征工程】数据清理
import pandas as pd df = pd.read_csv("test.csv") df.sample(10)
LoneRanger
2022/02/02
9880
官方调研重磅发布,Pandas或将重构?
为指引 Pandas 未来开发方向,Pandas 官方团队于 2019 年夏搞了一次调研,这次调研历时 15 天,共有 1250 条反馈数据。问卷数据保存在 data 文件夹的 2019.csv.zip 文件里。
double
2019/09/24
1K0
官方调研重磅发布,Pandas或将重构?
Python数据分析之Seaborn(样式风格)
Seaborn是一种基于matplotlib的图形可视化python库。它提供了一种高度交互式界面,便于用户能够做出各种有吸引力的统计图表。Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用Seaborn就能做出很具有吸引力的图,而使用matplotlib就能制作具有更多特色的图。应该把Seaborn视为matplotlib的补充,而不是替代物。同时它能高度兼容numpy与pandas数据结构以及scipy与statsmodels等统计模式。掌握Seaborn能很大程度帮助我们更高效的观察数据与图表,并且更加深入了解它们。
AI异构
2020/07/29
2.6K0
Python数据分析之Seaborn(样式风格)
Python高级绘图库(Seanborn)
Python绘图一般都是利用matplotlib库,利用这个库可以画出各种优美的图形,但是这个库画一些论文中比较复杂的图形时,代码就比较难写。 今天就给大家介绍一个基于matplotlib制作的绘图专用的库,可以绘制论文所需的图形,代码还很简单。 这个库就是Seaborn! 绘图示例 散点图 import seaborn as sns sns.set_theme(style="ticks") df = sns.load_dataset("penguins") sns.pairplot(df, hue="s
GIS与遥感开发平台
2022/04/29
3.1K0
Python高级绘图库(Seanborn)
电商用户行为数据可视化分析实战
先进电子商务的用户数量激增,而包括买家浏览电子商务商店而花费大量时间等信息被,店主们还计划利用各种算法来吸引顾客,试图研究和利用顾客行为模式来增加营收。
数据STUDIO
2022/05/24
1.9K0
电商用户行为数据可视化分析实战
利用 Pandas 的 transform 和 apply 来处理组级别的丢失数据
根据 Businessbroadway 的一项分析,数据专业人员将会花高达 60% 的时间用于收集、清理和可视化数据。
AI研习社
2019/11/27
2.1K0
推荐阅读
相关推荐
特征锦囊:怎么找出数据集中有数据倾斜的特征?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验