1. 先在google, 论坛,metalink, online document 里搜索.
ITPUB个人空间u$L,G/i,M c
在这里提供 Oracle 一些常见的连接地址,包括Oracle 下载地址,Oracle 对个人用是免费的。 所以你可以放心的从官网下,而且我也建议从官网下。 注册一个帐号就可以了。 免费注册的。
,F{O2ZB6dDb0 ITPUB个人空间!h#AA:|KP1k
Oracle 9i 在线文档: http://download.oracle.com/docs/cd/B10501_01/index.htm ITPUB个人空间dXP3L'[4E:}Y;J
Oracle 10g 在线文档: http://www.oracle.com/pls/db102/homepage
D f1jX N#P,Z~0 Oracle 11g 在线文档: http://www.oracle.com/pls/db111/portal.all_books ITPUB个人空间W1SI-e-n JFd q'OB
Oracle 10g/11g 下载地址: http://www.oracle.com/technology/software/products/database/index.html
#J3e|1p$\0 ITPUB个人空间Q|Q%q#T
在提问前,应该先自己尝试去解决问题。 一些功能和语法,可以直接在online document中查到。 在alert log里发现了报错信息或者在运行时发现了报错信息,那么,最简单的做法就是将错误信息或者错误号先在google/metalink/论坛里搜索一下。 Oracle 的错误都是以ORA-xxx 形式的,可以直接在google 搜索这些关键字。 说不定就有解决方法。 还可以功过这个网站进行查询相关的错误解释和解决方法: ITPUB个人空间T+F-?}5jhK4R
Http://ora-0600.ora-code.com ITPUB个人空间Ze9r'_}h
http://ora-00067.ora-code.com/ ITPUB个人空间 rD?z/vSu4X
把这里的ora-xxx 换成你自己的错误代码就可以了。 ITPUB个人空间){q.Pc'_:J;N
ITPUB个人空间5^$\ FU5t-O9R
2. 写清楚log, 报错信息,DB version , OS
5K9K(bK d;UYK0 描述不清提问的大忌之一,如“我的 SQL出错了”,“我的什么操作,为什么不成功”,"跪求.." , 这些是最典型的错误提问方式。原始的信息是最重要的… ITPUB个人空间z2\S$C B u%G)c&K
写清楚DB的version以及OS, 因为在不同的 DB version , OS之间,很多特性都不一样。 ITPUB个人空间S#Q4m([(^5Et0z ^`W
可以从select * from v$version 查看到DB version。还有就是出现错误前的一些操作步骤。比如升级。 ITPUB个人空间Y&O2SDM i]_
对于unix或者 linux平台可以通过uname -a 命令查看相关信息。
x%hQ'?+D)V2yBm}0
f7T/hk[,}P0 3. 实例方面的问题,请贴出alertlog
Y)APM2g|Hh#E0 常说要养成看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。 ITPUB个人空间2A UL9u5l-esG"j3p
&Ur&i0[g _3\0 4. Network的问题 ITPUB个人空间 I} U#C.J;Y4v4i;H#r6y
和网络相关的元素就那么几个,一个是自身网络的,而是相关参数。 这里面设计到的参数文件包括tnsnames.ora 和 listener.ora。 这2个配置文件通常都在 $ORACLE_HOME/network/admin底下,如果定义了环境变量TNS_ADMIN,那么配置文件在$TNS_ADMIN底下。
Q$OZ US+f9]^0 我们可以手动的修改这些文件,当然不推荐这么做。 因为tnsnames.ora 这个文件比较敏感,就是多个空格都会报错,但是对于空格,我们一般是不容易发现的。 最好的方法是通过net manager 工具来配置,配完后还可以测试一下。 在写地址的时候,尽量写IP地址,不要写机器名。
_)w,j U+}P1M0关于net manager 工具的使用,参考blog:
U XJv}+`cK0Oracle 数据库监听配置
zjv@2nPh0http://blog.csdn.net/tianlesoftware/archive/2009/11/25/4861572.aspx ITPUB个人空间@mO8R6QehQ'W
[y4QpQ&t3F ^ W0 还有,在连接其他数据库之前,要确保相应的监听是开启的。 如果说没有开启,是肯定连不上的。
d5b]-s$g'RM$F;S|d0命令:lsnrctl start/stop/status
Y^$fI G y/AY,W W%m0如果listener不是默认的,还需要加上listener名:lsnrctl start/stop/status listener_name
3u7S7c.\[0 ITPUB个人空间A z,[!ugVa b?
ITPUB个人空间`;UATLD8C+q.o
5. SQL 相关的内容 ITPUB个人空间Kz%aC`? D!Vc
SQL 的问题,基本语法有关系,而且它报错也很明显,可以直接google或者查看在线文档。 如果还是不能解决,在发帖的时候,请把相关的表结构和测试数据的创建SQL, index情况, Table的record数,table是否analyze等信息一并贴出来。 这样也方便大家一起查看。 ITPUB个人空间:m%NW6p.}*q+M8DRJk
ITPUB个人空间a'["q9U,J8i4] F
还有对于SQL 性能的,最好一并贴上执行计划。 这样一看也就明了。
B!}%ja!y_4Sk0 可以在sqlplus 开启autotrace, 在执行命令后也能看到相关的执行计划: ITPUB个人空间`i.Gr0{
SQL>set autot on;
-RJ?*A7z)E:|o9P'yv0 或者通过如下SQL 语句:
+[8mB,\OO sc)\E0(1)SQL>EXPLAIN PLAN FOR 你的sql语句;
cfZl'[0 如 SQL>EXPLAIN PLAN FOR SELECT * FROM EMP WHERE EMPNO=7369;
O,]Gz-]o0 (2)SELECT plan_table_output FROM TABLE(DBMS_XPLAN.DISPLAY('PLAN_TABLE')); ITPUB个人空间r(]'[xG-Nqn
'@,}$_O[2q1_0 6. 数据总体性能问题
3n:@,RQ?7@+IneCv0 关于这类问题,先对数据库的整体状态做个查看。9i可以通过statspack, 10g以后可以用AWR,ASH。 ITPUB个人空间/^rZE TCsO
Oracle AWR 介绍
X o~b8CJH.@^ I0http://blog.csdn.net/tianlesoftware/archive/2009/10/17/4682300.aspx ITPUB个人空间~B ZyjT9N
statspack安装使用 和 report 分析 ITPUB个人空间3u z"xI:m#aN*S5Q;E
http://blog.csdn.net/tianlesoftware/archive/2009/10/17/4682329.aspx
Jf%fTE[ a0p0 ITPUB个人空间P4~0PO'\?
这些也可以用Toad 等工具,在界面上进行操作。
qYh2m/~~0 ITPUB个人空间lN7rD;C
还有就是留意数据库 服务器的CPU 和内存使用情况。 Linux 下可以用vmstat命令或者top命令
{#i~L!NT w0Unix vmstat 命令 ITPUB个人空间`['t3ne1i
在这里提供 Oracle 一些常见的连接地址,包括Oracle 下载地址,Oracle 对个人用是免费的。 所以你可以放心的从官网下,而且我也建议从官网下。 注册一个帐号就可以了。 免费注册的。
,F{O2ZB6dDb0 ITPUB个人空间!h#AA:|KP1k
Oracle 9i 在线文档: http://download.oracle.com/docs/cd/B10501_01/index.htm ITPUB个人空间dXP3L'[4E:}Y;J
Oracle 10g 在线文档: http://www.oracle.com/pls/db102/homepage
D f1jX N#P,Z~0 Oracle 11g 在线文档: http://www.oracle.com/pls/db111/portal.all_books ITPUB个人空间W1SI-e-n JFd q'OB
Oracle 10g/11g 下载地址: http://www.oracle.com/technology/software/products/database/index.html
#J3e|1p$\0 ITPUB个人空间Q|Q%q#T
在提问前,应该先自己尝试去解决问题。 一些功能和语法,可以直接在online document中查到。 在alert log里发现了报错信息或者在运行时发现了报错信息,那么,最简单的做法就是将错误信息或者错误号先在google/metalink/论坛里搜索一下。 Oracle 的错误都是以ORA-xxx 形式的,可以直接在google 搜索这些关键字。 说不定就有解决方法。 还可以功过这个网站进行查询相关的错误解释和解决方法: ITPUB个人空间T+F-?}5jhK4R
Http://ora-0600.ora-code.com ITPUB个人空间Ze9r'_}h
http://ora-00067.ora-code.com/ ITPUB个人空间 rD?z/vSu4X
把这里的ora-xxx 换成你自己的错误代码就可以了。 ITPUB个人空间){q.Pc'_:J;N
ITPUB个人空间5^$\ FU5t-O9R
2. 写清楚log, 报错信息,DB version , OS
5K9K(bK d;UYK0 描述不清提问的大忌之一,如“我的 SQL出错了”,“我的什么操作,为什么不成功”,"跪求.." , 这些是最典型的错误提问方式。原始的信息是最重要的… ITPUB个人空间z2\S$C B u%G)c&K
写清楚DB的version以及OS, 因为在不同的 DB version , OS之间,很多特性都不一样。 ITPUB个人空间S#Q4m([(^5Et0z ^`W
可以从select * from v$version 查看到DB version。还有就是出现错误前的一些操作步骤。比如升级。 ITPUB个人空间Y&O2SDM i]_
对于unix或者 linux平台可以通过uname -a 命令查看相关信息。
x%hQ'?+D)V2yBm}0
f7T/hk[,}P0 3. 实例方面的问题,请贴出alertlog
Y)APM2g|Hh#E0 常说要养成看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。 ITPUB个人空间2A UL9u5l-esG"j3p
&Ur&i0[g _3\0 4. Network的问题 ITPUB个人空间 I} U#C.J;Y4v4i;H#r6y
和网络相关的元素就那么几个,一个是自身网络的,而是相关参数。 这里面设计到的参数文件包括tnsnames.ora 和 listener.ora。 这2个配置文件通常都在 $ORACLE_HOME/network/admin底下,如果定义了环境变量TNS_ADMIN,那么配置文件在$TNS_ADMIN底下。
Q$OZ US+f9]^0 我们可以手动的修改这些文件,当然不推荐这么做。 因为tnsnames.ora 这个文件比较敏感,就是多个空格都会报错,但是对于空格,我们一般是不容易发现的。 最好的方法是通过net manager 工具来配置,配完后还可以测试一下。 在写地址的时候,尽量写IP地址,不要写机器名。
_)w,j U+}P1M0关于net manager 工具的使用,参考blog:
U XJv}+`cK0Oracle 数据库监听配置
zjv@2nPh0http://blog.csdn.net/tianlesoftware/archive/2009/11/25/4861572.aspx ITPUB个人空间@mO8R6QehQ'W
[y4QpQ&t3F ^ W0 还有,在连接其他数据库之前,要确保相应的监听是开启的。 如果说没有开启,是肯定连不上的。
d5b]-s$g'RM$F;S|d0命令:lsnrctl start/stop/status
Y^$fI G y/AY,W W%m0如果listener不是默认的,还需要加上listener名:lsnrctl start/stop/status listener_name
3u7S7c.\[0 ITPUB个人空间A z,[!ugVa b?
ITPUB个人空间`;UATLD8C+q.o
5. SQL 相关的内容 ITPUB个人空间Kz%aC`? D!Vc
SQL 的问题,基本语法有关系,而且它报错也很明显,可以直接google或者查看在线文档。 如果还是不能解决,在发帖的时候,请把相关的表结构和测试数据的创建SQL, index情况, Table的record数,table是否analyze等信息一并贴出来。 这样也方便大家一起查看。 ITPUB个人空间:m%NW6p.}*q+M8DRJk
ITPUB个人空间a'["q9U,J8i4] F
还有对于SQL 性能的,最好一并贴上执行计划。 这样一看也就明了。
B!}%ja!y_4Sk0 可以在sqlplus 开启autotrace, 在执行命令后也能看到相关的执行计划: ITPUB个人空间`i.Gr0{
SQL>set autot on;
-RJ?*A7z)E:|o9P'yv0 或者通过如下SQL 语句:
+[8mB,\OO sc)\E0(1)SQL>EXPLAIN PLAN FOR 你的sql语句;
cfZl'[0 如 SQL>EXPLAIN PLAN FOR SELECT * FROM EMP WHERE EMPNO=7369;
O,]Gz-]o0 (2)SELECT plan_table_output FROM TABLE(DBMS_XPLAN.DISPLAY('PLAN_TABLE')); ITPUB个人空间r(]'[xG-Nqn
'@,}$_O[2q1_0 6. 数据总体性能问题
3n:@,RQ?7@+IneCv0 关于这类问题,先对数据库的整体状态做个查看。9i可以通过statspack, 10g以后可以用AWR,ASH。 ITPUB个人空间/^rZE TCsO
Oracle AWR 介绍
X o~b8CJH.@^ I0http://blog.csdn.net/tianlesoftware/archive/2009/10/17/4682300.aspx ITPUB个人空间~B ZyjT9N
statspack安装使用 和 report 分析 ITPUB个人空间3u z"xI:m#aN*S5Q;E
http://blog.csdn.net/tianlesoftware/archive/2009/10/17/4682329.aspx
Jf%fTE[ a0p0 ITPUB个人空间P4~0PO'\?
这些也可以用Toad 等工具,在界面上进行操作。
qYh2m/~~0 ITPUB个人空间lN7rD;C
还有就是留意数据库 服务器的CPU 和内存使用情况。 Linux 下可以用vmstat命令或者top命令
{#i~L!NT w0Unix vmstat 命令 ITPUB个人空间`['t3ne1i
http://blog.csdn.net/tianlesoftware/archive/2010/04/09/5464408.aspx