我想知道文件/表的位置,其中存储内置函数/包/ Oracle程序的定义,如MAX(),DBMS_OUTPUT等。
答案 0 :(得分:2)
在PL / SQL引擎中,Oracle提供的函数(如MAX()
)是STANDARD
模式中包SYS
的一部分。
大多数其他提供的软件包都位于SYS
架构中,但您可以很容易地找到任何单个软件包的位置 - for example:
SELECT *
FROM all_objects
WHERE object_name = 'DBMS_OUTPUT'
<强> Results 强>:
| OWNER | OBJECT_NAME | SUBOBJECT_NAME | OBJECT_ID | DATA_OBJECT_ID | OBJECT_TYPE | CREATED | LAST_DDL_TIME | TIMESTAMP | STATUS | TEMPORARY | GENERATED | SECONDARY | NAMESPACE | EDITION_NAME |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SYS | DBMS_OUTPUT | (null) | 4972 | (null) | PACKAGE | August, 27 2011 08:22:22+0000 | August, 27 2011 08:22:22+0000 | 2011-08-27:08:22:22 | VALID | N | N | N | 1 | (null) |
| PUBLIC | DBMS_OUTPUT | (null) | 4973 | (null) | SYNONYM | August, 27 2011 08:22:22+0000 | August, 27 2011 08:22:22+0000 | 2011-08-27:08:22:22 | VALID | N | N | N | 1 | (null) |
以下文档页面列出了大多数(如果不是全部)PL / SQL提供的软件包: http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/intro.htm#BABGEDBH
答案 1 :(得分:1)
用于创建内置函数,包和过程的脚本存储在数据库服务器计算机上。您必须找到环境变量$ORACLE_HOME
的值,然后转到$ORACLE_HOME/rdbms/admin/
。只需使用grep查找您正在寻找的文件。
如果数据库服务器是Windows计算机,请在命令提示符处查看ECHO %ORACLE_HOME%
并从那里继续。