ORA-01034: ORACLE not available ORA-27101

出现ORA-01034和ORA-27101的原因是多方面的:主要是oracle当前的服务不可用,shared memory realm does not exist,是因为oracle没有启动或没有正常启动,共享内存并没有分配给当前实例.所以,通过设置实例名,再用操作系统身份验证的方式,启动数据库。这样数据库就正常启动了,就不会报ORA-01034和ORA-27101两个启动异常了。

还有就是可能是登录数据库后,不正常的退出,比如直接关掉窗口,而这时数据库里有未完成的动作,再次登录时就会提示“insufficient privileges”的报错,SQL>shutdown immediate;SQL>startup;就恢复正常了。

最后可能你虚拟机的共享内存问题,看下数据库的配置文件是否对应了512M内存?还是你设置的大了,本身给的不足。

方法/步骤

先看oracle的监听和oracle的服务是否都启动了。

启动oracle监听:cmd命令行窗口下,输入lsnrctl start,回车即启动监听。

查看oracle的sid叫什么,比如创建数据库的时候,实例名叫“orcl”,那么先手工设置一下oralce的sid,cmd命令窗口中,set ORACLE_SID=orcl

再输入sqlplus  /nolog,回车

再输入 conn / as sysdba;回车

再输入startup,回车.这步是启动oracle服务。如果startup启动被告知已经启动了,可以先输入shutdown immediate;等shutdown结束之后,再输入startup。

过几秒钟等命令运行完成,就能连接了。这个时候,可以输入"select * from user_tables;"测试一下,看是否有查询结果。

ORA-12560: TNS: 协议适配器错误的解决方法

造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:

1.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务。

2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务面板,启动oracleserviceXXXX,XXXX就是你的database SID.

3.注册表问题。regedi 然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SID设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统变量--新建,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在command line下输set oracle_sid=XXXX,XXXX就是你的database SID.

ORACLE错误码及解决方法

以下内容均以错误码,错误名,错误原因,修改建议形式介绍。

ORA-00903    无效的表名    试图在不存在的表中创建的索引。设置正确的表名。

ORA-00904    无效的标识符    试图在不存在的列中创建的索引。检查表中的列名,并且确定应该使用的列名。

ORA-01408    已经索引过的列表    试图创建索引,而带有相同顺序的列集合已经存在。确保列具有正确的顺序,如果索引已经存在,就不需要再次创建该索引了。

ORA-00959    表空间已经存在    试图在不存在的表空间中创建索引。使用DBA_TABLESPACES或者USER_TABLESPACES视图来找出正确的表空间名称。

ORA-01418    指定的索引不存在    试图删除不存在的索引。检查ALL_INDEXES视图来确定要删除的索引的实际名称。

ORA-01631,ORA-01632    索引中可以达到的最大的区号    索引扩展超出了maxextents所设置的值,扩展操作将会失败。这时需要增大索引的maxextents设置值或者使用更大的initial和next设置值来重新创建索引。

ORA-01467    排序键太长    数据库会遇到排序操作的问题。这些问题可能是由于给过多的列排序造成的,或者可能是由于使用过多的组函数所造成的也有可能是由于ORACLE数据库自身运行的错误所造成的。应该使用ORDER BY子句来减少列的数目,这是因为一此排序操作受限于数据库的块大小。需要注意的是,这个错误与sort_area_size无关。

ORA-01031    权限不够    创建索引的权限不正确。如果在除自己模式外的另一个模式中创建索引,则需要确保拥有create any index的权限;如果创建基于函数的索引,则需要确保拥有query rewrite的权限。

ORA-01654     不能表空间中扩展对象    "数据试图向所列出的索引中添加额外的区,而该操作执行失败,可能产生的原因是:
1.    表空间中的空闲空间已用尽
2.    在表空间中没有足够的相邻数据文件存在
3.    Pctincrease设置的值不正确
解决办法包括向表空间添加空间或者为索引重新设置next 参数值"。

