星期一, 六月 21, 2010

一次数据库hang的处理

数据库hang住的时候,应用自然是挂了,连sysdba都无法登陆。只能启用sqlplus的-prelim参数。 查看全文

星期一, 二月 22, 2010

列出size大于某特定值的所有子目录

下面的脚本根据你给定的目录和阈值,会遍历所有子目录,并列出大于阈值的所有子目录名称和大小。

注意如何在awk中引用shell变量。

 查看全文

星期一, 九月 28, 2009

11g_Automatic_Diagnostic_Repository

Oracle 11g的目录结构有一些变化,增加了自动诊断库(Automatic Diagnostic Repository)。ADR实际上是个目录,位置由11g的新参数diagnostic_dest确定。如果设置了ORACLE_BASE环境变量,则diagnostic_dest的值就是$ORACLE_BASE,否则为$ORACLE_HOME/log。有了diagnostic_dest参数后,原先的bdump/cdump/udump等参数都失效, 此外ASM, CRS等的trace/log信息,Health Monitor报告等也都放在这里。 查看全文

11g_DB_Replay

重播(REPLAY)是Oracle11g的一个重要新特性,能够捕捉数据库某个时段发生的所有或者特定的外部请求,并且在另外一个数据库中重现。这使得测试数据库可以比较容易模拟生产环境,做各种测试,尤其是性能方面的测试,获得更加精确的结果。

Database Replay主要利用2个package: DBMS_WORKLOAD_CAPTURE 和 DBMS_WORKLOAD_REPLAY,分4个步骤:
1. 捕捉产品数据库的负载。
2. 预处理捕获的负载信息。
3. 重播数据库负载。
4. 创建报告并分析结果。
 查看全文

星期日, 九月 27, 2009

11g_Health_Monitor

健康监控检查(Health Monitor Check)也是Oracle11g中新出现的功能,用于对数据库作诊断性检查,主要包括以下检查项。 查看全文

11g_Result_Cache

11g中的Result Cache是Shared Pool中的一块内存,用来存储SQL的执行结果,使得下次运行的相同SQL能直接从内存中读取结果,极大提高性能。 查看全文

11g_Dependency

下面的SQL看上去比较长,简单来说就是做了以下事情:
1. 建表trans
2. 建基于表trans的视图vw_trans
3. 建package pkg_trans,期间调用trans表
4. 建函数adjust,调用pkg_trans
 查看全文

11g_Virtual_Columns

Oracle 11g的虚拟列功能,有点类似于excel的函数列功能--不存实际值,而是根据其他列的值计算得出。 查看全文

11g_NotNull_Columns_with_Default_Values

先看以前版本中,增加有默认值的非空列有哪些影响。

准备环境。建表trans,插入10万条记录
SQL> create table trans (
cust_name varchar2(20),
trans_dt date,
trans_amt number(12,2),
store_id number(2)
)
/
Table created
.
SQL> declare
2 l_stmt varchar2(2000);
3 begin
4 for ctr in 1..100000 loop
5 l_stmt := 'insert into trans values ('||
6 ''''||dbms_random.string('U',20)||''','||
7 'sysdate - '||
8 round(dbms_random.value(1,365))||','||
9 round(dbms_random.value(1,99999999),2)||','||
10 round(dbms_random.value(1,99))||')';
11 dbms_output.put_line(l_stmt);
12 execute immediate l_stmt;
13 commit;
14 end loop;
15 end;
16 /
PL/SQL procedure successfully completed
 查看全文

11g_DDL_Lock_Timeout

DDL_LOCK_TIMEOUT是11g新引进的参数,主要特征如下:

Parameter type => Integer
Default value => 0
Modifiable => ALTER SESSION
Range of values => 0 to 1,000,000 (in seconds)

 查看全文

11g_Password

Oracle 10g的dba_users视图里,password列显示用户加密后的密码。
而Oracle 11g中,该列总是显示为空,同时该视图里多了一列PASSWORD_VERSIONS。
 查看全文

星期四, 九月 24, 2009

11g_Datapump

11g中,Data Pump也有一点新功能,还挺有用的。

10g中compression参数:
COMPRESSION=(METADATA_ONLY | NONE)
METADATA_ONLY =〉results in all metadata being written to the dump file in compressed format. This is the default.
NONE =〉disables compression for the entire unload.

 查看全文

11g_Table_Compression

下面的表可以对所有操作实现压缩存储,而不仅仅是之前版本的direct patch insert 查看全文

11g_Readonly_Table

如果表能直接改成只读,那要保证数据不被修改的时候,就不用建只读视图,或者只读表空间了。 查看全文

11g_Calibrating_IO

11g中有个存储过程可以用来评估存储的IO性能,个人认为这是一个很好的新功能。 查看全文

星期四, 八月 27, 2009

用shell脚本发送带附件的email

下面的脚步,可以发送带附件的email。

其中附件名称为attachment.tar,邮件正文内容包含在letter.txt文件中。此二文件要求在当前目录下(不在当前目录下稍微改点脚本当然也很容易)。

