ORA-01658 错误

 最近重新装个了Oracle 11g,在对分区表导入导出时碰到了ORA-01658错误的问题,因为刚刚才装的新系统,一导出就碰到了下面的问题,

自己可是纳闷了半天,后来才发现是因为磁盘空间不够引发的。本人的这个Oracle 11g安装在rhel 5.5之上,当时的分区时总共分了16G,8G用

来安装操作系统,8G用来安装Oracle 数据库。具体错误请看下文。

 

1.导出数据时产生ORA-01658 错误  

    [oracle@ora11g ~]$ expdp scott/tiger directory=dmp dumpfile=tb_pt.dmp logfile=tb_pb.log tables=tb_pt parallel=3

 

    Export: Release 11.2.0.1.0 - Production on Sun Mar 13 18:05:37 2011

 

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

 

    Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

    With the Partitioning, OLAP, Data Mining and Real Application Testing options

    ORA-31626: job does not exist

    ORA-31637: cannot create job SYS_EXPORT_TABLE_01 for user SCOTT

    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95

    ORA-06512: at "SYS.KUPV$FT_INT", line 798

    ORA-39244: Event to disable dropping null bit image header during relational select

    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86

    ORA-06512: at "SYS.KUPC$QUE_INT", line 1825

    ORA-02320: failure in creating storage table for nested table column TREAT("USER_DATA" AS "KUPC$_BAD_FILE")."ERROR"

    ORA-01658: unable to create INITIAL extent for segment in tablespace SYSTEM

 

2.根据错误号定位问题

    SQL> ho oerr ora 31637    -- ORA-31637不能创建作业

    31637, 00000, "cannot create job %s for user %s"

    // *Cause:  Unable to create or restart a job. Refer to any following or

    //          prior error messages for clarification.

    // *Action: Eliminate the problems indicated.

 

    SQL> ho oerr ora 01658  

    01658, 00000, "unable to create INITIAL extent for segment in tablespace %s"

    // *Cause:  Failed to find sufficient contiguous space to allocate INITIAL

    //          extent for segment being created.

    // *Action: Use ALTER TABLESPACE ADD DATAFILE to add additional space to the

    //          tablespace or retry with a smaller value for INITIAL

 

    从上面的错误描述来看,是因为空间不够不能够创建段,需要添加数据文件或为区间设置更细粒度值,因是新装的系统没有做个任何调整,

    所以extent应该是没有问题的,查看一下系统空间的使用情况

   

    SQL> ho df

    Filesystem           1K-blocks      Used Available Use% Mounted on

    /dev/sda2              5944440   3088836   2548764  55% /

    /dev/sdb1              8123168   7701056      2820 100% /u02

    /dev/sda1               155543     11436    136077   8% /boot

    tmpfs                   517552    245624    271928  48% /dev/shm

   

    结果是大吃一惊,原来安装Oracle 的u02挂载点空间使用率达到100%

 

