oracle报错汇总

1. ORA-01589  启动报错

解决方法:alter database open resetlogs;

 

 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

2. impdp/expdp导入导出出现ORA-39006 ORA-39213错误

impdp sys/oracle SCHEMAS=EARADMIN directory=PUMP_DIR dumpfile=EARADMIN.dmp logfile=EARADMIN02.log

出现以上报错。要求进行以下操作修复

execute  sys.dbms_metadata_util.load_stylesheets;

执行上述操作时,又有了另外一个报错

 

ORA-25153

**** 注意,这里 4 修改temp文件的时候 可以按上述直接创建一个dbf文件。

 

 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

3. ORA-39001: invalid argument value

ORA-39000: bad dump file specification
ORA-39142: incompatible version number 5.1 in dump file "/oracle/oracle_data/dmp/heBei/dx/ecm20181226.dp"

dmp文件是exp导出的,但是却是用impdp导入

 

 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

4.ORA-00020: maximum number of processes (1000) exceeded

这个报错是因为oralce的线程数太多了导致的,此时用:

ps -ef|grep LOCAL               --可以看到很多连接

 

使用os命令kill掉一些进程以释放资源     --head 取前10条
ps -ef|grep LOCAL=NO|grep -v grep|awk '{print $2}'|head|xargs kill -9     --这样一次只能删10条。暂无其他好方法,执行多次后,sqlplus / as sysdba即可使用

 

 

 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

5. ORA-00844: Parameter not taking MEMORY_TARGET into account

ORA-00851: SGA_MAX_SIZE xxx cannot be set to more than MEMORY_TARGET xxx.

 

 

1.      简介

Oracle 11g中,ORACLE把SGA与PGA统一管理,总和为memory_target参数的设定,也就是MAX(SGA+PGA)<= memory_target(当然可以在创建新实例的时候确定是否使用这种方案,在10g中是没有的)。

如果错误设定sga_max_size>=memory_target(相等也不行,PGA至少需要大概十几M内存),则无法进行startup nomount,但是修改SGA命令又需要至少在startup nomount下面执行,所以必须使用另一种方式修改该参数。

 2. 修改SGA与memory_target 大小

在SGA大于memory_target的情况下,使用startup nomount会出现异常:

ORA-00844: Parameter not taking MEMORY_TARGET into account

ORA-00851: SGA_MAX_SIZE 1073741824 cannot be set to more than MEMORY_TARGET 872415232.

 

这时候需要执行以下步骤:

SQL> create pfile='/home/oracle/init0321.ora' from spfile;

File created.

SQL> !vi /home/oracle/init0321.ora

然后修改:

*.memory_target=1073741824

*.sga_max_size=805306368

*.sga_target=805306368

 

sga_max_size等于memory_target会出现,

ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 1036M,

因为PGA还需要部分空间

 

SQL> startup pfile='/home/oracle/init0321.ora';

SQL> create spfile from pfile='/home/oracle/init0321.ora';

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup;

 

Pfile与spfile默认位置:

Spfile  ${ORACLE_INSTALL_PATH}/product/11.2.0/dbh ome_1/dbs/spfileorcl.ora

 

如果参数没指定pfile位置,则默认使用下面文件

Pfile  ${ORACLE_INSTALL_PATH}/product/11.2.0/dbhome_1/dbs/ initorcl.ora


 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

6.ORA-03113: 通信通道的文件结束解决方法一例————————

执行以下脚本出现 ORA-03113的错误

SELECT ROW_.*, ROWNUM ROWNUM_ FROM (  

select  XXXX FROM ASK_LEAVE_ORDER A where A.state = 1 AND A.audit_state = 0 AND A.AUDITOR_ID = 3 ) where 1=1  ORDER BY dispatchDate DESC 

 ) ROW_  WHERE ROWNUM <= 57

解决办法:

1.输入“sqlplus”   账号   密码 
 
登录出现问题的用户


2.输入“alter system set cursor_sharing=similar;”

3.show parameter cursor_sharing”,确认 cursor_sharing是否已修改

4.最后,执行“alter system flush shared_pool;”,即可修复“ORA-03113: 通信通道的文件结束”错误

 

 

7、ORA-01652: 无法通过128(在表空间TEMP中)扩展 temp 段————————

1)用户缺省表空间查询:

SQL>select username,temporary_tablespace from dba_users;

USERNAME                       TEMPORARY_TABLESPACE
------------------------------ ------------------------------
ISGIS                                  TEMP
SCOTT                               TEMP

 

2)表空间包含的数据文件:

SQL>select name from v$tempfile;

NAME
-----------------------------------------------
/opt/ora10g/oradata/gis/temp01.dbf

 

3)创建新表空间:

SQL>create temporary tablespace TEMP2 TEMPFILE '/opt/oracle/database/oradata/gis/temp02.dbf ' SIZE 512M REUSE AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;

 

4)修改系统默认表空间及确认:

SQL>alter database default temporary tablespace temp2;
Database altered

SQL>select username,temporary_tablespace from dba_users;
USERNAME                       TEMPORARY_TABLESPACE
------------------------------ ------------------------------
XMJL                                  TEMP2
MDDATA                           TEMP2

 

5)删除旧表空间(可以不删):

SQL>drop tablespace temp including contents and datafiles;
 Tablespace dropped

 

 

8、ORA-28040: No matching authentication protocol

出现此问题的原因是低版本的jdbc连接高版本oracle导致的。有2中解决办法:

1.可以修改oracle服务端的连接许可版本。-自行百度

2.升级客户端。

如果plsql出现此问题,下载新的instantclient_12_2。配置plsql启动项即可。如何配置百度

如果应用启动的时候出现此问题,升级ojdbc的jar包。比如我要连接12.2的oralce 但是使用ojdbc6进行连接,就会出现以上报错。升级到ojdbc7或者ojdbc8即可解决问题

 

posted @ 2018-10-29 15:23  林被熊烟岛  阅读(730)  评论(0编辑  收藏  举报