03 2013 档案
摘要:在实际的EBS二次开发中,我们经常会碰到需要在各个环境之间移植二次开发的程序对象以及数据定义,如在EBS二次开发中并发请求的定义会涉及到:可执行、并发程序、值集、请求组等的定义,定义需要从开发环境、测试环境、UAT环境一直到正式环境,开发人员完成一个并发请求开发后,同样的定义需要在多个环境中手工完成,势必导致中间出现错误,导致浪费很多时间来进行检查,无形中增加了工作量;而更多的时候系统管理人员和开发人员是分离的,开发人员和系统管理人员之间还需要进行任务的交接,进一步增加了程序移植工作的难度和工作量。而FNDLOAD则是为了移植EBS数据定义而诞生的工具,它可以移植定义在AOL中的数据定义,如我
阅读全文
摘要:需求:实现供应商的接口导入: 导入供应商、供应商地址和供应商联系人的信息。 定义变量:--提交标准并发请求时的参数 l_request_id1 NUMBER; l_request_id2 NUMBER; l_request_id3 NUMBER; l_request_id4 NUMBER; l_bl_result1 BOOLEAN; l_bl_result2 BOOLEAN; l_bl_result3 BOOLEAN; 调用标准的请求,将三个接口表中的数据导入到系统中。 实现sql如下:IF v_supplier_error_flag = 'N' AND v_supplier_
阅读全文
摘要:ORA-01171: 数据文件因高级检查点错误而将脱机ORA-01172: 线程的恢复停止在块(在文件中)ORA-01173: 数据字典指明从系统表空间丢失的数据文件ORA-01174: DB_FILES 为 ,但需要为 才能兼容ORA-01175: 例程允许数据字典具有多于个文件ORA-01176: 控制文件允许数据字典具有多于个文件ORA-01177: 数据文件与字典不匹配- 可能是旧的原型ORA-01178: 文件 在最后一个 CREATE CONTROLFILE 之前创建,无法重新创建ORA-01179: 文件 不存在ORA-01180: 无法创建数据文件 1ORA-01181: 文件
阅读全文
摘要:ORA-00001: 违反唯一约束条件 (.)ORA-00017: 请求会话以设置跟踪事件ORA-00018: 超出最大会话数ORA-00019: 超出最大会话许可数ORA-00020: 超出最大进程数 ()ORA-00021: 会话附属于其它某些进程;无法转换会话ORA-00022: 无效的会话 ID;访问被拒绝ORA-00023: 会话引用进程私用内存;无法分离会话ORA-00024: 单一进程模式下不允许从多个进程注册ORA-00025: 无法分配ORA-00026: 丢失或无效的会话 IDORA-00027: 无法删去当前会话ORA-00028: 您的会话己被删去ORA-00029:
阅读全文
摘要:I、关系数据库设计范式介绍1.1 第一范式(1NF)无重复的列 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。简而言之,第一范式就是无重复的列。说明:在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。1.2 第二范式(2NF)属性完全依赖于主键[消除部分子函数依赖] 第二...
阅读全文
摘要:深入浅出oracle锁---原理篇在现代的多用户多任务系统中,必然会出现多个用户同时访问共享的某个对象,这个对象可能是表,行,或者内存结构,为了解决多个用户并发性访问带来的数据的安全性,完整性及一致性问题,必须要有一种机制,来使对这些共享资源的并发性访问串行化,oracle中的锁就可以提供这样的功能,当事务在对某个对象进行操作前,先向系统发出请求,对其加相应的锁,加锁后该事务就对该数据对象有了一定的控制权限,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作(可以做select动作,但select 利用的是undo中的前镜像数据了)。Oracle锁的分类Oracle锁基本上可以分为二类
阅读全文
摘要:1. 执行以下SQL语句查找存放表空间的数据文件的路径SELECT ddf.file_name FROM dba_data_files ddf WHERE ddf.tablespace_name = 'APPS_TS_TX_DATA';2. 用system/manager登录PL/SQL Developer新建一个command窗口运行如下SQL语句:ALTER TABLESPACE APPS_TS_TX_DATA ADD DATAFILE '/d01/dba/vis01data/tx_data14.dbf' SIZE 100M;(增加100M到APPS_TS_
阅读全文
摘要:COMMIT是一个非常快的操作,当我们发布commit命令时,真正困难的动作已经完成,在数据库中已经执行了数据更改,所以已经完成了99%的任务。例如:下列操作已经产生:1.在SGA(Buffer Cache)中已经生成了undo块;2.在SGA(Buffer Cache)中已经生成了产生改变的数据块和索引块;3.在REDO LOG BUFFER生成了前面两项的redo信息;4.依赖于前三项产生的数据量大小以及操作需要的时间,buffer中的数据可能已经有一部分输出到了磁盘;5.所有需要的锁已经获得; 当执行COMMIT命令时,只执行如下操作: 1.为事务生成SCN:SCN是ORACLE数据..
阅读全文
摘要:1.查询数据库当前进程的连接数: select count(*) from v$process; 2.查看数据库当前会话的连接数: elect count(*) from v$session; 3.查看数据库的并发连接数: select count(*) from v$session where status='ACTIVE'; 4.查看当前数据库建立的会话情况: select sid,serial#,username,program,machine,status from v$session; 5.查询数据库允许的最大连接数: select value from v$p...
阅读全文
摘要:Session:在计算机中,尤其是在网络应用中,称为“会话”。Session:在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。Connect、session、process的区别:一个数据库的Connect可以有一个或多个session,同时connect也可以有一个或多个process.在专业服务器连接方式中,一个session对应一个process,在共享服务器方式中,一个process可以为多个session。一个session也可以存在若干个process中,并行同样是一个session对应一个proc
阅读全文
摘要:1 概述 Oracle SGA区的监控和管理,是数据库日常维护的重要内容。本文详细介绍SGA的基本概念,SGA运行情况检查,以及SGA的参数设置原则,希望对大家的有所帮助。 2 SGA的基本概念 当启动Oracle数据库时,系统会先在内存内规划一个固定区域,用来储存用户需要的数据,以及Oracle运行时必备的系统信息。我们称此区域为系统全局区(System Global Area),简称SGA。 SGA 包含数个重要区域,分别是: ■ Database Buffer Cache (数据库缓冲区) ■ Redo Log Buffer (重做日志缓冲区) ■ Shared Pool ...
阅读全文
摘要:首先一点,如果只是select 的话,Oracle是不会加任何锁的,也就是Oracle对 select 读到的数据不会有任何限制。虽然这时候有可能另外一个进程正在修改表中的数据,并且修改的结果可能影响到你目前select语句的结果,但是因为没有锁,所以select结果为当前时刻表中记录的状态。如果加入了for update, 则Oracle一旦发现(符合查询条件的)这批数据正在被修改,则不会发出该select语句查询,直到数据被修改结束(被commit),马上自动执行这个select语句。同样,如果该查询语句发出后,有人需要修改这批数据(中的一条或几条),它也必须等到查询结束后(commit)
阅读全文
摘要:1.Form多OU实现1)创建一个Table,以CUX_OM_ORDER_HEADER_ALL为例2)创建Table的两个Synonym(一个不含_ALL,一个以_ALL结尾):CUX_OM_ORDER_HEADER和CUX_OM_ORDER_HEADER_ALL3)给不含_ALL的Synonym:CUX_OM_ORDER_HEADER加上组织屏蔽的策略函数dbms_rls.add_policy(object_name => 'CUX_OM_ORDER_HEADER', policy_name => 'ORG_SEC', ...
阅读全文
摘要:SQL1:--1、查看表空间的名称及大小 SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_tablespaces t, dba_data_files d WHERE t.tablespace_name = d.tablespace_name GROUP BY t.tablespace_name;--2、查看表空间物理文件的名称及大小 SELECT tablespace_name, file_id, file_name, round(byt...
阅读全文
摘要:有两个简单例子,以说明 "exists"和"in"的效率问题1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ; T1数据量小而T2数据量非常大时,T1<<T2 时,1) 的查询效率高。2) select * from T1 where T1.a in (select T2.a from T2) ; T1数据量非常大而T2数据量小时,T1>>T2 时,2) 的查询效率高。exists 用法:第(1)句理解其含义:其中 “select 1 from
阅读全文
摘要:在EBS中手电筒的运用是很平常的事了,但是在写代码的过程中有一句代码::parameter.G_query_find 很是让人朦胧。其实参数:parameter.G_query_find的作用是决定查询范围的一个开关。当:parameter.G_query_find:= 'TRUE'时,系统会根据我们在触发器 pre-query 中所定义的条件去查询。当:parameter.G_query_find:= 'FALSE'时,系统就会跳过查询条件,进而查询出全部记录。理解这个原理就明白手电筒使用过程中的触发器顺序和这个参数的作用。操作 触发器 相关代码 ...
阅读全文
摘要:1. COMMIT_FORM先针对form上面的数据变动进行commit,然后对于代码中的类似DML语句也进行提交;如果form上面的数据变动和代码中的数据变动有冲突,最后以FORM上的为准。适用:一般来在直接修改FORM上的数据,就使用commit_form。2.COMMIT对form和数据库进行提交。如果form上面的数据和代码中的数据变动有冲突,最后以FORM上的为准。适用:一般来在直接使用DML代码修改数据时,就使用commit。3. DO_KEY('COMMIT_FORM')它会首先寻找form下的triggers中的KEY-COMMIT触发器,并执行KEY-COMM
阅读全文
摘要:DECLARE l_item_key VARCHAR2(30) := 'CUX_DEMO_001'; --Item Type Internal Name l_item_type VARCHAR2(30); l_process VARCHAR2(30) := 'DEFAULT_PROCESS'; --Process Name BEGIN SELECT rcv_transactions_s.nextval INTO v_itemkey FROM dual; --Assign a item key --01 创建 wf_engine.createprocess(ite
阅读全文
摘要:解决方法:1. 通过WF_RESOURCES表查询出的提示,猜测可能是工作流的角色不存在。2. 查看WF_ALL_ROLE_LOV_VL表,确认没有定义此用户。Workflow目录服务原理:Workflow的目录服务是收集用户和角色信息,以统一的格式提供给WorkFlow消息系统使用。包括:2.1.一套本地表:WF_LOCAL_XXX2.2.一套实际使用的视图:WF_USERS/WF_ROLES/WF_USER_ROLES2.3.一套各来源的视图:WF_<Orig_system>_ROLES2.4.一个批量同步请求集:Synchronize Workflow LOCAL table
阅读全文
摘要:Symptom:APP-FND-00756: Cannot find combination CCID=-1 CODE=GL# SET=50362Cause:遇到这种错误,很多时候时候是因为你的科目是无效科目。CODE=GL#,表示这个在查找Accounting FlexfieldCCID=-1,表示选择的科目ID执行下边的SQLSELECT * FROM gl_code_combinations_kfv WHERE concatenated_segments LIKE '01.203010.30102400.00%';如果返回没有值,说明你的科目在系统中不存在
阅读全文
摘要:1.数据库中包含了对应CCID的数据库列:ACCOUNT_CCID,在块中创建非数据库项(Data最大长度为2000)2.在BLOCK级添加如下触发器: PRE-QUERY: FND_FLEX.EVENT('PRE-QUERY'); PRE-INSERT: FND_FLEX.EVENT('PRE-INSERT'); PRE-UPDATE: FND_FLEX.EVENT('PRE-UPDATE'); POST-QUERY: FND_FLEX.EVENT('POST-QUERY'); WHEN-VALIDATE-RECORD: FND
阅读全文
浙公网安备 33010602011771号