ORA-02243    修改索引或修改物化视图的选项无效    使用了有语法错误的alter index命令。检查命令的正确性并且更正命令。

ORA-02429    不能删除用于强制使用唯一性键/主键约束的索引    试图删除用于强制使用表的主键或者唯一性键约束的索引。需要删除该约束来使索引得以删除。

ORA-01452    不能创建唯一性索引    试图在表中创建唯一性索引,而索引中的行不是唯一的。在试图重新创建的UNUSABLE索引,并且失败的数据加载操作创建了重复键的时候也可能发生这个错误。

ORA-0922    缺少选项或无效选项    试图使用无效的选项来创建视图。通过检查以确保已经正确地定义了视频的约束,包括disable novalidate键的使用。

ORA-0942    表或视图不存在    在不存在的表中创建视图。检查CREATE VIEW语句的语法是否正确

ORA-1779    不能修改映射到非键保留表中的列    试图在没有保留的的视图上执行DML语句。检查视图上所使用语句的语法,确定没有键保留的原因。检查该视图所有的表是否都有主键。对该视图进行改写并重新创建,然后重新执行该DML语句。

ORA-2261    表中已经存在唯一性键或主键    要在视图上创建视图约束,但类似的约束已经存在。

ORA-2443    不能删除约束——不存在的约束    试图删除不存在的约束。

ORA-4031    视图view_name有错    要使用的视图是无效的。重新编译该视图,然后使用show errors命令以确定产生这个问题的原因。可能是缺少视图所要调用的表、过程或者函数

ORA-00904    无效标识符    发出引用列的语句,而该列在引用 对象中不存在。例如:试图创建没有集群键的集群。

ORA-00906    缺少左括号    在使用的语句中存在语法错误。找出该错误,修改后重新执行这个语句。

ORA-00907    缺少右括号    在使用的语句中存在语法错误。找出该错误,修改后重新执行这个语句。

ORA-00941    缺少集群的名称    在create cluster命令中忘记包含集群的名称

ORA-00943    集群不存在    对一个不存在的集群发出alter cluster or drop cluster语句

ORA-00944    集群中的列数目不足    试图创建加入到集群中的表,但是表中没有包含足够数量的列来与集群相匹配。

ORA-00945    集群中所指定的列不存在    试图创建加入到集群中的表,但是没有在集群中指定正确的列。

ORA-00951    要删除非空的集群    试图删除非空的集群。应该先删除加入到集群中的表,或者使用including table子句来解决该问题。

ORA-00955    想要使用的名称正在由已存在的对象使用    想要使用的名称在表空间中已经存在。确定哪个对象正在使用这个名称,然后确定是否应该对该对象或者所创建的表进行重新命名。

ORA-00959    表空间不存在    试图在不存在的表空间创建对象。检查在CREATE 语句中使用的表空间名称,或者创建表空间。

ORA-01031    权限不够    没有足够的权限来执行请求操作。数据库管理员应该使用GRANT命令来授予合适的权限。

ORA-01447    ALTER TABLE命令不能用于集群中的列操作    在ALTER TABLE MODIFY命令中所指定的列是集群键的一部分不允许修改集群键中的列。

ORA-01655    不能在表空间中扩展集群    集群在列出的表空间中没有足够的空间来分配给另一个区。给该表空间分配更多的空间。

ORA-01656    达到了集群中最大的区号    集群中的区号已经达到了规定区号的最大值。使用ALTER CLUSTER命令将集群存储参数中所允许的最大区号更改为更大的数字。

ORA-01701    所使用的集群不合适    试图在语句中指定集群的名称,而在该语句中不允许出现这个集群。需要修改这个语句来解决该问题。

ORA-01715    UNIQUE子句不能用于集群索引中    试图使用UNIQUE子句来创建集群索引,不允许执行该操作。

