zoukankan      html  css  js  c++  java
  • 桌面oracle 11g导入多年库的dump备忘

    接到客户6G的dump文件。先导入桌面orcale ,imp提示出错,执行impdp后如下

    连接到: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

    已成功加载/卸载了主表 "test"."SYS_IMPORT_FULL_02"
    启动 "test"."SYS_IMPORT_FULL_02": test/******** DIRECTORY=dpdir DUMPFILE=test_14.dmp FULL=y;
    处理对象类型 TABLE_EXPORT/TABLE/TABLE
    处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
    ORA-02374: conversion error loading table "test"."T_OUTBODY"
    ORA-12899: value too large for column DESCRITION (actual: 44, maximum: 40)

    ORA-02372: data for row: DESCRITION : 0X'BAF3CAD3BEB528D7F32CB5A5C7FAC2CA2CCAD6D5DBB5FE2CC0'


    ORA-02374: conversion error loading table "test"."T_OUTBODY"
    ORA-12899: value too large for column DESCRITION (actual: 41, maximum: 40)

    ORA-02372: data for row: DESCRITION : 0X'BBFAD3CDC2CBD0BE28CEDE3CC3DCB7E2C8A6484230302D3134'

    Import> exit

    C:Usersaibair>sqlplus /nolog

    SQL*Plus: Release 11.2.0.2.0 Production on 星期三 10月 14 16:26:08 2015

    Copyright (c) 1982, 2014, Oracle. All rights reserved.

    SQL> conn /as sysdba
    已连接。
    SQL> shutdown immediate;
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> startup mount;
    ORACLE 例程已经启动。

    Total System Global Area 1068937216 bytes
    Fixed Size 2260048 bytes
    Variable Size 687866800 bytes
    Database Buffers 373293056 bytes
    Redo Buffers 5517312 bytes
    数据库装载完毕。
    SQL> alter system enable restricted session;

    系统已更改。

    SQL> alter system set job_queue_processes=0;

    系统已更改。

    SQL> alter system set aq_tm_processes=0;

    系统已更改。

    SQL> alter database open;

    数据库已更改。

    SQL> alter database character set zhs16gbk;
    alter database character set zhs16gbk
    *
    第 1 行出现错误:
    ORA-12712: 新字符集必须为旧字符集的超集


    SQL> alter database character set internal_use zhs16gbk;

    数据库已更改。

    SQL> shutdow immediate;
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> startup;
    ORACLE 例程已经启动。

    Total System Global Area 1068937216 bytes
    Fixed Size 2260048 bytes
    Variable Size 687866800 bytes
    Database Buffers 373293056 bytes
    Redo Buffers 5517312 bytes
    数据库装载完毕。
    数据库已经打开。
    SQL>
    SQL> drop tablespace testdb including contents and datafiles cascade constraints ;

    表空间已删除。

    SQL> create tablespace testdb datafile'C: est estdb.DBF' size 7024m autoextend on next 1000m UNIFORM SIZE 128k;

    表空间已创建。

    SQL> exit
    从 Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production 断开

    C:Usersaibair>impdp DIRECTORY=dpdir DUMPFILE=test_14.dmp FULL=y;

    Import: Release 11.2.0.2.0 - Production on 星期三 10月 14 16:37:16 2015

    Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

    用户名: test
    口令:

    连接到: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    已成功加载/卸载了主表 "test"."SYS_IMPORT_FULL_03"
    启动 "test"."SYS_IMPORT_FULL_03": test/******** DIRECTORY=dpdir DUMPFILE=test_14.dmp FULL=y;
    处理对象类型 TABLE_EXPORT/TABLE/TABLE
    处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
    . . 导入了 "test"."T_OUTBODY" 1.305 GB 25042554 行
    ORA-31693: 表数据对象 "test"."C_PROCESSHEAD" 无法加载/卸载并且被跳过, 错误如下:
    ORA-02354: 导出/导入数据时出错
    ORA-39776: 加载表 "test"."C_PROCESSHEAD" 时出现致命的直接路径 API 错误
    ORA-12953: 请求超出了允许的最大数据库大小 11 GB
    ORA-31693: 表数据对象 "test"."C_PROCESSBODY" 无法加载/卸载并且被跳过, 错误如下:
    ORA-02354: 导出/导入数据时出错
    ORA-39776: 加载表 "test"."C_PROCESSBODY" 时出现致命的直接路径 API 错误
    ORA-12953: 请求超出了允许的最大数据库大小 11 GB

     //ps:超过Oracle Database 11g Express库最大11GB, 卸掉 后安装oracle 11g R2 继续

    SQL> create user test identified by test;

    用户已创建。

    SQL> grant dba to test;

    授权成功。

    SQL> drop user scott cascade;

    * ERROR 位于第 1 行:
    ORA-00604: 递归 SQL 层 1 出现错误
    ORA-24005: 必须使用 DBMS_AQADM.DROP_QUEUE_TABLE 删除队列表
    需先执行这条语句:alter session set events'10851 trace name context forever,level 2';
     

    SQL> create directory dumpdir as 'c:dump';

    目录已创建。

    执行之前的导入操作。后出现...

    处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEX
    ORA-39171: 作业出现可恢复的等待。
    ORA-01652: 无法通过 16 (在表空间 TEST 中) 扩展 temp 段

    //ps:ORA-01652: 是临时表空间占满,检查c: est est_14.dbf文件,数据文件已达33G.

    使用如下语句a查看一下认谁在用临时段

    SELECT 
           sid,
           serial#,
           sql_address,
           machine,
           program,
           tablespace,
           segtype,
           contents 
      FROM v$session se,
           v$sort_usage su
    WHERE se.saddr=su.session_addr;

    确定TEMP表空间的ts#
    SQL>select ts#, name from sys.ts$ ;       

    说明: 
    temp表空间的TS# 为 3*, So TS#+ 1= 4

    查看表空间状态

    SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
           D.TOT_GROOTTE_MB "表空间大小(M)",
           D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
           TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,
                         2),
                   '990.99') "使用比",
           F.TOTAL_BYTES "空闲空间(M)",
           F.MAX_BYTES "最大块(M)"
      FROM (SELECT TABLESPACE_NAME,
                   ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
                   ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
              FROM SYS.DBA_FREE_SPACE
             GROUP BY TABLESPACE_NAME) F,
           (SELECT DD.TABLESPACE_NAME,
                   ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
              FROM SYS.DBA_DATA_FILES DD
             GROUP BY DD.TABLESPACE_NAME) D
    WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
    ORDER BY 4 DESC

    SQL> create temporary tablespace TEMP3 TEMPFILE 
    'c: estTEMP3.dbf' size 1000m reuse autoextend on next 200m maxsize 4000m; 
    把缺省临时表空间指向这个新建的TEMP3。 
    SQL>alter database default temporary tablespace "TEMP3" 删除原有的临时表空间文件和操作系统中的对应物理文件,释放磁盘空间 SQL>drop tablespace temp2 including contents and datafiles;  
    再查看表空间状态  
    select TABLESPACE_NAME from dba_tablespaces;  
    select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from 
    dba_temp_files; 

    当前用户所有表的统计 SELECT *
    FROM USER_TABLES order by num_rows desc;

    //SELECT * FROM USER_TABLES where table_name like '%PART%' order by num_rows desc;
    //select * from (select LNO from t_part order by LNO ) where rownum =1
    SELECT COUNT(*) FROM t_part

  • 相关阅读:
    【转】VS2010中 C++创建DLL图解
    [转]error: 'retainCount' is unavailable: not available in automatic reference counting mode
    [转]关于NSAutoreleasePool' is unavailable: not available in automatic reference counting mode的解决方法
    【转】 Tomcat v7.0 Server at localhost was unable to start within 45
    【转】Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds. If
    【转】SVN管理多个项目版本库
    【转】eclipse安装SVN插件的两种方法
    【转】MYSQL启用日志,和查看日志
    【转】Repository has not been enabled to accept revision propchanges
    【转】SVN库的迁移
  • 原文地址:https://www.cnblogs.com/runfeng/p/4877993.html
Copyright © 2011-2022 走看看