$ ls -l
-rw-r--r-- 1 oracle dba 34816 Aug 27 13:22 attachment.tar
-rw-r--r-- 1 oraapdev1 dba 197 Aug 27 13:45 letter.txt
-rwxr-xr-x 1 oraapdev1 dba 156 Aug 27 13:46 mail_att.sh

 查看全文

星期二, 八月 11, 2009

要找出某个文件中所有包含数字,且数字大于1000的行

要找出某个文件中所有包含数字,且数字大于1000的行 查看全文

星期三, 七月 15, 2009

Oracle EBS -- 编译Form时出错

XXSUP和XXDEV从同一个产品环境克隆过来。Form XXUTS_BULK_RECEIVE.fmb上传到XXSUP中编译通过,而上传到XXDEV中编译时出现错误。

编译命令:
$cd $XXUTS_TOP/forms/US
$frmcmp_batch module=XX_BULK_RECEIVE.fmb userid=apps/****** output_file=XXUTS_BULK_RECEIVE.fmx

错误:
......
......
Compiling package body APP_CUSTOM...
No compilation errors.

Compiling package body XXUTS_BUTTON_ACTION...
Compilation error on package body XXUTS_BUTTON_ACTION:
PL/SQL ERROR 49 at line 441, column 9
bad bind variable 'parameter.G_query_find'
PL/SQL ERROR 49 at line 441, column 9
bad bind variable 'parameter.G_query_find'
PL/SQL ERROR 49 at line 447, column 9
bad bind variable 'parameter.G_query_find'

Compiling package body XXUTS_BULK_RECEIVE...
No compilation errors.

Compilation errors have occurred.

Form not created

 查看全文

星期二, 七月 07, 2009

latch: cache buffers chains

最近经常碰到这个等待事件,贴个metalink上的有用文档上来。Doc ID: 163424.1 查看全文

星期四, 六月 18, 2009

ORACLE EBS中启动Discoverer Plus出现空白页

用户登录EBS系统后点击“Launch Discoverer Plus”, 结果出现空白页,无任何其他提示。 查看全文

ORACLE EBS中的bne log

EBS界面提示的错误信息:- Fatal error: Please have your system administrator view the bne.log file. oracle.apps.bne.exception.BneFatalException: A system error has occurred. Have your system administrator view the bne.log file. Please contact your support representative. 查看全文

星期二, 六月 16, 2009

Oracle EBS中打补丁

ORACLE EBS中打补丁是一个比较简单的过程,用“adpatch options=hotpatch”可以在线打,但还是有些需要注意的地方。

1. 如果你的系统出了支持英语外,还支持其他语言,比如中文,那你在下载补丁的时候除了下载Generic Platform版本外,还要确认有没有其他语言的版本,比如ZHS版本。如果有的话也要下载。

2. EBS的补丁不像数据库的补丁那样可以回滚,一旦失败就很麻烦。所以打补丁前一定要细看readme文件,确认补丁所需的前提条件都满足。

3. 要记录和对比打补丁前后APPS Schema下的无效对象。如果因为补丁引起新的无效对象,则视为补丁失败。

4. 对于补丁失败,一般能做的就是开TAR,要求ORACLE解决。

 查看全文

ORACLE EBS中生成用户级别的TRACE II

也可以参照http://zhyuh.itpub.net/post/334/485841

两种方法都是Oracle supporter在解答TAR中提供的

 查看全文

星期一, 六月 15, 2009

ORACLE EBS中OAF屏蔽的错误

ORACLE EBS R12中引入了XML Publisher,Oracle Application Framework等新东西,利用网页/JSP技术增强Form/Report等的功能和表现力。

当运行网页出现错误时,ORACLE经常会出现如下抽象的提示:-
You have encountered an unexpected error. Please contact the System Administrator for assistance.

 查看全文

ORACLE EBS中查看某个Request的Output File

由于某些权限的限制,有时候哪怕System Administrator职责也只能看到某个Request信息,但是不能查看它的Output File(在“Requests Summary”窗口中“View Output”键显示灰色)。 查看全文

ORACLE DISCOVERER虚拟内存低

用户访问ORACLE DISCOVERER时出现如下错误:-
The server is running low on virtual memory. This can happen due to insufficient disk space or heap space on the server. Please contact your Discoverer Administrator for assistance.
 查看全文

ORACLE EBS - 查看OPP Service Log

ORACLE EBS系统中有时会出现如下错误:-
Request 2726233 in INSTANCE1 failed with ORA-00903. The log file suggests to 'consult the OPP service log for details'。
这时需要查看OPP Service Log找到详细的错误信息。
 查看全文

ORACLE EBS中生成用户级别的TRACE

Trace文件在数据库服务器的udump目录下。
另外跟踪完用户的操作后记得及时关闭该功能。
 查看全文

ORACLE EBS中挂一张报表

把报表sales by contract挂到XXSC PLG GL Inquiry职责下 查看全文

ORACLE EBS系统中的编译

编译EBS的form 和 .pll文件 查看全文