min(), max()和index
关于min(), max()函数访问索引的方法。[@more@]参见http://zhyuh.itpub.net/resource/334/26409
HANGANALYZE
When a database has severe performance problems, the cause of the problem may be a HANG. Using trace files produced by HANGANALYZE, you will be able to quickly determine if two or more processes are deadlocked and how many other processes may be affected. By using HANGANALYZE, you may also determine if a performance analysis will be required to diagnose the real problem when a HANG is taking place.[@more@]Steps to generate HANGANALYZE trace files -- Metalink 175006.1Interpreting HANGANALYZE trac
显示v$sqltext中完整的sql信息
下面的sql,利用v$session视图里的 PREV_SQL_ADDR, PREV_HASH_VALUE列,确定某个SID或者spid对应的完整SQL[@more@]select /*+ ORDERED */ sql_text from v$sqltext awhere (a.hash_value,a.ADDRESS) in( select decode(sql_hash_value,0,PREV_HASH_VALUE,sql_hash_value),decode(sql_hash_value,0,PREV_SQL_ADDR,SQL_ADDRESS)from v$session bwhere b.sid=&SID)order by piece asc或者以操作系统的process ID为参数。select /*+ ORDERED */ sql_text from v$sqltext awhere (a.hash_value,a.ADDRESS) in( select decode(sql_hash_val
从屏幕上读入用户名和密码
很多shell脚本需要动态从终端读入用户名和密码。用户名可以在输入时显示在屏幕上,但是密码不可以。下面的脚本就是实现这个功能。[@more@]$ cat echo1#!/bin/sh echo "User:"read userstty -echo echo "Password:"read pswdstty echo echo "User is $user, Password is $pswd. Done!" 执行结果如下:$ ./echo1User:zhyuhPassword:User is zhyuh, Password is my_paswd. Done! 可以看到用户名zhyuh显示在屏幕上,而密码被盖掉了。最后一句echo命令用来显示输入的全部信息。
Shell 参数的读取和处理
Shell脚本经常需要传入一些参数。下面的脚本可以作为一个通用模块,在写shell时用来1. 指定参数的类型2. 允许用户灵活指定参数顺序,或者省掉某几个参数3. 通过shift命令,将参数传给指定的变量 注意1. getopt a:b:c $* $*和c之间有空格(必须)2. basename用处3. shift用法 [@more@]$ cat getopt1#!/bin/sh set -- `getopt a:b:c: $*` getopt_rc=$? if [ "$getopt_rc" -ne "0" ]; then pgm=`basename $0` echo "$pgm $getopt_rc Process failed during getopt attempt - illegal parame
ASM (6)
关于单节点Windows系统中ASM试验的完整Word版本,请参见 http://zhyuh.itpub.net/resource/334/20793[@more@]
ASM (5)
=============================用DB Control管理ASM Instance=============================[@more@]ASM Instance建起来后,DB Control并不会自动管理该实例。可以用下面步骤将ASM Instance加到DB Control中。C:$oracle$product$10.2.0$db_1$database>set oracle_sid=orcl C:$oracle$product$10.2.0$db_1$database>emctl config agent addtarget c:$addasm.txtOracle Enterprise Manager 10g Database Control Release 10.2.0.1.0Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved. 其中addasm.txt文件内容
ASM (4)
===================在线删除一块磁盘===================[@more@]SQL> alter diskgroup dgroup1 2 drop disk dgroup1_0005; 磁盘组已变更。 随后察看各磁盘的空余空间,可以看到dgroup1_0005的空余空间逐渐变大,直至1000M(即整个磁盘C:ASMDISKSDISK6的大小),再将disk6状态mount变成closed;而其余几个磁盘的在差不多等量地变小。 SQL> select name,total_mb,free_mb from v$asm_disk; NAME TOTAL_MB FREE_M
ASM (3)
=============================数据库关闭状态下增加一块磁盘=============================[@more@]C:asmdisks>asmtool -create c:asmdisksdisk6 1000 --asm instance中SQL> startupASM 实例已启动 Total System Global Area 79691776 bytesFixed Size 1247396 bytesVariable Size 53278556 bytesASM Cache &nb
ASM (2)
========================二、将数据库转移到ASM上========================[@more@]我们用RMAN实现这一功能。在转移数据库以前,先设若干跟文件存储位置相关的参数。 C:¥oracle¥product¥10.2.0¥db_1¥database>set oracle_sid=orcl C:¥oracle¥product¥10.2.0¥db_1¥database>sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 12月 28 10:38:52 2006 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> connect/ as sysdba已连接。SQL> show parameter db_create_file_des
单节点Windows上的ASM(1)
ASM (Automatic Storage Management) 是Oracle 10g的一个重要新特性,在实现数据库I/O自动负载平衡,数据文件镜像等方面起着重要的作用。即使是单节点的数据库,Oracle也推荐使用ASM。但一般文档上提到ASM时,都需要有磁盘组或者多块磁盘才能实现,这使得很多人无法建立学习和实践的环境。下面的实验将带领你在windows xp的操作系统中建立ASM环境,并将已有的数据库转移到ASM中,同时该实验1. 不需要磁盘组或者多块磁盘2. 不需要在Windows xp中安装虚拟机,Linux等复杂的步骤[@more@]=====================一、建立ASM Instance==========