进程查询
ps auxw --sort=%cpu 按CPU查看哪个进程耗的资源比较多--------------------------------------------------输入进程号,看是谁在执行select sa.MODULE,sl.OPNAME, to_char(sl.start_time, 'yyyy-mm-dd hh24:mi:ss') start_time,sa.SQL_TEXT, pr.*,'||',se.*from v$session se ,v$process pr ,v$session_longops sl,v$sqlarea sawhere se.PADDR=pr.ADDR(+)and se.SID=sl.SID(+)and sl.sql_hash_value = sa.hash_value(+)and pr.SPID in (29657)[@more@]
Oracle动态性能视图学习之v$sqltext & v$sqlarea
本视图包括Shared pool中SQL语句的完整文本,一条SQL语句可能分成多个块被保存于多个记录内。注:V$SQLAREA只包括头1000个字符。[@more@]V$SQLTEXT中的常用列HASH_VALUE:SQL语句的Hash值ADDRESS:sql语句在SGA中的地址SQL_TEXT:SQL文本。PIECE:SQL语句块的序号V$SQLTEXT中的连接列Column View Joined Column(s) HASH_VALUE, ADDRESS V$SQL, V$SESSION HASH_VALUE, ADDRESSHASH_VALUE. ADDRESS V$SESSION
sqlplus /nolog 是什么意思
sqlplus命令格式如下:用法: SQLPLUS [ [<option>] [<logon>] [<start>] ]其中 <option> ::= -H | -V | [ [-M <o>] [-R <n>] [-S] ] <登录> ::= <用户名>[/<口令>][@<connect_string>] | / | /NOLOG <启动> : : = @<文件名>[.<ext>] [<参数> ...] "-H" 显示 SQL*Plus 的版本标帜和使用语法 "-V" 显示 SQL*Plus 的版本标帜 "-M <o>" 使用 HTML 标志选项 <o> "-R <n>" uses r
LINUX 自动执行脚本的命令配置
在root或别的用户下执行 crontab -l 如果没结果反馈,说明没配置好crontabroot执行:crontab -e编译的方式和vi一样。增加这条记录 50 16 * * 1-6 /secom/plan.sh然后保存退出(命令和vi一样)[@more@]
PSCP命令
1.从http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html下载pscp,将其放入windows的system32[@more@](一)上传2.开始→运行→cmd进入到dos模式输入以下命令pscpD:javaapache-tomcat-5.5.27webappsszfdc.rardev@192.168.68.249:/home/dev3.输入密码ok文件已经上传到目标机器的/home/dev目录下了(二)下载1、开始→运行→cmd进入到dos模式输入以下命令pscpdev@192.168.68.248:/home/dev/gren.sqld:gren.sql;输入密码。ok!其中:dev为linux的用户名,192.168.68.248为远程Linux主机ip地址,/home/dev/gren.sql为linux下的文件
RAC 实例不能启动 ORA-1589 signalled during ALTER DATABASE OPEN
今天启动RAC 做实验,发现RAC 实例怎么启动不了。[@more@][oracle@rac2 bin]$ crs_stat -tName Type Target State Host------------------------------------------------------------ora.orcl.db application ONLINE OFFLINEora....oltp.cs application ONLINE OFFLINEora....cl1.srv application ONLINE OFFLINEora....cl2.srv application ONLINE OFFLINEora....l1.inst application ONLINE OFFLINEora....l2.inst application ONLINE OFFLINEora....SM1.asm application ONLINE ONLINE rac1ora....C1.lsnr application ONLINE ONLINE
sessions,processes的监控方法
一个连接可能产生多个sessions,一个sessions可能产生多个processes,同样,一个processes可能对应多个sessions;Oracle的sessions和processes的数量关系大概是:sessions=1.1 * processes + 5可以用一下sql做监控select * from v$resource_limit;该视图的字段含义如下:[@more@]从Oracle的Reference文档里面摘录的,基本上就是标识一些系统资源的使用、设置情况的。 current_utilization - Number of (resources, locks, or processes) currently being used max_utization - Maximum consumption of the resource since the last insta
linux中内存使用,swap,cache,buffer的含义
首先介绍一下linux中内存是如何使用的。[@more@]当有应用需要读写磁盘数据时,由系统把相关数据从磁盘读取到内存,如果物理内存不够,则把内存中的部分数据导入到磁盘,从而把磁盘的部分空间当作虚拟内存来使用,也称为Swap。如果给所有应用分配足够内存后,物理内存还有剩余,linux会尽量再利用这些空闲内存,以提高整体I/O效率,其方法是把这部分剩余内存再划分为cache及buffer两部分加以利用。从磁盘读取到内存的数据在被相关应用程序读取后,如果有剩余内存,则这部分数据会存入cache,以备第2次读取时,避免重新读取磁盘。当一个应用
statspack摘录
以下内容均在window Xp,oracle9.2.0.1下测试,在linux/unix下路径""要换成"/" 1.Statspack的安装 sqlplus /nolog conn / as sysdba[@more@] ——创建一个Statspack表空间,要求80M以上或者使用已经存在的表空间,但必须有80M以上的空闲空间 sql>create tablespace statspack datafile '<statspack_tbs.dbf>' size 100M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K ——执行安装脚本,在Oracle_Home dbmsadmin下 sql>@? dbmsadminspcreate
动态性能表第五篇--V$SESSION
动态性能表第五篇--V$SESSION 在本视图中,每一个连接到数据库实例中的session都拥有一条记录。包括用户session及后台进程如DBWR,LGWR,arcchiver等等。[@more@]V$SESSION中的常用列V$SESSION是基础信息视图,用于找寻用户SID或SADDR。不过,它也有一些列会动态的变化,可用于检查用户。如例:SQL_HASH_VALUE,SQL_ADDRESS:这两列用于鉴别默认被session执行的SQL语句。如果为null或0,那就说明这个session没有执行任何SQL语句。PREV_HASH_VALUE和PREV_ADDRESS两列用来鉴别被session执行的上一条语句。注意:当使用SQL*Plus进行选择时
oracle 数据库里查看表空间使用状况;
oracle表空间的事情状况要经常查看,一般空闲比例过低的时候就应该考虑增大表看空间了。查看方法如下SQL:[@more@]方法一:select dbf.tablespace_name,dbf.totalspace "总量(M)",dbf.totalblocks as 总块数,dfs.freespace "剩余总量(M)",dfs.freeblocks "剩余块数",(dfs.freespace / dbf.totalspace) * 100 "空闲比例" from (select t.tablespace_name,sum(t.bytes) / 1024 / 1024 totalspace,sum(t.blocks) totalblocksfrom dba_data_files tgroup by t.tablespace_name) dbf,(select tt.tables
LINUX命令收集
1:启动restartapache.sh提示权限不够的错误,解决办法:进入该文件的目录中,执行$ chmod u+x restartapache.sh可解决。[@more@]2:linux下登录到oracle erp的DB下的SQLPLUS方法:$dbenv$sqlplus "/ as sysdba"就可以进入到SQLPLUS的环境。3:挂在光驱# csh# mount /dev/scd0 /mnt/cdrom4:卸载光驱# umount /mnt/cdrom5:查看linux版本信息:$ rpm -qa |grep release或者$ cat /etc/redhat-release6:查看linux内核版本信息;方法一: 命令: $uname -a作用: 查看系统内核版本号及系统名称方法二:命令:$ cat /proc/version作用
ORACLE 命令的应用
这个部分的命令都在动态收集中......[@more@]1:加大数据文件容量alter database datafile '数据文件的全路径' resize 70M;2:重建索引的alter index 用户.index_name rebuild online;3:用命令重新编译程序包alter package 包名 compile body4:between v1 and v2 相当于>.=v1 并且<=v25:问题症状:ORA-1632: max # extents 4096 reached in index PERFSTAT.STATS$PARAMETER_PKORA-12012: error on auto execute of job 835ORA-01632: max # extents (4096) reached in index PERFSTAT.STATS$PARAMETER_PKORA-06512: at "PERFS
SQL 的跟踪方法trace
大致分如下6步骤执行,看下文...[@more@]1:进入SQL WINDOW窗口w12:找到你当前的SQL WINDOW SESSION(把本机所有别的SESSION都关掉,查看w1的session id,SERIAL#)3:找到你当前SQL WINDOW(窗口w1)的PROCESS_ID(在另外的窗口W2)spid (方法:Select a.Status, a.Sid, a.Serial#, a.Saddr, a.Paddr, b.Spid, b.Addr, a.Machine From V$session a, V$process b Where b.Addr = a.Paddr And a.Sid =xx)4:在SQL WINDOW(窗口W2)执行 dbms_system.set_sql_trace_in_session (l_sid, l_serial, TRUE);5:在SQL WINDOW(窗口W1)中执行我们
discover中的workbook存储在哪个表中
discover中desktop中的所有的workbook名称存储在哪个表中啊,还有discover中admin中的权限都存储在哪些表中啊,有谁知道啊[@more@]--查询Discoverer相关的所有表select* from dba_objectswhere object_name like 'EU%'and object_type = 'TABLE'--查询所有工作簿select* from EUL5_DOCUMENTS也有可能是EUL4_DOCUMENTS,根据DISCOVER的版本不同。
oracle 的临时表解析及与其SQLSERVER的比较(转载)
回复: 临时表存放在哪儿?DML statements on temporary tables do not generate redo logs for the data changes. However, undo logs for the data and redo logs for the undo logs are generated. Data from the temporary table is automatically dropped in the case of session termination, either when the user logs off or when the session terminates abnormally such as during a session or instance failure undo logs for the data and redo logs for the undo logs 前者不是放在rollback segment中吗?怎么能写到redo lo
oracle rollup,cube子句的应用举例;
rollup,cube子句在ORACLE中可以用来做交叉报表,如:如总计,小计类的功能很容易实现;但是必须和group by 子句一起使用。举例如下:[@more@]Oracle的Cube,Rollup子句的用法产生交叉报表的情况,演示一个cube的例子 create table test(sales varchar2(10),dest varchar2(10),revenue number); insert into test values('smith','hangzhou',1000); insert into test values('smith','wenzhou',2000); insert into test values('allen','wenzhou',3000); insert into test values('allen','wenzhou',4000);SALES DEST
分析函数的应用(更新版)
前言:1. 对原文重新排版,增强可读性2. 文中列举的例子都在scott/tiger用户下测试通过,增强可操作性,易验证。3. 继续增加:分析函数在美同统计系统中的应用,分析函数性能比较4. 欢迎大家批评指正.[@more@]概述:分析函数(oracle8.1.6以后版本支持),为解决"Calculate a running total", "Find percentages within a group", "Top-N queries", "Compute a moving average"等问题而设计的。标准的PL/SQL可以解决大部分问题,然而性能不尽人意。分析函数就是标准SQL的语言插件,不仅编码简单,而且
GOTO语句在PL/SQL中的应用
PL/SQL也提供GOTO语句,其语法是GOTO label;这里label是在PL/SQL块中定义的标签.标签是用双箭头括号括起来的.当执行GOTO语句的时候,控制会立即转到由标签标识的语句.[@more@]例如,我们可以按照下面的方式实现前面的循环示例.Declare vn:=1;begin loop insert into temptable values(vn,'loopcount'); vn := vn + 1; if vn > 50 then GOTO nextloop; end if; end loop; <<nextloop>> insert into temptable(char_col) values('done!');end;一:对于GOTO的限制1:PL/SQL对于GOTO的使用有一些限
SQLSERVER中实现返回汉字笔画数的函数;
SQL SERVER的排序规则平时使用不是很多,也许不少初学者还比较陌生,但有一个错误大家应是经常碰到: SQL SERVER数据库,在跨库多表连接查询时,若两数据库默认字符集不同,系统就会返回这样的错误: “无法解决 equal to 操作的排序规则冲突。”[@more@]一.错误分析: 这个错误是因为排序规则不一致造成的,我们做个测试,比如:create table #t1(name varchar(20) collate Albanian_CI_AI_WS, value int) create table #t2(name varchar(20) collate Chinese_PRC_CI_AI_WS, value int ) 表建好后,执行连接查询: select * from #t1