`

数据库常见错误001

阅读更多

1)    OracleDBConsoleorcl无法启动

错误代码2

解决:

在命令行下输入emctl  start dbconsole

提示报错,ORACLE_SID没有定义

输入

  set ORACLE_SID=ORCL  (ORCL是我的实例名,也是服务名)

没有问题,接着继续输入

  emctl start dbconsole

提示

  OC4J Configuration issue.D:oracleproduct10.2.0db_1/oc4j/j2ee/OC4J_DBConsole_192.168.1.103_orcl not found.

复制一份j2ee下的OC4J_DBConsole_HOSTNAME_orcl文件夹,重命名为OC4J_DBConsole_192.168.1.103_orcl,复制一份db_1下的HOSTNAME_orcl文件夹,重命名为192.168.1.103_orcl

最后重新启动dbconsole,服务启动成功        

2)    ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

  从字面判断是监听器的错误,于是重新配置了监听器,重启监控器服务,还是不能解决问题。

    最后与正常的Oracle机上的listener.ora比较了一下,比对结果如下:

 

非正常Oracle配置:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (PROGRAM = extproc)
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\Server\oracle\product\10.2.0\db_1)
    )
  )

 

正常Oracle配置

SID_LIST_LISTENER =
 
(SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = E:\Server\oracle\product\10.2.0\db_1)
      (SID_NAME = ORCL)
    )

    (SID_DESC =
      (PROGRAM = extproc)
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\Server\oracle\product\10.2.0\db_1)
    )

  )

 

    上面已经用红色字体标示出来了,同事机器上的监听器配置文件中,SID列表中没有本地数据库配置。于是将数据库添加到SID列表中,重启监听器,一切正常喽。

3)    ORA-12560: TNS:协议适配器错误

环境变量配置

Environment(环境)〗

    OSWINDOWS XP

    DBORACLE 10.2

Symptom(现象) 〗

启动sqlplus,然后登陆数据库,出现错误,具体信息如下:

C:\Documents and Settings\netshong>sqlplus

SQL*Plus: Release10.2.0.1.0 - Production on星期一724 13:46:02 2006

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

请输入用户名: sys as SYSDBA

输入口令:

ERROR:

ORA-12560: TNS:协议适配器错误

Cause(原因)〗

    这是由于环境变量ORACLE_SID没有设置或者设置错误所造成的。在启动sqlplus以前,我们在DOS窗口的命令行执行了这样的命令:set Oracle_sid=BBC。这个命令设置的SIDBBC)不存在,所以造成了ORA-12560错误。

Action(方法)  

n        方法一:设置正确的ORACLE_SID,然后登录数据库。

Step01设置ORACLE_SID

C:\> set ORACLE_SID=wm

wm是实例(instance)的名字。

Step02登录数据库。

C:\Documents and Settings\netshong>sqlplus

SQL*Plus: Release10.2.0.1.0 - Production on Sun Nov 19 06:23:52 2006

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

Enter user-name: sys as SYSDBA

Enter password:

Connected to:

Oracle Database10gEnterpriseEdition Release10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL>

成功登陆数据库。

n        方法二:连接数据库时,使用网络服务名(Net Service Name)

C:\Documents and Settings\netshong>sqlplus

SQL*Plus: Release10.2.0.1.0 - Production on Mon Sep 4 09:37:15 2006

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

Enter user-name: sys@wm as SYSDBA

Enter password:

Connected to:

Oracle Database10gEnterpriseEdition Release10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL>

这里使用网络服务名(Net Service Name)wm连接数据库,网络服务名(Net Service Name)wm是在ORACLE网络中进行配置的。

4) ORA-12518 TNS:监听程序无法分发客户机连接
一、listener文件中的GLOBAL_DBNAME ,SID_NAME可能与实例名称不符,修改后,重启listener.
二、专有模式下。专有服务器模式下processes值设的过小。可通过以下方法解决:
  1.cmd
  2.sqlplus
  3.connect sys/test as sysdba
  4.查看会话数、processes、sessions
    SQL> select count(*) from v$session;
         COUNT(*)
 
        ----------
           45
   SQL> show parameter processes
    NAME                    TYPE     VALUE
    db_writer_processes             integer     1
    gcs_server_processes            integer     0
    job_queue_processes            integer     10
    log_archive_max_processes         integer     2
    processes                 integer     50
     SQL> show parameter sessions
    NAME                     TYPE     VALUE
    java_soft_sessionspace_limit        integer     0l
    icense_max_sessions            integer     0
    license_sessions_warning          integer     0
    logmnr_max_persistent_sessions       integer     1
    sessions                  integer     60
    shared_server_sessions               integer
    5.修改processes和sessions值:sessions=(1.1*process+5)
    SQL> alter system set processes=300 scope=spfile;
          系统已更改。
      SQL> alter system set sessions=335 scope=spfile;
        系统已更改。
    6.重启数据库,使更改生效
三、共享模式下
 1.show parameters dispatchers;
  NAME          TYPE             VALUE
dispatchers         string           (protocol=tcp)(service=oracle10xdb)
 max_dispatchers      integer
 2.确定是否有足够的dispatchers
  SQL> select name, (busy/(busy + idle)) "dispatcher busy rate" from v$dispatcher ; 
    NAME dispatcher busy rate
    ---- --------------------
    D000           .000121704
    D001           .000042597
    D002           .004935402
    如果超过50%,则需要考虑增加更多的dispatchers;
 3.改变dispathchers:
 SQL>alter system set dispatchers = '(protocol=tcp)(dispatchers=3)(service=oracle10xdb)';
    system altered
四、SGA问题。
32位的WIN2003系统ORACLE单进程的限制为1.7G,对于超过的内存,ORACLE也无法使用,导致ORACLE在高峰期对客户机分配到一定数量的时候,导致ORACLE可用的内存不足,导致以上提示..此时,只有通过降低SGA的大小,以使得ORACLE有更多的内存可以对客户端进行分配.
      经检查,现场的托管服务器环境为:32位的WIN32以及32位的ORACLE..直接导致ORACLE能够使用的内存不超过1.7G,对SGA的大小进行一定量的减少,系统基本不再出现无法分配的问题。
降低系统的SGA大小
        查看SGA的大小:
        SQL> show parameter sga
       同时修改sga_max_size和sga_target
       SQL>  alter system set sga_max_size=1000M scope = spfile;
       SQL>  alter system set sga_target=1000M scope = spfile;

5)    oracle ORA-01017 用户无法通过PL-SQL登录

oracle的之前版本时,用户名密码是大小写不敏感的, 但在11g, 数据库默认密码的大小写是敏感的,
其实很简单, 那就是去除oracle的密码大写敏感设定:alter system set sec_case_sensitive_logon=false

6)    ORA-00979 不是 GROUP BY 表达式

Group by select中字段的错误

Group by中的字段可以不出现在select中,但是select中出现的字段必须在Group by中显示,聚合函数除外

例如下面的例子就会出现这个错误:

SQL> select deptno,job,avg(sal)  from emp  group by deptno;

select deptno,job,avg(sal)

ERROR 位于第 1 :

ORA-00979: 不是 GROUP BY 表达式

这里就是因为在select 列表像中出现了像deptnojob,而在group by中并没有出现的缘故。

以上的错误纠正为:

Select deptno,job,avg(sal) from emp Group by deptno,job;

 

0
0
分享到:
评论

相关推荐

    导入数据库常见错误,方法经验总结

    本文将对一些常见的数据库导入错误及其解决方案进行详细讲解。 1. **连接数据库时提示密码出错** 当你尝试连接数据库时收到密码错误的提示,这通常意味着数据库的登录凭证发生了变化。解决这个问题的方法是在你的...

    Oracle数据库常见错误处理方法

    ### Oracle数据库常见错误处理方法 #### 一、概述 在Oracle数据库的安装及日常使用过程中,用户可能会遇到各种各样的错误。这些错误不仅会影响到数据库的正常运行,还可能导致数据丢失等严重后果。本文将详细介绍...

    c#.net里面的数据库常见错误解决,以及演示

    本文将深入探讨C#.NET中数据库常见错误的解决方案,并展示如何有效地使用控件如GridView来处理数据。 首先,让我们了解ADO.NET的核心组件。主要包括Connection(连接对象)、Command(命令对象)、DataReader(数据...

    oracle数据库常见错误码

    "Oracle数据库常见错误码"这个主题涵盖了Oracle系统中可能遇到的错误代码及其解释。 错误码是Oracle数据库在遇到异常或错误时返回的一串数字,通常以两位或三位数字表示,如00000到99999。这些错误码提供了关于问题...

    oracle数据库操作常见错误以及解决方案

    Oracle数据库在运行过程中可能会遇到各种...通过监控数据库性能、定期备份和及时调整资源分配,可以有效地预防和解决这些常见错误。对于初学者来说,了解这些错误的原因和解决方法是掌握Oracle数据库管理的关键步骤。

    oracle数据库常见错误解决办法

    然而,即便是这样成熟的数据库系统,在日常使用中也会出现各种各样的问题,这要求用户必须了解常见的错误以及其解决办法,才能保证数据库的正常运行。 在本课程中,我们将主要讨论Oracle 11g数据库的常见故障以及...

    MySQL数据库常见错误提示的对照表[借鉴].pdf

    MySQL 数据库常见错误提示的对照表 MySQL 是一个广泛使用的关系数据库管理系统,然而,在使用 MySQL 的过程中,我们常常会遇到各种错误提示。这些错误提示可能是由于各种原因引起的,包括数据库设置不当、服务器...

    数据库常见问题汇总

    数据库常见问题汇总 很多常见的ora错误解决方案

    Delphi数据库应用程序中常见错误

    Delphi数据库应用程序中常见错误 Delphi数据库应用程序中常见错误

    Oracle数据库常见问题诊断方法

    ### Oracle数据库常见问题诊断方法 #### 一、常见错误篇 这部分主要聚焦于Oracle数据库在操作过程中可能遇到的一系列典型错误代码,包括但不限于ORA-12571、ORA-03113、ORA-03114、ORA-01041等。这些错误通常与...

    oracle11g数据库常见故障处理

    ### Oracle 11g 数据库常见故障处理 #### 一、概述 Oracle 11g 数据库作为一款广泛使用的数据库管理系统,在实际应用过程中难免会遇到各种各样的问题。本文档旨在帮助用户理解并解决Oracle 11g 数据库中常见的故障...

    Oracle数据库操作常见错误及解决方案[借鉴].pdf

    Oracle数据库操作常见错误及解决方案[借鉴].pdf

    Asp常见的连接access数据库的错误

    错误类型:"Microsoft OLE DB Provider for ODBC Drivers (0x80004005)",通常伴随着错误信息 "[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for ...

    Oracle数据库常见问题诊断-常见错误篇

    ### Oracle数据库常见问题诊断-常见错误篇 #### 1. ORA-12571、ORA-03113、ORA-03114 和 ORA-01041 错误 **问题描述:** - **ORA-12571:** 这个错误通常与网络连接问题有关,特别是在客户端尝试访问数据库服务器...

    Delphi数据库应用程序常见错误

    本文将详细探讨Delphi数据库应用程序中的常见错误,包括其背后的原因以及相应的解决策略,帮助开发者提高代码质量,确保应用程序的顺利运行。 ### 1. DataSource未正确初始化 DataSource组件是Delphi数据库应用...

    数据库开发者常犯的十大错误.doc

    此外,不关注数据库性能监控和调优也是常见错误。定期评估数据库性能,调整参数设置,优化查询语句,是保证数据库高效运行的关键。最后,安全性和备份策略也常被忽视,不安全的权限设置和缺乏定期备份可能导致数据...

    报表部署数据库常见问题解析

    ### 报表部署数据库常见问题解析 #### 一、引言 在Web环境中部署报表时,经常遇到数据库连接出错的问题。这些问题对于初学者来说尤为棘手,因为它们往往涉及到多个层面的技术细节。本文将针对这些常见的数据库连接...

    PostgreSQL数据库中的常见错误

    PostgreSQL数据库中的常见错误 operator does not exist: character = integer LOG: number of page slots needed (X) exceeds max_fsm_pages (Y)

Global site tag (gtag.js) - Google Analytics