Archive for 2006
connect by 递归查询出现重复纪录
今天用connect by做递归时出现了重复纪录,而且很奇怪的,每条记录都很均匀地出现了2次。
仔细检查了原表,没有发现任何问题。
我怀疑是SQL语法或者其他的什么地方出现了问题,但仔细翻阅了文档,找不出原因。
以前没有出现过这种情况,一时之间也查不出原因,感觉有点诡异,因为我使用了几天前编写的测试正常的SQL今天也出现同样问题。
临时用这个办法解决:
SELECT DISTINCT SYS_CONNECT_BY_PATH(HHV.COMPONENT_ITEM_NUMBER, ‘/’) PATH,
…
FROM (SELECT BBOMV.ORGANIZATION_ID,
BICV.COMPONENT_ITEM_ID,
BBOMV.ASSEMBLY_ITEM_ID,
…
FROM BOM_BILL_OF_MATERIALS_V BBOMV,
BOM_INVENTORY_COMPONENTS_V BICV
WHERE …) HHV
WHERE IS_BUYABLE(HHV.COMPONENT_ITEM_ID, HHX.ORG_ID) = 1
START WITH HHV.COMPONENT_ITEM_ID = :COMPONENT_ITEM_ID
CONNECT BY PRIOR HHV.COMPONENT_ITEM_ID = HHV.ASSEMBLY_ITEM_ID
是以为记。也许将来某一天会再次遇到。
Read More..>>PROFILE中的口令参数
今天看到了下AD中的PORFILE,其中的密码策略是这样的:
SQL> SELECT *
2 FROM dba_profiles
3 WHERE profile != ‘DEFAULT’
4 AND resource_name LIKE ‘PASSWORD%’;
PROFILE RESOURCE_NAME […]
Read More..>>EBS中删除并发程序
并发程序(Concurrent Program)是跟可执行程序关联的。如果可执行程序未被任何并发程序关联,则可以被删除。然而在EBS标准界面中,并发程序是不允许被删除的,它只能被禁用(Disable)。
参考Oracle官方文档(Oracle Applications Developer’s Guide),里面讲到并发程序也有一个专用的包来处理各类事务,包括注册、修改以及删除。这个包就是FND_PROGRAM。
在任何一本EBS的手册中都会警告不要使用SQLPlus等工具直接修改数据,否则Oracle将不予支持。不过由于在官方的开发手册中提到这个包,想必应该是合法的。
查看包中DELETE_PROGRAM的说明:
Deletes a concurrent program. All the references to the concurrent program are also deleted as well (cascaded).
具体使用方式为:
BEGIN
fnd_program.delete_program(program_short_name => ‘TEST_CONC_PROG’,
application => ‘MRP’);
END;
删除后将无法继续查到:
SELECT USER_CONCURRENT_PROGRAM_NAME,
ENABLED_FLAG,
CONCURRENT_PROGRAM_NAME,
DESCRIPTION,
EXECUTION_OPTIONS
FROM FND_CONCURRENT_PROGRAMS_VL
WHERE queue_control_flag = ‘N’
AND UPPER(USER_CONCURRENT_PROGRAM_NAME) = ‘TEST_CONC_PROG’
ORDER BY application_id, user_concurrent_program_name
不过,如果你一分钟在EBS中查找的话,你依然可以查到,并且会给你警告:您试图保存或修改即将删除的并发程序!
这里有一个比较严肃的建议:永远不要在产品库中尝试!
Oracle Database 11g 的内存管理
从11g开始,Oracle有新的内存管理相关参数:MEMORY_TARGET,正如10g的SGA_TARGET和9i的 SGA_MAX_SIZE,这个参数将进一步简化DBA的工作。据目前的材料所知,这个参数不仅自动调节SGA中的5个Cache,还允许Oracle增 加或缩减(Shink)整个SGA内存空间。这样的话,我们就可以简单的指定Oracle该使用多少SGA和PGA,是的,一步即可。这从某种意义上讲, 已经不再是自动共享内存管理(Automatic Shared Memory Management),而是自动内存管理(Automatic Memory Management)。
使用方法同样是:ALTER SYSTEM SET …。
11g的手册是这样介绍的:
EMORY_TARGET specifies the Oracle system-wide usable memory. The database tunes memory to the the MEMORY_TARGET value, reducing or enlarging the SGA and PGA as needed.
In a text initialization parameter file, if you omit the line for MEMORY_MAX_TARGET and include a value for MEMORY_TARGET , […]
《松灵山》入山
这是一个相当早的梦,但一直不知道该如何记录下来。虽然感觉并没有多少内容,但零零碎碎的又有许多东西。索性随手记一下,能记多少就记多少,记不下来就拉倒。
山脚的石屋,古怪的山路,废园,以及隐藏的寺庙。当太阳开始亲吻远处的地平线时,浓厚的雾气从地下浮了上来,整片大地被快速地笼罩在蒙胧的世界里。草原上的大地光滑而平整,仿佛一个绝大的舞台,只现出被灯光投射的一小块范围。
石青稳住疲惫不堪的身体,极目远眺,只见氤氲蔽目,根本分不清东南西北。他心里苦笑了一下,难道自己这条命就要葬送在这里?自从踏上松灵平原,这场 大雾好像故意跟他作对,不论他走到哪,雾气就跟到哪,避之不及,驱之不散,像一个幽灵般非要死缠着他。他从来不知道松灵平原还会发生这种怪异的事情,否 则,他宁死也不踏入半步的。
石青的弓着背,双手无力的下垂,仿佛挂着两个大铁锤,重重的把他往地面拉。终于,他抵受不住地底传来的引力,身体晃了晃,一下子扑到在地上。地上的 草吸收了空气中的雾气变得非常湿润,石青索性把脑袋埋进草丛中,让浸着水珠的草叶尽情舔嗜皮肤。一阵清凉透过脸庞,把整个身体都浸得清凉起来。