ORA-01716    向集群中加入表的列定义与该集群中的列定义不相兼容    试图向集群中添加一个表,而该表列的数据类型与该集群键的列数据类型不相同。可以通过使用不同的列数据类型,或使数据类型相匹配来解决这个问题。

ORA-01769    多次使用CLUSTER选项说明    当创建用来加和集群中的表时,试图指定两个或多个CLUSTER子句。应该仅使用一个CLUSTER子句。

ORA-01770    在CREATE CLUSTER命令中不允许出现CLUSTER选项    试图在CREATE CLUSTER命令中添加CLUSTER子句。应该将该子句删除。

ORA-01771    在使用集群中表的命令时包含了不合法的选项    当在集群的表中使用ALTER命令或者CREATE命令时,试图包含下面选项中的一个:
intrans\maxtrans\pctfree\pctused\storage\tablespace.这些选项只允许在集群的ALTER命令或CREATE命令中使用,而不允许在集群中表的ALTER命令或CREATE命令中使用。

ORA-01782    不能为集群或集群中的表指定UNRECOVERABLE子句    试图使用UNRECOVERABLE子句来创建集群。不允许执行该操作。

ORA-01794    集群键列的最大数目为32    创建集群所使用的集群键列的数目超过了32。最多只能使用32列集群键来创建集群。

ORA-02033    为集群创建的集群索引已经存在    在集群上所要创建的索引已经存在。

ORA-2202    不允许向集群中添加更多的表    向集群中添加表的数量超过了32个。在集群中最多使用32个表。

ORA-02227    无效的集群名    在语句中包含了无效的集群名。应该使用有效的集群名称。

ORA-02228    多次出现SIZE子句    在语句中包含了两个或多个SIZE子句。应该仅使用一个SIZE子句。

ORA-02229    无效的SIZE选项值    所指定的SIZE值无效。应该使用正确的SIZE值。

ORA-03292    执行截断操作的表是集群的一部分    想要执行截断操作的表是集群中的一部分。不允许执行该操作。应该使用TRUNCATE CLUSTER命令来解决这个问题。

ORA-00955    想要使用的名称正在由已存在的对象使用    试图分配给序列的名称已经由数据库名称空间中的对象使用了。应该确保该序列在命名空间中尚未存在。

ORA-04003    序列参数START WITH超出了允许的最大大小(28位)    选择使用较小的START WITH参数值。

ORA-08004    序列号超出了MAXVALUE的值,并且不能实例化该序列    已经用完了给定序列中所有可用的序列号。可以选择用来删除和重新创建序列。可以使用ALTER SEQUENCE命令为序列增大MAXVALUE的设置值;或者使用ALTER SEQUENCE CYCLE来允许索引循环。

ORA-02287    该位置不允许使用序列号    试图在SQL中不允许使用序列的位置上使用序列。检查SQL语句,找到语句中使用的不合法序列号。

ORA-01722    无效的数字    该错误通常表明在CREATE SEQUENCE命令中使用了不正确的语法。检查该命令,确保所执行的命令正确。

ORA-01031    权限不够    没有创建序列所需要的权限。让数据库管理员授予合适的权限,然后重新执行创建操作。

ORA-04014    CYCLE类型的递减序列必须指定MINVALUE参数    定义一个递减序列,并且定义该序列的类型为CYCLE类型。需要添加MINVALUE参数来指定该序列何时进行循环。

ORA-04015    CYCLE类型的递增序列必须指定MAXVALUE参数    定义一个递增序列,并且定义该序列的类型为CYCLE类型。需要再添加MAXVALE参数来指定该序列何时进行循环。

