1. 先在google, 论坛,metalink, online document 里搜索.

    在这里提供Oracle 一些常见的连接地址,包括Oracle 下载地址,Oracle 对个人用是免费的。 所以你可以放心的从官网下,而且我也建议从官网下。 注册一个帐号就可以了。 免费注册的。



  Oracle 9i 在线文档: http://download.oracle.com/docs/cd/B10501_01/index.htm

 Oracle 10g 在线文档: http://www.oracle.com/pls/db102/homepage

  Oracle 11g 在线文档: http://www.oracle.com/pls/db111/portal.all_books

  Oracle 10g/11g 下载地址: http://www.oracle.com/technology/software/products/database/index.html

 

  在提问前,应该先自己尝试去解决问题。  一些功能和语法,可以直接在online document中查到。    在alert log里发现了报错信息或者在运行时发现了报错信息,那么,最简单的做法就是将错误信息或者错误号先在google/metalink/论坛里搜索一下。  Oracle 的错误都是以ORA-xxx 形式的,可以直接在google 搜索这些关键字。 说不定就有解决方法。 还可以功过这个网站进行查询相关的错误解释和解决方法:


Http://ora-0600.ora-code.com

http://ora-00067.ora-code.com/

把这里的ora-xxx 换成你自己的错误代码就可以了。



2. 写清楚log, 报错信息,DB version , OS

    描述不清提问的大忌之一,如“我的SQL出错了”,“我的什么操作,为什么不成功”,"跪求.." , 这些是最典型的错误提问方式。原始的信息是最重要的…

    写清楚DB的version以及OS, 因为在不同的 DB version , OS之间,很多特性都不一样。

    可以从select * from v$version 查看到DB version。还有就是出现错误前的一些操作步骤。比如升级。 

    对于unix或者linux平台可以通过uname -a 命令查看相关信息。

   

3.  实例方面的问题,请贴出alertlog

   常说要养成看alert log的习惯,最好是条件反射,数据库出现问题就去看alert log, 这里面有很多非常有用的信息。  alert log的位置,在$ORACLE_BASE/admin/$ORACLE_SID/bdump下。确切的说应该是在 db parameter background_dump_dest定义的目录底下。如果没有定义background_dump_dest,那么,会在$ORACLE_HOME/rdbms/log底下。  如果在alert log里面提到了TRACE FILE,
最好一起贴出相关的TRACE FILE。   



4.  Network的问题

   和网络相关的元素就那么几个,一个是自身网络的,而是相关参数。 这里面设计到的参数文件包括tnsnames.ora 和 listener.ora。 这2个配置文件通常都在 $ORACLE_HOME/network/admin底下,如果定义了环境变量TNS_ADMIN,那么配置文件在$TNS_ADMIN底下。

   我们可以手动的修改这些文件,当然不推荐这么做。 因为tnsnames.ora 这个文件比较敏感,就是多个空格都会报错,但是对于空格,我们一般是不容易发现的。 最好的方法是通过net manager 工具来配置,配完后还可以测试一下。 在写地址的时候,尽量写IP地址,不要写机器名。

关于net manager 工具的使用,参考blog:

Oracle 数据库监听配置

http://blog.csdn.net/tianlesoftware/archive/2009/11/25/4861572.aspx



   还有,在连接其他数据库之前,要确保相应的监听是开启的。 如果说没有开启,是肯定连不上的。

命令:lsnrctl start/stop/status

如果listener不是默认的,还需要加上listener名:lsnrctl start/stop/status listener_name





5. SQL 相关的内容

    SQL 的问题,基本语法有关系,而且它报错也很明显,可以直接google或者查看在线文档。 如果还是不能解决,在发帖的时候,请把相关的表结构和测试数据的创建SQL,index情况,Table的record数,table是否analyze等信息一并贴出来。 这样也方便大家一起查看。



    还有对于SQL 性能的,最好一并贴上执行计划。 这样一看也就明了。

    可以在sqlplus 开启autotrace, 在执行命令后也能看到相关的执行计划:

SQL>set autot on;

    或者通过如下SQL 语句:

(1)SQL>EXPLAIN PLAN FOR 你的sql语句;

             如 SQL>EXPLAIN PLAN FOR SELECT * FROM EMP WHERE EMPNO=7369;

       (2)SELECT plan_table_output FROM TABLE(DBMS_XPLAN.DISPLAY('PLAN_TABLE'));



6.  数据总体性能问题

    关于这类问题,先对数据库的整体状态做个查看。9i可以通过statspack, 10g以后可以用AWR,ASH。

  Oracle AWR 介绍

  http://blog.csdn.net/tianlesoftware/archive/2009/10/17/4682300.aspx

statspack安装使用 和 report 分析

  http://blog.csdn.net/tianlesoftware/archive/2009/10/17/4682329.aspx



这些也可以用Toad 等工具,在界面上进行操作。

 

     还有就是留意数据库服务器的CPU 和内存使用情况。 Linux 下可以用vmstat命令或者top命令

