`

Oracle DBA 常用命令积累

 
阅读更多

1. 最大游标数

(1)作用:Oracle 使用 init.ora 中的初始化参数 OPEN_CURSORS 指定一个会话一次最多可以拥有的游标数。缺省值为 50。应用程序不同,该值也不同。即便会话打开的游标数未达 OPEN_CURSORS 指定的数量(即设置的值高于实际需要的值),也不会增加系统开销。

这样的错误很容易出现在Java代码中的主要原因是:Java代码在执行conn.createStatement()和conn.prepareStatement()的时候,实际上都是相当与在数据库中打开了一个cursor。尤其是,如果你的createStatement和prepareStatement是在一个循环里面的话,就会非常容易出现这个问题。因为游标一直在不停的打开,而且没有关闭。  
   
      一般来说,我们在写Java代码的时候,createStatement和prepareStatement都应该要放在循环外面,而且使用了这些Statment后,及时关闭。最好是在执行了一次executeQuery、executeUpdate等之后,如果不需要使用结果集(ResultSet)的数据,就马上将Statment关闭。

 

(2)异常:ora-01000:   maximum   open   cursors   exceeded.    
  表示已经达到一个进程打开的最大游标数。

 

(3)修改Oracle游标数

1、查看游标数:show parameter open_cursors;

2、查看当前打开游标数:select count(*) from v$open_cursor;

3、修改Oracle最大游标数:alter system set open_cursors=1000 scope=both;

 

2.最大进程数

(1)作用:每一次数据连接,都开启数据库一个进程。当调用数据库的线程超过一定数量时出现,中间介数据源无法连接导致错误:这是连接数超过了数据库默认连接数导致的,数据库默认的连接数是150。

 

(2)修改Oracle最大连接数

1、SqlPlus /nolog

2、conn sys/syspwd as sysdba;

3、查询目前连接数:show parameter processes;

4、修改连接数:alter system set processes=1000 scope=spfile;

5、create pfile from spfile;

6、重新启动Oracle服务

(3)应用程序可以设置数据库开启的线程数。比如应用程序datasource.xml配置:
<system-datasource>
    <type>oracle</type>
    <driver>oracle.jdbc.driver.OracleDriver</driver>
    <url>jdbc:Oracle:thin:@192.168.167.76:1521:ora11g</url>
    <username>tb_ddbx</username>
    <password>tb_ddbx</password>
</system-datasource>
<system-datasource-pool>
    <init-capacity>5</init-capacity>
    <max-capacity>10</max-capacity>
    <max-idle>2</max-idle>
    <timeout>50000</timeout>
</system-datasource-pool>

 

3.常用oracle 命令 

--查看当前有哪些用户正在使用数据
SELECT osuser, a.username,cpu_time/executions/1000000||'s', sql_fulltext,machine 
from v$session a, v$sqlarea b
where a.sql_address =b.address order by cpu_time/executions desc;

  

还有可以查询

select sessions_highwater  from v$license;

sessions_highwater 记录的是数据库会话曾经达到的最大值

查询数据库自启动以来最大的并发数量

select * from v$license

 

其他:

ORA-32001: 已请求写入 SPFILE, 但是在启动时未指定 SPFILE:
http://blog.csdn.net/haiross/article/details/41696035

ORACLE 如何查询被锁定表及如何解锁释放session:
http://www.jb51.net/article/34571.htm

修改Oracle最大连接数和游标数:
https://www.cnblogs.com/ITGIS/articles/1870539.html

java连接 oracle 遍历ResultSet,结果集耗尽:
http://blog.csdn.net/breaker892902/article/details/39397579

 

4. dba排错工具:

plsql  工具》会话查看当前会话

查看oracle是否有锁定的表和记录

tomcat 按ctrl+pausebreak 查看Java程序栈信息

jconsole 查看是否内存溢出。可以在系统变量中设置JAVA_HOME和JAVA_OPTS

表执行计划的优化(特别是数据大量变化时执行计划策略也要有相应变化)

 

多线程好文:Java 对象锁和类锁 死锁(多线程synchronized关键字)

http://blog.csdn.net/qq_33530388/article/details/63257485

 

java线程阻塞问题排查方法:

http://blog.csdn.net/bruce128/article/details/47402669

 

分享到:
评论

相关推荐

    Oracle DBA常用的UNIX命令

    Oracle DBA在日常工作中经常会与UNIX/Linux操作系统打交道,掌握一些常用的UNIX命令对于高效管理Oracle数据库至关重要。以下是一些Oracle DBA在UNIX环境下常用的命令及其详细解释: 1. **删除Oracle进程**: - `ps...

    Oracle常用操作(项目中积累的经验)

    Oracle数据库在IT行业中被广泛应用,尤其在大型...以上就是Oracle在实际项目中的一些常用但易错的操作经验,希望对你的工作有所帮助。在实践中不断积累,理解并熟练运用这些技巧,可以提升你的Oracle数据库管理技能。

    整理汇总Oracle常用命令 方便你我他

    ### Oracle常用命令详解 #### 创建用户 - **命令格式**: ```sql CREATE USER 用户名 IDENTIFIED BY 密码; ``` - **注意事项**: - 用户名与密码建议采用英文字符,以避免不必要的编码问题。 - 示例: ```sql...

    orcle常用命令

    Oracle是世界上最广泛使用的数据库管理系统之一,对于初学者和专业DBA来说,掌握Oracle的常用命令是必不可少的。本文将深入探讨Oracle的启动和关闭过程,以及如何有效地利用数据字典。 首先,Oracle数据库的启动和...

    ORACLE常用傻瓜問題1000問

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,它提供了高效的数据存储、管理及查询功能。以下是一些关于Oracle的常见问题和知识点...随着经验的积累,可以逐步探索更高级的主题,以提升自己的技能水平。

    oracle日积月累

    常用命令有:`CONNECT`连接数据库,`DESCRIBE`查看表结构,`SPOOL`用于将输出保存到文件,`QUIT`退出会话。 4. **CMD Oracle命令**: 在命令行环境中,你可以使用如`sqlplus username/password@database`来连接...

    Oracle参考手册---经典版

    10. **Oracle常用指令**:手册可能会列出一些常用的数据库管理命令,如SQL*Plus命令、数据泵操作等,方便快速查找和执行。 由于文件列表中只有一个“新建文件夹”,没有具体的文件名,无法进一步细化知识点。但根据...

    ORACLE 常用数据库

    Oracle数据库是世界上最流行的关系型数据库管理系统之一,广泛应用于企业级...对于初学者来说,理解这些基本操作是学习Oracle数据库的基础,随着经验的积累,可以深入学习更高级的特性,以满足更复杂的数据管理需求。

    Oracle10g DBA 两日速成自学材料6

    ### Oracle10g DBA 两日速成自学材料6:管理用户和安全性 #### 管理用户和安全性概述 在Oracle10g数据库管理中,“管理用户和安全性”是一个核心主题,对于确保数据库的安全运行至关重要。这部分内容主要涉及如何...

    unix for oracle dbas

    - **主要内容**:书中提供了常用的Unix命令的基本语法及其简短的示例,旨在帮助读者节省大量的手动操作时间。 - **组织结构**:全书按照主要主题领域进行了划分,包括理解Unix、构建Unix命令、Unix服务器环境等。 #...

    Unix for Oracle DBAs Pocket Reference 2001

    Burleson分享了他积累的20年的Unix技巧和技巧,为读者提供了基本的命令语法和简洁的示例。书中不仅包含命令的使用方法,还附有许多简短的Unix脚本,旨在帮助读者节省大量手动操作的时间。 ### 1.2 了解Unix 这一...

    oracle初学者必知的100个问题

    可以使用RMAN(Recovery Manager)工具或操作系统命令来备份Oracle数据库。 24. 如何恢复Oracle数据库? 当发生数据丢失或破坏时,可以使用RMAN或数据库的恢复模式来进行数据恢复。 25. 如何监控Oracle数据库性能...

    ORACLE RMAN初级入门教程

    这篇教程将带你走进RMAN的世界,了解其基本概念和常用命令。 ### 1. RMAN简介 RMAN是Oracle 8i引入的一个内置组件,专门用于执行数据库备份和恢复任务。它通过与数据库服务器和物理存储设备的直接交互,提高了备份...

    ORACLE9i_优化设计与系统调整

    §3.4 DBA常用参数说明 71 §3.4.1 跟踪文件路径(BACKGROUND_DUMP_DEST) 71 §3.4.2 在缓冲区驻留对象(BUFFER_POOL_KEEP) 71 §3.4.3 版本兼容(COMPATIBLE) 72 §3.4.4 控制文件路径(CONTROL_FILES) 72 §...

    oracle学习笔记

    3. **查看存储过程和包中的文本**:在Oracle中,存储过程和包是封装业务逻辑的常用方式。要查看存储过程或包的具体代码,可以使用`dba_source`视图。如`select * from dba_source where text like '%MASTER_FLAG%' ...

    初学者不看后悔的oracle

    对于初学者来说,掌握Oracle的基础知识和常用命令是至关重要的。以下是一些Oracle的基本操作和查询语句的详细说明: 1. **查询语句**: - `SELECT` 语句用于从表中检索数据。例如,`SELECT * FROM table_name` 将...

Global site tag (gtag.js) - Google Analytics