3.解决空间问题,不再出现ORA-01658错误

    SQL> ho ls /u02

    database  dmp  lost+found  oracle  oraInventory

 

    SQL> ho mv /u02/database /

    mv: cannot create directory `/database': Permission denied       

 

    SQL> exit

    Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

    With the Partitioning, OLAP, Data Mining and Real Application Testing options

    [oracle@ora11g ~]$ su  - root

    Password:

    [root@ora11g ~]# mv /u02/database /     --将Oracle 原始安装文件转移到/分区

    [root@ora11g ~]# df

    Filesystem           1K-blocks      Used Available Use% Mounted on

    /dev/sda2              5944440   5440008    197592  97% /

    /dev/sdb1              8123168   5349900   2353976  70% /u02

    /dev/sda1               155543     11436    136077   8% /boot

    tmpfs                   517552    245624    271928  48% /dev/shm

 

    再次导入正常

    [oracle@ora11g ~]$ expdp scott/tiger directory=dmp dumpfile=tb_pt.dmp logfile=tb_pb.log tables=tb_pt parallel=3

 

    Export: Release 11.2.0.1.0 - Production on Sun Mar 13 18:34:51 2011

 

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

 

    Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

    With the Partitioning, OLAP, Data Mining and Real Application Testing options

    Starting "SCOTT"."SYS_EXPORT_TABLE_01":  scott/******** directory=dmp dumpfile=tb_pt.dmp logfile=tb_pb.log tables=tb_pt parallel=3

    Estimate in progress using BLOCKS method...          

    Processing object type TABLE_EXPORT/TABLE/TABLE_DATA

    Total estimation using BLOCKS method: 512 KB

    . . exported "SCOTT"."TB_PT":"SAL_OTHER"                 71.73 KB    2880 rows

    . . exported "SCOTT"."TB_PT":"SAL_11"                    12.45 KB     293 rows

    . . exported "SCOTT"."TB_PT":"SAL_12"                    14.23 KB     366 rows

    . . exported "SCOTT"."TB_PT":"SAL_13"                    14.21 KB     365 rows

    . . exported "SCOTT"."TB_PT":"SAL_14"                    14.20 KB     365 rows

    . . exported "SCOTT"."TB_PT":"SAL_15"                    14.21 KB     365 rows

    . . exported "SCOTT"."TB_PT":"SAL_16"                    14.22 KB     366 rows

    Processing object type TABLE_EXPORT/TABLE/TABLE

    Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX

    Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS

    Master table "SCOTT"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded

    ******************************************************************************

    Dump file set for SCOTT.SYS_EXPORT_TABLE_01 is:

      /u02/dmp/tb_pt.dmp

    Job "SCOTT"."SYS_EXPORT_TABLE_01" successfully completed at 18:35:59

时间: 2024-09-09 00:11:39

ORA-01658 错误的相关文章

Oracle数据库ORA 54013错误的解决办法_oracle

ORA-54013: 不允许对虚拟列执行 INSERT 操作 这是Oracle 11 的新特性 -- 虚拟列. 在以前的Oracle 版本,当我们需要使用表达式或者一些计算公式时,我们会创建数据库视图,如果我们需要在这个视图上使用索引,我们会创建基于函数的索引.现在Oracle 11允许我们直接在表上使用虚拟列来存储表达式.虚拟列的值是不存储在磁盘的,它们是在查询时根据定义的表达式临时计算的.我们不能往虚拟列中插入数据,我们也不能隐式的添加数据到虚拟列,我们只能使用物理列来插入数据.然后可以查询

plsql连接oracle数据库报ora 12154错误解决方法_oracle

plsql连接oracle数据库报ora 12154错误 今天遇到一个问题,使用sqlplus能够连接到远程的数据库,但是使用plsql却连接不上,报错"ORA-12154: TNS: 无法解析指定的连接标识符" 解决方法如下: 1.先检查服务器端的监听服务是否打开,如果没有打开请启动其监听 客户端:tnsping <tns_name> 服务器Linux下: #>lsnrctl status 查看监听状态 #>lsnrctl start 启动监听 2.通过Sql

oracle 11g导出数据时报ORA 1455错误的处理方法_oracle

由于导出的该用户的表可能存在空数据表,那么可能就会出现此其异常. 首先: 查看: SQL>show parameter deferred_segment_creation; 如果为TRUE,则将该参数改为FALSE: 在sqlplus中,执行如下命令: SQL>alter system set deferred_segment_creation=false; 然后: 可以针对数据表.索引.物化视图等手工分配Extent SQL>Select 'alter table '||table_n

ORA 00054错误处理方法

1.通过以下查找出已被锁定的数据库表及相关的sid.serial#及spid select object_name as 对象名称,s.sid,s.serial#,p.spid as 系统进程号 from v$locked_object l , dba_objects o , v$session s , v$process p where l.object_id=o.object_id and l.session_id=s.sid and s.paddr=p.addr; 2.在数据库中灭掉相关s

ORA-01653错误故障的解决

ORA-01653错误故障现象:用户反馈无法登录,WEBLOGIC日志显示ERROR 2010-08-17 23:05:36,889 JDBCExceptionReporter:logExceptions - ORA-01653: unable to extend table SYS.FGA_LOG$ by 8192 in tablespace SYSTEM 推理:从ORA-01653: unable to extend table SYS.FGA_LOG$ by 8192 in tablesp

ORA-00600错误:OPT_PARAM Hint saves the day

一个工程师使用嵌套子查询执行删除操作,抛出ORA-00600错误.在MOS的查阅工具上显示这个错误是由此 Bug引起的: Bug 16347248  ORA-600 [kkqjpdGetContext:1] parsing SQL with subquery 这个Bug提供的解决办法是执行ALTER SESSION命令. alter session set "_optimizer_unnest_disjunctive_subq"= FALSE; 相比改变全局会话,我们使用OPT_PAR

Oracle的常见错误及解决办法

                      ORA-12528: TNS:listener: all appropriate instances are blocking new connections     ORA-12528问题是因为监听中的服务使用了动态服务,实例虽然启动,但没有注册到监听.实例是通过PMON进程注册到监听上的,而PMON进程需要在MOUNT状态下才会启动.所以造成了上面的错误. 解决这个问题,有三种方法:1.把监听设置为静态:2.在tnsnames.ora中追加(UR=

oracle 内部错误参考信息

ora 600错误参考信息

备库中ORA-00600错误的简单修复

最近偶尔会接到一条短信,提示某个备库中出现了ORA-00600的错误.对于这个问题还真不能心存侥幸,自己带着疑问查看了一下, 这是一个一主两备的库,主库和其中的一个备库没有任何的ORA-00600的错误,只有这一个备库中偶尔会出现ORA-00600的错误. 这个问题如果放大还是很严重的,比如主库出现问题了,如果切换到这个备库,那么ORA-00600的错误就会直接转移过来,这个时候这儿备库就有点鸡肋的味道了.所以这个问题一种思路就是重新搭建备库,另外一种就是手工修复.我还是更希望通过手工修复的方式