Unix vmstat 命令

http://blog.csdn.net/tianlesoftware/archive/2010/04/09/5464408.aspx

本文转自:http://bbs.csdn.net/topics/340214440

oracle解惑的更多相关文章

  1. Oracle Latch的学习【原创】

    Latch详解 - MaxChou 本文以学习为目的,大部分内容来自网络转载. 什么是Latch 串行化 数据库系统本身是一个多用户并发处理系统,在同一个时间点上,可能会有多个用户同时操作数据库.多个 ...

  2. oracle 中的truncate 和delete

    一.查询表大小,块多少语句 Select SEGMENT_Name,BYTES,BLOCKS,Extents From dba_segments Where segment_name In('BAI_ ...

  3. ORACLE+PYTHON实战:复制A表数据到B表

    最近在学习python ,看到了pythod的oracle,不仅可以一次fetch多条,也可以一次insert多条,想写一个复制A表数据到B表的程序来看看实际效率能不能提高.写完发现,非常惊艳!效率提 ...

  4. Oracle数据库创建用户小结

    前言:使用Oracle开发系统过程中,会涉及到数据库用户的建立,及给该用户分配权限.刚开始接触开发的时候,对这些操作是一种茫茫然的状态.后,经过积累,对这方面有了一定的认识,现总结一些,一则,巩固自身 ...

  5. Linux下安装oracle的步骤和一些问题

    今天在Linux64位系统安装oracle数据库,折腾了一天,终于搞定了,现在把安装步骤梳理下,防止以后忘记:    (以下内容来自http://blog.163.com/junwu_lb/blog/ ...

  6. [转]oracle update set select from 关联更新

    本文转自:http://blog.csdn.net/disiwei1012/article/details/52589181 http://www.blogjava.net/Jhonney/archi ...

  7. 【Oracle错误集锦】:PLSQL无法直连64位Oracle11g数据库

    背景:Oracle数据库装在本机上,使用PLSQL连接. 今天安装完Oracle 11g数据库后.用plsql连接数据库死活都连接不上.而且plsql客户端登录窗体的Database下拉框还为空.见下 ...

  8. 解惑rJava R与Java的高速通道

    解惑rJava R与Java的高速通道 R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大. R语言作为统计学一门语言,一直在小众领域闪耀着光芒. ...

  9. Oracle分析函数入门

    一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...

随机推荐

  1. 神奇的container_of

    container_of是linux内核中常用的一个宏,这个宏的功能是,根据某个结构体字段的指针,找到对应的结构体指针. 话不多说,先上源码: /** * container_of - cast a ...

  2. [Firebase] 3. Firebase Simple Login Form

    Using $firebaseSimpleLogin service. Here we use three methods for login, logout, register and getCur ...

  3. LoadRunner录制:事务

    背景 LoadRunner 会对事务的性能指标进行记录. 添加事务也是为了在测试的时候统计这段脚本运行时用的时间等等,方便定位性能瓶颈. 一个事务可以包含一个请求,也可以包含多个请求.一般把完成一件事 ...

  4. 取石子 (四)_nyoj_161(博弈-奇异矩阵).java

    取石子 (四) 时间限制: 1000 ms  |  内存限制: 65535 KB 难度: 4   描述 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是 ...

  5. Mysql InnoDB锁

    MySQL 不同引擎的锁机制: MyISAM和MEMORY采用表级锁(table-level locking) BDB采用页面锁(page-leve locking)或表级锁,默认为页面锁 InnoD ...

  6. 视频编码格式转换 MP4

    视频工具有很多,如专业的premiere,但是我们只要涉及后期转换,不涉及制作,所以用不到这末专业的工具. 一般来说,使用暴风转码或者qq影音工具就足以应付我们的日常转换需求,下面以qq影音软件做说明 ...

  7. 大话设计模式C++实现-第1章-简单工厂模式

    一.UML图 二.包括的角色 简单工厂模式包括三个角色: (1)工厂类Factory:工厂类是用来制造产品的. 因此,在Factory中有一个用于制造产品的Create函数或者Generate函数之类 ...

  8. 【Oracle】新建用户,删除用户,授权

    一.创建用户 oracle内部有两个建好的用户:system和sys.用户可直接登录到system用户以创建其他用户,因为system具有创建别 的用户的 权限. 在安装oracle时,用户或系统管理 ...

  9. 便捷的 chrome/Firefox扩展

    chrome: 1.Postman-REST Client  模拟发送post/get请求测试接口很好用 2.Edit This Cookie 管理cookie 3.json-handle / jso ...

  10. 首次使用JBoss流程(windows下)

    1.首先应该明白JBoss分为社区版(AS)和企业版(EAP),其中社区版已经改名wildfly(难道是野苍蝇的意思?),企业版对个人开发者免费下载使用, 这里由于公司要求,我用的是jboss-eap ...