ORACLE报错和解决方案的更多相关文章

  1. Oracle报错:“ORA-18008: 无法找到 OUTLN 方案 ”的解决方案

    Oracle报错:“ORA-18008: 无法找到 OUTLN 方案 ”的解决方案   2.修改replication_dependency_tracking参数 SQL> alter syst ...

  2. Oracle报错:"ORA-18008: 无法找到 OUTLN 方案 "的解决方案

    Oracle报错:"ORA-18008: 无法找到 OUTLN 方案 "的解决方案     今天连接到Oracle报错:ORA-18008: 无法找到 OUTLN 方案,前天还用得 ...

  3. 安装完oracle11g_2x64位数据库后使用PL Developer链接oracle报错“请确认是否安装了32位oracle和TNS错误”解决方案

    解决使用PL Developer登录oracle报错没有配置TNS错误.首先安装好oracle11g数据库,安装PL developer32位 1,下载“instantclient-basic-win ...

  4. Mysql only_full_group_by以及其他关于sql_mode原因报错详细解决方案

    Mysql only_full_group_by以及其他关于sql_mode原因报错详细解决方案 网上太多相关资料,但是抄袭严重,有的讲的也是之言片语的,根本不连贯(可能知道的人确实不想多说) 我总共 ...

  5. ELK报错及解决方案

    ELK报错及解决方案 1.jdk版本问题 报错如下: future versions of Elasticsearch will require Java 11; your Java version ...

  6. 关于Entity Framework中的Attached报错相关解决方案的总结

    关于Entity Framework中的Attached报错的问题,我这里分为以下几种类型,每种类型我都给出相应的解决方案,希望能给大家带来一些的帮助,当然作为读者的您如果觉得有不同的意见或更好的方法 ...

  7. 新手常见的python报错及解决方案

    此篇文章整理新手编写代码常见的一些错误,有些错误是粗心的错误,但对于新手而已,会折腾很长时间才搞定,所以在此总结下我遇到的一些问题.希望帮助到刚入门的朋友们.后续会不断补充. 目录 1.NameErr ...

  8. 案例:Oracle报错ASM磁盘组不存在或没有mount

    案例:Oracle报错ASM磁盘组不存在或没有mount 环境:RHEL 6.5 + Oracle Standby RAC 11.2.0.4 我做Standby RAC实验时,在恢复控制文件时,报错无 ...

  9. Oracle报错#“ORA-01791: 不是 SELECTed 表达式”解决方法

    今天遇到一个Oracle报错,写篇博客记录一下 简单看一下下面这个sql,这也查询是没报错的 select a.area_seq, a.area_name from t_unit_area a WHE ...

随机推荐

  1. spring MVC请求处理类注解属性详解

  2. 解决tab标签页,相同id时切换失灵的问题

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. python爬虫之git的使用(github的使用)

    上面博文中我们简单的了解了一下基本的git操作,但是我们都是将代码放到了本地的仓库里面,但是如果我们是一个团队开发的话,肯定不会放到每个人的本地,必须得有个统一的地方存放代码,国外的大家都在使用git ...

  4. fiddler 笔记-设置断点

    设置断点后,可以修改httprequest的任何信息包括:host,cookie或都表单中的数据 1 Fiddler--rules--Automatic Breakpoint --before Req ...

  5. vue監聽屬性

    使用$watch,就是監聽到某個值發生變化,執行回調函數.

  6. oracle数据库备份和恢复

    参考地址:https://www.cnblogs.com/1175429393wljblog/p/9529334.html Oracle数据导入导出imp/exp 在cmd的dos命令提示符下执行,而 ...

  7. Java使用RabbitMQ之消息确认(confirm模板)

    RabbitMQ生产者消息确认Confirm模式,分为普通模式.批量模式和异步模式,本次举例为普通模式. 源码: package org.study.confirm4; import com.rabb ...

  8. Lodop“对象不支持SET__LICENSES属性或方法”SET__LICENSES is not a function”

    Lodop中的方法如果书写错误,就会报错:“对象不支持XXX属性或方法”调试JS会报错”SET__LICENSES is not a function” LODOP.SET_LICENSES是加注册语 ...

  9. 自定义 ASP.NET Identity Data Model with EF

    One of the first issues you will likely encounter when getting started with ASP.NET Identity centers ...

  10. LitJson的用法

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...