ORACLE_HOME:将要安装oracle软件的目录,指向oracle二进制文件应该安装到的位置。
ORACLE_BASE:主机服务器上用于oracle软件的顶级目录
ORACLE_SID:定义一个unix用户会话应该连接到服务器上的那个实例,不能多于8个字符。
ORACLE_OWNER
ORACLE_TERM
DISPLAY
SHLIB_PATH
LD_LIBRARY_PATH:指定oracle共享对象库的位置.在unix系统上,这个变量通常指向$ORACLE_HOME/lib或者是$ORACLE_HOME/lib32目录
ORA_NLS33
NLS_LANG
PATH:告诉操作系统在unix那些目录中查找可执行文件
TMPDIR
TNS_ADMIN:保存oracle net配置文件的位置
DBCA_RAW_CONFIG
TERM
CLASSPATH
TWO_TASK:指定一个将要用在unix系统上的默认oracle net连接串—如果用户没有指定任何连接串
用于unix文件系统和安装点的命名约定
用于目录路径的命名约定
用于数据文件的命名约定
用于oracle相关文件的标准位置
必须管理许多的数据库、应用服务器、web服务器和其他构件的企业可以采用em grid control
Em grid control是一个基于web的用户界面,它与oracle企业内所有构件进行通讯并集中管理这些构件。
Dba可以从一个统一的位置使用em grid control来监视和管理整个计算环境,其中包括主机、数据库、监听器、应用服务器、http服务器和web应用软件。
是一个基于java的web构件,该构件是dba用来监视和控制oracle企业框架内各个受管理目标的实际界面
已收集到并与受管理目标有关的配置和监视信息被存储到一个oracle管理储存库中。Oracle管理储存库由oracle的两个表空间组成,这两个表空间含有与em内所管理的管理员、目标和应用软件有关的信息。
Oracle 管理代理程序与oracle 管理服务进行通信,以便将数据放入到oracle 管理存储库中。Oracle管理储存库经过精心组织,以便让oracle 管理服务内的检索和显示变得更为容易。
包括数据库、应用服务器、web服务器、应用软件以及像oraclenet监听器和connection manager连接管理器之类的oracle 代理程序。
em db console是oracle企业管理框架内的一个构件,它基于web并用来管理oracledb 10g release,em 数据库控制允许dba监视和管理单个oracle数据库实例或单个rac环境。
是em的一个构件,它基于web并用来监视oracle application server10g,应用服务器控制允许dba监视和管理单个oracleapplication server实例,一组oracle application server实例和oracle application server集群。
用户帐户:
1. Sys用户拥有构成该数据目录的所有内部oracle表。
2. System 是一个含有辅助管理表和视图的辅助支持用户。
3. Dbsnmp是由em工具用来监视和收集数据库性能统计数据的一个数据库账号
4. Sysman 对em工具来说,sysman 等价与sys,不仅能够创建和修改其它em管理员账号,还能够管理数据库实例本身。
自动存储管理
Oracle 10g引进的一种新型存储机制。它依靠oracle来维护企业的数据库存储器,被设计用来解除磁盘和存储器管理的负担,可以使用ASM来定义用于文件管理的磁盘组。
磁盘组类似于某些操作系统中卷组的概念。
Oracle在asm专门用来跟踪磁盘组分配的一个辅助数据内管理数据库的存储器定义。
数据库模板是用xml文件格式保存在本地磁盘上的数据库配置的定义。
Dbca能够使用两种类型的模板:种子模板和非种子模板。
种子模板指含有定义信息和实际的数据文件与重做日志文件的模板定义。
种子模板的优点是dbca生成定义文件中所包含的数据文件和重做日志文件的一个副本。这些预建的数据库文件含有所有模式信息,而这些有助于一个较快速的数据库创建过程。种子模板带有一个.dbc扩展名。相关联的预定义重做日志文件和数据文件存储为带有一个.djf扩展名的文件。当使用一个种子模板时,读者可以修改数据库名称、数据文件位置、控制文件和重做日志文件的数量以及初始化参数。
模板将含有关源数据库中指定的结构信息及物理数据文件。使用这种模板创建的数据库和源数据库相同。用户定义的方案及数据将是模板的一部分。
非种子模板含有自定义的数据库定义。和种子模板不同的是,非种子模板不含有预配置的数据文件和重做日志。非种子模板还有一个.dbt扩展名。该模板将含有关源数据库的结构信息,其中包括源数据库中的数据库选项,表空间,数据文件以及指定的初始化参数。用户定义的方案及其数据不作为已创建模板的一部分。
常用的数据库模板包括:
1. Data warehouse
2. General purpose
3. Transaction processing
模板定义的细节:
部分 |
描述 |
Common Options(常见选项) |
显示那些选项将会得到创建 |
Initalization Parameters(初始化参数) |
显示常用的初始化参数和他们的设置 |
Character sets 字符集 |
要用到的字符集 |
Control files控制文件 |
控制文件的名称和位置 |
Tablespaces表空间 |
表空间的名称和类型 |
Datafile数据文件 |
每个表空间的数据文件名和他们的大小 |
Redo log groups重做日志组 |
组成员与大小 |
字符集是在计算机屏幕上显示字符时所使用的编码方案。所选的字符集确定了可以在数据库中表示的语言。而且还会影响:
创建数据库方案的方式
开发用于处理字符数据的应用程序的方式
数据库与操作系统一起工作的方式
性能
存储字符数据所需的存储空间
Oracle 数据库对以下项使用数据库字符集:
以 CHAR 数据类型 (CHAR、VARCHAR2、CLOB 和 LONG) 存储的数据
标识符,如表名、列名和PL/SQL 变量 输入并存储 SQL 和 PL/SQL 程序源代码
下表说明了可以在此页选择的字符集选项:
选项 |
说明 |
使用默认值 |
如果对于所有数据库用户和数据库应用程序只需要支持操作系统当前使用的语言,请选择此选项。 |
使用 Unicode (AL32UTF8) |
如果对于数据库用户和数据库应用程序需要支持多种语言,请选择此选项。有关通过 Unicode 支持多语种数据库的信息,请参阅 Oracle Database Globalization Support Guide。 |
从字符集列表中选择 |
如果希望 Oracle 数据库使用除操作系统使用的默认字符集以外的其它字符集,请选择此选项。 |
有关下拉列表所列的字符集的说明,请参阅 Oracle Database Globalization Support Guide。
国家字符集是一个备用字符集,利用此字符集可以在没有Unicode 数据库字符集的数据库中存储Unicode 字符。
选择国家字符集的其它原因如下:
对于频繁的字符处理操作,不同的字符编码方案可能更为理想
使用国家字符集时编程更容易 您对国家字符集的选择不会影响您的数据库字符集。
有关选择国家字符集的详细信息,请参阅 Oracle Database Globalization Support Guide。
默认语言设置可以确定数据库如何支持与区域设置相关的信息,例如: 日和月份的名称及其缩写 A.M.、P.M.、A.D. 和 B.C. 的等价表示方法的符号 指定 ORDER BY SQL 子句时字符数据的默认排序方式 书写方向 (从左向右或从右向左) 肯定答复和否定答复字符串(例如,YES 和 NO) 从下拉菜单中选择默认语言。
有关 Oracle 数据库中支持的语言的完整列表,以及与区域设置相关的信息细节,请参阅 Oracle Database Globalization Support Guide。默认日期格式 小时、日、月和年的显示方式有很多种,您可以选择符合本国习惯的方式。例如,英国使用 DD-MON-YYYY 格式显示日期,而日本通常使用YYYY-MM-DD 格式来显示日期。 从下拉菜单中选择默认日期格式。 注:还可以配置 Oracle 数据库,使其支持各种时区和夏时制。有关详细信息,请参阅 Oracle Database Globalization Support Guide。
TZ set to PRC
Oracle EnterpriseManager 10g DatabaseControl Release 10.2.0.1.0
Copyright (c) 1996,2005 Oracle Corporation. All rightsreserved.
Starting agent ...started.
TZ set to PRC
Oracle EnterpriseManager 10g DatabaseControl Release 10.2.0.1.0
Copyright (c) 1996,2005 Oracle Corporation. All rightsreserved.
Stopping agent ...stopped.
启动主机服务器上的em进程。
Oracle Enterprise Manager 10gDatabase Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://linux:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control ...OracleDBConsolehndss
服务正在启动 ..........................
OracleDBConsolehndss 服务已经启动成功。
TZ set to PRC
Oracle EnterpriseManager 10g DatabaseControl Release 10.2.0.1.0
Copyright (c) 1996,2005 Oracle Corporation. All rightsreserved.
http://hnint:1158/em/console/aboutApplication
Stopping OracleEnterprise Manager 10g DatabaseControl ...
... Stopped.
TZ set to PRC
Oracle EnterpriseManager 10g DatabaseControl Release 10.2.0.1.0
Copyright (c) 1996,2005 Oracle Corporation. All rightsreserved.
http://hnint:1158/em/console/aboutApplication
Oracle EnterpriseManager 10g isrunning.
------------------------------------------------------------------
Logs are generatedin directory /usr/local/oracle/app/hnint_hnbak/sysman/log
iSQL*Plus 10.2.0.1.0
Copyright (c) 2003,2005, Oracle. All rights reserved.
iSQL*Plus instanceon port 5560 is already running ...
iSQL*Plus 10.2.0.1.0
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Stopping iSQL*Plus ...
iSQL*Plus stopped.
输入以下命令之一:
通过指定以下选项创建实例:
-NEW -SID sid | -SRVC srvc |-ASMSID sid | -ASMSRVC srvc [-SYSPWD pass]
[-STARTMODE auto|manual][-SRVCSTART system|demand] [-PFILE file | -SPFILE]
[-SHUTMODEnormal|immediate|abort] [-TIMEOUT secs] [-RUNAS osusr/ospass]
通过指定以下选项编辑实例:
-EDIT -SID sid | -ASMSID sid[-SYSPWD pass]
[-STARTMODE auto|manual][-SRVCSTART system|demand] [-PFILE file | -SPFILE]
[-SHUTMODEnormal|immediate|abort] [-SHUTTYPE srvc|inst] [-RUNAS osusr/ospass]
通过指定以下选项删除实例:
-DELETE -SID sid | -ASMSIDsid | -SRVC srvc | -ASMSRVC srvc
通过指定以下选项启动服务和实例:
-STARTUP -SID sid | -ASMSIDsid [-SYSPWD pass]
[-STARTTYPE srvc|inst|srvc,inst][-PFILE filename | -SPFILE]
通过指定以下选项关闭服务和实例:
-SHUTDOWN -SID sid | -ASMSIDsid [-SYSPWD pass]
[-SHUTTYPE srvc|inst|srvc,inst][-SHUTMODE normal|immediate|abort]
通过指定以下参数查询帮助: -? | -h | -help
Orapwd
ORAPWDFILE=
各命令参数的含义为:
---- FILENAME:密码文件名;
---- PASSWORD:设置INTERNAL/SYS帐号的口令;
---- MAX_USERS:密码文件中可以存放的最大用户数,对应于允许以SYSDBA/SYSOPER权限登录数据库的最大用户数。由于在以后的维护中,若用户数超出了此限制,则需要重建密码文件,所以此参数可以根据需要设置得大一些。
force=
1. 从shutdown normal命令发布起, 禁止建立任何新的oracle连接。
2. 数据库将等到所有用户都被断开后再继续关闭过程。
等待当前所有已连接的用户断开与数据库的连接
1. 从shutdown transactional命令发布起, 禁止建立任何新的oracle连接。
2. 从shutdown transactional命令发布起,禁止启动任何新的事务。
3. 一旦数据库上所有的活动事务执行完毕, 所有的客户连接将被断开。
完成事务处理后断开所有已连接的用户
1. 从shutdown immediate命令发布起,禁止建立任何新的oracle连接
2. 未提交的事务被回退。因此,处于一个事务中间的用户将失去所有未提交的劳动成果。
3. oracle不等待客户断开连接。任何未完成的事务均被回退,而且他们的数据库连接被终止
回退活动事务处理并断开所有已连接的用户
中止数据库实例, 立即关闭
异常关闭是最主动的关闭类型,并且有如下这些特征:
1. 从shutdown abort命令发布起,禁止建立任何新的oracle连接
2. 当前正在运行的sql语句被终止,无论他们处于什么状态。
3. 未提交的工作被回退
4. oracle在shutdown abort命令发布时刻立即断开所有客户连接。
启动实例但不安装数据库,当数据库以这个模式启动时,参数文件被读取,后台进程和内存结构被启动,但他们不被附加或与数据库的磁盘结构进行通信。这种模式下,数据库是不可使用的。
可以执行的任务是:运行一个创建基础数据库的脚本和重建控制文件。
在nomount启动模式下,只能访问到那些与sga区相关的数据词典视图,包括:
V$sga、V$parameter、V$option、V$process、v$instance、v$version、v$session
这些视图中的信息都是从sga中获得,与数据库无关。
执行nomount的所有工作,另外附加数据结构并与这些数据结构进行交互。这时,oracle从控制文件中获得信息。
可以执行的任务是:
1. 执行数据库的完全恢复操作
2. 重命名数据文件
3. 改变数据库的归档状态。
4. 添加、删除或重命名重做日志
在mount启动模式下,只能访问到那些与控制文件相关的数据字典视图,包括v$database、v$thread、v$datafile、v$logfile、v$controlfile等,这些信息都是从控制文件中获得。
这个选项把数据库变成对所有用户都是可用的。
启动数据库并把它置于open模式,直给拥有restrictedsession权限的用户赋予访问权。
Alter systemdisable restricted session;
另外,启动时,oracle会首先搜索$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora,如果不存在,再搜索$ORACLE_HOME/dbs/spfile.ora,如果不存在,再搜索$ORACLE_HOME/dbs/init$ORACLE_SID.ora,如果还不存在,则开始报错,提示找不到参数文件。
状态 启动
开始运行时间 2005-11-9下午01时31分42秒 CST
实例名 hndss
版本 10.2.0.1.0
主机 linux
监听程序 LISTENER_linux
oracle enterprise manager grid control可以用来管理每个oracle数据库,
也可以使用oracle enterprise manager database control可以管理本地数据库。
createor replace directory dumpdir as 'c:\';
grant read,write on directory dumpdir to scott;
expdp newdr/123456@hncrm directory=test dumpfile=test_score1.dmplogfile=tes
t.log parallel=2 schemas=newdr
resourcebusy and acquire with NOWAIT specified
资源正忙,要求指定NOWAIT
internalerror code,arguments:[num],[?],[?],[?],[?]
产生原因:这种错误通常为ORACLE的内部错误,只对OSS和ORACLE开发有用。ORA-600的错误经常伴随跟踪文件的状态转储(系统状态和进程状态),系统状态存储将包括ORACLE RDBMS持有的当前对象的信息,进程状态转储则将显示特殊进程持有的对象,当进程符合了某错误条件时,经常是由于一些信息取自它持有的一个块,如果我们知道这些错误进程持有的块,就容易跟踪问题的来源。
解决方法:一般来说出现这个错误我们本身是无法解决的,只有从提高系统本身各方面来解决这个内部问题,如增加硬件设备,调整系统性能,使用OPS(当然OPS从某种意义上说并不是一种好的解决方式)等。ORA-600错误的第一个变量用于标记代码中错误的位置(代码中的每个部分的第一变量都不一样),从第二个到第五个变量显示附加信息,告诉OSS代码在哪里出现了错误。
一个报错例子如下:
ORA-00600:internal error code, arguments: [1237], [], [], [], [], [], [], []
相应的英文如下:
Cause:Thisis a catchall(包罗万象的) internal error message for Oracle program exceptions.Itindicates that a process has met a low-level,unexpected condition.Variouscauses of this message include:
Time-outs(超时)
Filecorruption(文件太老)
Faileddata checks in memory(内存检索失败)
Hardware,memory,orI/O errors(硬件、内存或者磁盘错误)
Incorrectlyrestored files(错误的重建文件)
Ora-600 Base |
Functionality |
Description |
||||||||||||||||||||||||||||||||||||||||||||||||
1 |
Service Layer |
The service layer has within it a variety of service related components which are associated with in memory related activities in the SGA such as, for example : the management of Enqueues, System Parameters, System state objects (these objects track the use of structures in the SGA by Oracle server processes), etc.. In the main, this layer provides support to allow process communication and provides support for locking and the management of structures to support multiple user processes connecting and interacting within the SGA. Note : vos - Virtual Operating System provides features to support the functionality above. As the name suggests it provides base functionality in much the same way as is provided by an Operating System.
|
||||||||||||||||||||||||||||||||||||||||||||||||
2000 |
Cache Layer |
Where errors are generated in this area, it is advisable to check whether the error is repeatable and whether the error is perhaps associated with recovery or undo type operations; where this is the case and the error is repeatable, this may suggest some kind of hardware or physical issue with a data file, control file or log file. The Cache layer is responsible for making the changes to the underlying files and well as managing the related memory structures in the SGA. Note : rcv indicates recovery. It is important to remember that the Oracle cache layer is effectively going through the same code paths as used by the recovery mechanism.
It is important to consider when the error occurred and the context in which the error was generated. If the error does not reproduce, it may be an in memory issue. |
||||||||||||||||||||||||||||||||||||||||||||||||
4000 |
Transaction Layer |
Primarily the transaction layer is involved with maintaining structures associated with the management of transactions. As with the cache layer , problems encountered in this layer may indicate some kind of issue at a physical level. Thus it is important to try and repeat the same steps to see if the problem recurs.
It is important to try and determine what the object involved in any reproducible problem is. Then use the analyze command. For more information, please refer to the analyze command as detailed in the context of < |
||||||||||||||||||||||||||||||||||||||||||||||||
6000 |
Data Layer |
The data layer is responsible for maintaining and managing the data in the database tables and indexes. Issues in this area may indicate some kind of physical issue at the object level and therefore, it is important to try and isolate the object and then perform an anlayze on the object to validate its structure.
Again, it is important to try and determine what the object involved in any reproducible problem is. Then use the analyze command. For more information, please refer to the analyze command as detailed in the context of < |
||||||||||||||||||||||||||||||||||||||||||||||||
12000 |
User/Oracle Interface & SQL Layer Components |
This layer governs the user interface with the Oracle server. Problems generated by this layer usually indicate : some kind of presentation or format error in the data received by the server, i.e. the client may have sent incomplete information; or there is some kind of issue which indicates that the data is received out of sequence
You should try and repeat the issue and with the use of sql trace , try and isolate where exactly the issue may be occurring within the application. |
||||||||||||||||||||||||||||||||||||||||||||||||
14000 |
System Dependent Component internal error values |
This layer manages interaction with the OS. Effectively it acts as the glue which allows the Oracle server to interact with the OS. The types of operation which this layer manages are indicated as follows.
|
||||||||||||||||||||||||||||||||||||||||||||||||
15000 |
security/dac, |
local user access validation; challenge / response activity for remote access validation; auditing operation; any activities associated with granting and revoking of privileges; validation of password with external password file |
||||||||||||||||||||||||||||||||||||||||||||||||
15100 |
dict/sqlddl |
this component manages operations associated with creating, compiling (altering), renaming, invalidating, and dropping procedures, functions, and packages. |
||||||||||||||||||||||||||||||||||||||||||||||||
15160 |
optim/cbo |
cost based optimizer layer is used to determine optimal path to the data based on statistical information available on the relevant tables and indexes. |
||||||||||||||||||||||||||||||||||||||||||||||||
15190 |
optim/cbo |
cost based optimizer layer. Used in the generation of a new index to determine how the index should be created. Should it be constructed from the table data or from another index. |
||||||||||||||||||||||||||||||||||||||||||||||||
15200 |
dict/shrdcurs |
used to in creating sharable context area associated with shared cursors |
||||||||||||||||||||||||||||||||||||||||||||||||
15230 |
dict/sqlddl |
manages the compilation of triggers |
||||||||||||||||||||||||||||||||||||||||||||||||
15260 |
dict/dictlkup |
dictionary lookup and library cache access |
||||||||||||||||||||||||||||||||||||||||||||||||
15400 |
server/drv |
manages alter system and alter session operations |
||||||||||||||||||||||||||||||||||||||||||||||||
15410 |
progint/if |
manages compilation of pl/sql packages and procedures |
||||||||||||||||||||||||||||||||||||||||||||||||
15500 |
dict/dictlkup |
performs dictionary lookup to ensure semantics are correct |
||||||||||||||||||||||||||||||||||||||||||||||||
15550 |
sqlexec/execsvc |
hash join execution management; |
||||||||||||||||||||||||||||||||||||||||||||||||
15600 |
sqlexec/pq |
component provides support for Parallel Query operation |
||||||||||||||||||||||||||||||||||||||||||||||||
15620 |
repl/snapshots |
manages the creation of snapshot or materialized views as well as related snapshot / MV operations |
||||||||||||||||||||||||||||||||||||||||||||||||
15640 |
repl/defrdrpc |
layer containing various functions for examining the deferred transaction queue and retrieving information |
||||||||||||||||||||||||||||||||||||||||||||||||
15660 |
jobqs/jobq |
manages the operation of the Job queue background processes |
||||||||||||||||||||||||||||||||||||||||||||||||
15670 |
sqlexec/pq |
component provides support for Parallel Query operation |
||||||||||||||||||||||||||||||||||||||||||||||||
15700 |
sqlexec/pq |
component provides support for Parallel Query operation; specifically mechanism for starting up and shutting down query slaves |
||||||||||||||||||||||||||||||||||||||||||||||||
15800 |
sqlexec/pq |
component provides support for Parallel Query operation |
||||||||||||||||||||||||||||||||||||||||||||||||
15810 |
sqlexec/pq |
component provides support for Parallel Query operation; specifically functions for creating mechanisms through which Query co-ordinator can communicate with PQ slaves; |
||||||||||||||||||||||||||||||||||||||||||||||||
15820 |
sqlexec/pq |
component provides support for Parallel Query operation |
||||||||||||||||||||||||||||||||||||||||||||||||
15850 |
sqlexec/execsvc |
component provides support for the execution of SQL statements |
||||||||||||||||||||||||||||||||||||||||||||||||
15860 |
sqlexec/pq |
component provides support for Parallel Query operation |
||||||||||||||||||||||||||||||||||||||||||||||||
16000 |
loader |
sql Loader direct load operation; |
||||||||||||||||||||||||||||||||||||||||||||||||
16150 |
loader |
this layer is used for 'C' level call outs to direct loader operation; |
||||||||||||||||||||||||||||||||||||||||||||||||
16200 |
dict/libcache |
this is part of library Cache operation. Amongst other things it manages the dependency of SQL objects and tracks who is permitted to access these objects; |
||||||||||||||||||||||||||||||||||||||||||||||||
16230 |
dict/libcache |
this component is responsible for managing access to remote objects as part of library Cache operation; |
||||||||||||||||||||||||||||||||||||||||||||||||
16300 |
mts/mts |
this component relates to MTS (Multi Threaded Server) operation |
||||||||||||||||||||||||||||||||||||||||||||||||
16400 |
dict/sqlddl |
this layer contains functionality which allows tables to be loaded / truncated and their definitions to be modified. This is part of dictionary operation; |
||||||||||||||||||||||||||||||||||||||||||||||||
16450 |
dict/libcache |
this layer layer provides support for multi-instance access to the library cache; this functionality is applicable therefore to OPS environments; |
||||||||||||||||||||||||||||||||||||||||||||||||
16500 |
dict/rowcache |
this layer provides support to load / cache Oracle's dictionary in memory in the library cache; |
||||||||||||||||||||||||||||||||||||||||||||||||
16550 |
sqlexec/fixedtab |
this component maps data structures maintained in the Oracle code to fixed tables such that they can be queried using the SQL layer; |
||||||||||||||||||||||||||||||||||||||||||||||||
16600 |
dict/libcache |
this layer performs management of data structures within the library cache; |
||||||||||||||||||||||||||||||||||||||||||||||||
16651 |
dict/libcache |
this layer performs management of dictionary related information within library Cache; |
||||||||||||||||||||||||||||||||||||||||||||||||
16701 |
dict/libcache |
this layer provides library Cache support to support database creation and forms part of the bootstrap process; |
||||||||||||||||||||||||||||||||||||||||||||||||
17000 |
dict/libcache |
this is the main library Cache manager. This Layer maintains the in memory representation of cached sql statements together will all the necessary support that this demands; |
||||||||||||||||||||||||||||||||||||||||||||||||
17090 |
generic/vos |
this layer implementations error management operations: signalling errors, catching errors, recovering from errors, setting error frames, etc.; |
||||||||||||||||||||||||||||||||||||||||||||||||
17100 |
generic/vos |
Heap manager. The Heap manager manages the storage of internal data in an orderly and consistent manner. There can be many heaps serving various purposes; and heaps within heaps. Common examples are the SGA heap, UGA heap and the PGA heap. Within a Heap there are consistency markers which aim to ensure that the Heap is always in a consistent state. Heaps are use extensively and are in memory structures - not on disk. |
||||||||||||||||||||||||||||||||||||||||||||||||
17200 |
dict/libcache |
this component deals with loading remote library objects into the local library cache with information from the remote database. |
||||||||||||||||||||||||||||||||||||||||||||||||
17250 |
dict/libcache |
more library cache errors ; functionality for handling pipe operation associated with dbms_pipe |
||||||||||||||||||||||||||||||||||||||||||||||||
17270 |
dict/instmgmt |
this component manages instantiations of procedures, functions, packages, and cursors in a session. This provides a means to keep track of what has been loaded in the event of process death; |
||||||||||||||||||||||||||||||||||||||||||||||||
17300 |
generic/vos |
manages certain types of memory allocation structure. This functionality is an extension of the Heap manager. |
||||||||||||||||||||||||||||||||||||||||||||||||
17500 |
generic/vos |
relates to various I/O operations. These relate to async i/o operation, direct i/o operation and the management of writing buffers from the buffer cache by potentially a number of database writer processes; |
||||||||||||||||||||||||||||||||||||||||||||||||
17625 |
dict/libcache |
additional library Cache supporting functions |
||||||||||||||||||||||||||||||||||||||||||||||||
17990 |
plsql |
plsql 'standard' package related issues |
||||||||||||||||||||||||||||||||||||||||||||||||
18000 |
txn/lcltx |
transaction and savepoint management operations |
||||||||||||||||||||||||||||||||||||||||||||||||
19000 |
optim/cbo |
cost based optimizer related operations |
||||||||||||||||||||||||||||||||||||||||||||||||
20000 |
ram/index |
bitmap index and index related errors. |
||||||||||||||||||||||||||||||||||||||||||||||||
20400 |
ram/partnmap |
operations on partition related objects |
||||||||||||||||||||||||||||||||||||||||||||||||
20500 |
server/rcv |
server recovery related operation |
||||||||||||||||||||||||||||||||||||||||||||||||
21000 |
repl/defrdrpc, |
replication related features |
||||||||||||||||||||||||||||||||||||||||||||||||
23000 |
oltp/qs |
AQ related errors. |
||||||||||||||||||||||||||||||||||||||||||||||||
24000 |
dict/libcache |
operations associated with managing stored outlines |
||||||||||||||||||||||||||||||||||||||||||||||||
25000 |
server/rcv |
tablespace management operations |
Internal Errors Categorised by mnemonic
The following table details mnemonics error stems which are possible. Ifyou have encountered : ora-600[kkjsrj:1] for example, you should lookdown the Error Mnemonic column (errors in alphabetical order) until you findthe matching stem. In this case, kkj indicates that something unexpectedhas occurred in job queue operation.
Error Mnemonic(s) |
Functionality |
Description |
ain ainp |
ram/index |
ain - alter index; ainp - alter index partition management operation |
apacb |
optim/rbo |
used by optimizer in connect by processing |
atb atbi atbo ctc ctci cvw |
dict/sqlddl |
alter table , create table (IOT) or cluster operations as well as create view related operations (with constraint handling functionality) |
dbsdrv |
sqllang/parse |
alter / create database operation |
ddfnet |
progint/distrib |
various distributed operations on remote dictionary |
delexe |
sqlexec/dmldrv |
manages the delete statement operation |
dix |
ram/index |
manages drop index or validate index operation |
dtb |
dict/sqlddl |
manages drop table operation |
evaa2g evah2p evaa2g |
dbproc/sqlfunc |
various functions involves in evaluating operand outcomes such as : addition , average, OR operator, bites AND , bites OR, concatenation, as well as Oracle related functions : count(), dump() , etc. The list is extensive. |
expcmo expgon |
dbproc/expreval |
handles expression evaluation with respect to two operands being equivalent |
gra |
security/dac |
manages the granting and revoking of privilege rights to a user |
gslcsq |
plsldap |
support for operations with an LDAP server |
insexe |
sqlexec/dmldrv |
handles the insert statement operation |
jox |
progint/opi |
functionality associated with the Java compiler and with the Java runtime environment within the Server |
k2c k2d |
progint/distrib |
support for database to database operation in distributed environements as well as providing, with respect to the 2-phase commit protocol, a globally unique Database id |
k2g k2l |
txn/disttx |
support for the 2 phase commit protocol protocol and the coordination of the various states in managing the distributed transaction |
k2r k2s k2sp |
progint/distrib |
k2r - user interface for managing distributed transactions and combining distributed results ; k2s - handles logging on, starting a transaction, ending a transaction and recovering a transaction; k2sp - management of savepoints in a distributed environment. |
k2v |
txn/disttx |
handles distributed recovery operation |
kad |
cartserv/picklercs |
handles OCIAnyData implementation |
kau |
ram/data |
manages the modification of indexes for inserts, updates and delete operations for IOTs as well as modification of indexes for IOTs |
kcb kcbb kcbk kcbl kcbs kcbt kcbw kcbz |
cache |
manages Oracle's buffer cache operation as well as operations used by capabilities such as direct load, has clusters , etc. |
kcc kcf |
rcv |
manages and coordinates operations on the control file(s) |
kcit |
context/trigger |
internal trigger functionality |
kck |
rcv |
compatibility related checks associated with the compatible parameter |
kcl |
cache |
background lck process which manages locking in a RAC or parallel server multiple instance environment |
kco kcq kcra kcrf kcrfr kcrfw kcrp kcrr kcs kct kcv |
rcv |
various buffer cache operation such as quiesce operation , managing fast start IO target, parallel recovery operation , etc. |
kd |
ram/data |
support for row level dependency checking and some log miner operations |
kda |
ram/analyze |
manages the analyze command and collection of statistics |
kdbl kdc kdd |
ram/data |
support for direct load operation, cluster space management and deleting rows |
kdg |
ram/analyze |
gathers information about the underlying data and is used by the analyze command |
kdi kdibc3 kdibco kdibh kdibl kdibo kdibq kdibr kdic kdici kdii kdil kdir kdis kdiss kdit kdk |
ram/index |
support of the creation of indexes on tables an IOTs and index look up |
kdl kdlt |
ram/object |
lob and temporary lob management |
kdo |
ram/data |
operations on data such as inserting a row piece or deleting a row piece |
kdrp |
ram/analyze |
underlying support for operations provided by the dbms_repair package |
kds kdt kdu |
ram/data |
operations on data such as retrieving a row and updating existing row data |
kdv kdx |
ram/index |
functionality for dumping index and managing index blocks |
kfh kfp kft |
rcv |
support for writing to file header and transportable tablespace operations |
kgaj kgam kgan kgas kgat kgav kgaz |
argusdbg/argusdbg |
support for Java Debug Wire Protocol (JDWP) and debugging facilites |
kgbt kgg kgh kghs kghx kgkp |
vos |
kgbt - support for BTree operations; kgg - generic lists processing; kgh - Heap Manager : managing the internal structures withing the SGA / UGA / PGA and ensures their integrity; kghs - Heap manager with Stream support; kghx - fixed sized shared memory manager; kgkp - generic services scheduling policies |
kgl kgl2 kgl3 kgla kglp kglr kgls |
dict/libcache |
generic library cache operation |
kgm kgmt |
ilms |
support for inter language method services - or calling one language from another |
kgrq kgsk kgski kgsn kgss |
vos |
support for priority queue and scheduling; capabilities for Numa support; Service State object manager |
kgupa kgupb kgupd0 kgupf kgupg kgupi kgupl kgupm kgupp kgupt kgupx kguq2 kguu |
vos |
Service related activities activities associated with for Process monitor (PMON); spawning or creating of background processes; debugging; managing process address space; managing the background processes; etc. |
kgxp |
vos |
inter process communication related functions |
kjak kjat kjb kjbl kjbm kjbr kjcc kjcs kjctc kjcts kjcv kjdd kjdm kjdr kjdx kjfc kjfm kjfs kjfz kjg kji kjl kjm kjp kjr kjs kjt kju kjx |
ccl/dlm |
dlm related functionality ; associated with RAC or parallel server operation |
kjxgf kjxgg kjxgm kjxgn kjxgna kjxgr |
ccl/cgs |
provides communication & synchronisation associated with GMS or OPS related functionality as well as name service and OPS Instance Membership Recovery Facility |
kjxt |
ccl/dlm |
DLM request message management |
kjzc kjzd kjzf kjzg kjzm |
ccl/diag |
support for diagnosibility amongst OPS related services |
kkb |
dict/sqlddl |
support for operatoins which load/change table definitions |
kkbl kkbn kkbo |
objsupp/objddl |
support for tables with lobs , nested tables and varrays as well as columns with objects |
kkdc kkdl kkdo |
dict/dictlkup |
support for constraints, dictionary lookup and dictionary support for objects |
kke |
optim/cbo |
query engine cost engine; provides support functions that provide cost estimates for queries under a number of different circumstances |
kkfd |
sqlexec/pq |
support for performing parallel query operation |
kkfi |
optim/cbo |
optimizer support for matching of expressions against functional ndexes |
kkfr kkfs |
sqlexec/pq |
support for rowid range handling as well as for building parallel query query operations |
kkj |
jobqs/jobq |
job queue operation |
kkkd kkki |
dict/dbsched |
resource manager related support. Additionally, provides underlying functions provided by dbms_resource_manager and dbms_resource_manager_privs packages |
kklr |
dict/sqlddl |
provides functions used to manipulate LOGGING and/or RECOVERABLE attributes of an object (non-partitioned table or index or partitions of a partitioned table or index) |
kkm kkmi |
dict/dictlkup |
provides various semantic checking functions |
kkn |
ram/analyze |
support for the analyze command |
kko kkocri |
optim/cbo |
Cost based Optimizer operation : generates alternative execution plans in order to find the optimal / quickest access to the data. Also , support to determine cost and applicability of scanning a given index in trying to create or rebuild an index or a partition thereof |
kkpam kkpap |
ram/partnmap |
support for mapping predicate keys expressions to equivalent partitions |
kkpo kkpoc kkpod |
dict/partn |
support for creation and modification of partitioned objects |
kkqg kkqs kkqs1 kkqs2 kkqs3 kkqu kkqv kkqw |
optim/vwsubq |
query rewrite operation |
kks kksa kksh kksl kksm |
dict/shrdcurs |
support for managing shared cursors/ shared sql |
kkt |
dict/sqlddl |
support for creating, altering and dropping trigger definitions as well as handling the trigger operation |
kkxa |
repl/defrdrpc |
underlying support for dbms_defer_query package operations |
kkxb |
dict/sqlddl |
library cache interface for external tables |
kkxl |
dict/plsicds |
underlying support for the dbms_lob package |
kkxm |
progint/opi |
support for inter language method services |
kkxs |
dict/plsicds |
underlying support for the dbms_sys_sql package |
kkxt |
repl/trigger |
support for replication internal trigger operation |
kkxwtp |
progint/opi |
entry point into the plsql compiler |
kky |
drv |
support for alter system/session commands |
kkz kkzd kkzf kkzg kkzi kkzj kkzl kkzo kkzp kkzq kkzr kkzu kkzv |
repl/snapshot |
support for snapshots or Materialized View validation and operation |
kla klc klcli klx |
tools/sqlldr |
support for direct path sql loader operation |
kmc kmcp kmd kmm kmr |
mts/mts |
support for Multi Threaded server operation (MTS) : manange and operate the virtual circuit mechanism, handle the dispatching of massages, administer shared servers and for collecting and maintaining statistics associated with MTS |
knac knafh knaha knahc knahf knahs |
repl/apply |
replication apply operation associated with Oracle streams |
kncc |
repl/repcache |
support for replication related information stored and maintained in library cache |
kncd knce |
repl/defrdrpc |
replication related enqueue and dequeue of transction data as well as other queue related operations |
kncog |
repl/repcache |
support for loading replicaiton object group information into library cache |
kni |
repl/trigger |
support for replication internal trigger operation |
knip knip2 knipi knipl knipr knipu knipu2 knipx |
repl/intpkg |
support for replication internal package operation. |
kno |
repl/repobj |
support for replication objects |
knp knpc knpcb knpcd knpqc knps |
repl/defrdrpc |
operations assocaied with propagating transactions to a remote node and coordination of this activity. |
knst |
repl/stats |
replication statistics collection |
knt kntg kntx |
repl/trigger |
support for replication internal trigger operation |
koc |
objmgmt/objcache |
support for managing ADTs objects in the OOCI heap |
kod |
objmgmt/datamgr |
support for persistent storage for objects : for read/write objects, to manage object IDs, and to manage object concurrency and recovery. |
koh |
objmgmt/objcache |
object heap manager provides memory allocation services for objects |
koi |
objmgmt/objmgr |
support for object types |
koka |
objsupp/objdata |
support for reading images, inserting images, updating images, and deleting images based on object references (REFs). |
kokb kokb2 |
objsupp/objsql |
support for nested table objects |
kokc |
objmgmt/objcache |
support for pinning , unpinning and freeing objects |
kokd |
objsupp/datadrv |
driver on the server side for managing objects |
koke koke2 koki |
objsupp/objsql |
support for managing objects |
kokl |
objsupp/objdata |
lob access |
kokl2 |
objsupp/objsql |
lob DML and programmatic interface support |
kokl3 |
objsupp/objdata |
object temporary LOB support |
kokle kokm |
objsupp/objsql |
object SQL evaluation functions |
kokn |
objsupp/objname |
naming support for objects |
koko |
objsupp/objsup |
support functions to allow oci/rpi to communicate with Object Management Subsystem (OMS). |
kokq koks koks2 koks3 koksr |
objsupp/objsql |
query optimisation for objects , semantic checking and semantic rewrite operations |
kokt kokt2 kokt3 |
objsupp/objddl |
object compilation type manager |
koku kokv |
objsupp/objsql |
support for unparse object operators and object view support |
kol kolb kole kolf kolo |
objmgmt/objmgr |
support for object Lob buffering , object lob evaluation and object Language/runtime functions for Opaque types |
kope2 kopi2 kopo kopp2 kopu koputil kopz |
objmgmt/pickler |
8.1 engine implementation, implementation of image ops for 8.1+ image format together with various pickler related support functions |
kos |
objsupp/objsup |
object Stream interfaces for images/objects |
kot kot2 kotg |
objmgmt/typemgr |
support for dynamic type operations to create, delete, and update types. |
koxs koxx |
objmgmt/objmgt |
object generic image Stream routines and miscellaneous generic object functions |
kpcp kpcxlt |
progint/kpc |
Kernel programmatic connection pooling and kernel programmatic common type XLT translation routines |
kpki |
progint/kpki |
kernel programatic interface support |
kpls |
cartserv/corecs |
support for string formatting operations |
kpn |
progint/kpn |
support for server to server communication |
kpoal8 kpoaq kpob kpodny kpodp kpods kpokgt kpolob kpolon kpon |
progint/kpo |
support for programmatic operations |
kpor |
progint/opi |
support for streaming protocol used by replication |
kposc |
progint/kpo |
support for scrollable cursors |
kpotc |
progint/opi |
oracle side support functions for setting up trusted external procedure callbacks |
kpotx kpov |
progint/kpo |
support for managing local and distributed transaction coordination. |
kpp2 kpp3 |
sqllang/parse |
kpp2 - parse routines for dimensions; |
kprb kprc |
progint/rpi |
support for executing sql efficiently on the Oracle server side as well as for copying data types during rpi operations |
kptsc |
progint/twotask |
callback functions provided to all streaming operation as part of replication functionality |
kpu kpuc kpucp |
progint/kpu |
Oracle kernel side programmatic user interface, cursor management functions and client side connection pooling support |
kqan kqap kqas |
argusdbg/argusdbg |
server-side notifiers and callbacks for debug operations. |
kql kqld kqlp |
dict/libcache |
SQL Library Cache manager - manages the sharing of sql statements in the shared pool |
kqr |
dict/rowcache |
row cache management. The row cache consists of a set of facilities to provide fast access to table definitions and locking capabilities. |
krbi krbx krby krcr krd krpi |
rcv |
Backup and recovery related operations : |
krvg krvt |
rcv/vwr |
krvg - support for generation of redo associated with DDL; krvt - support for redo log miner viewer (also known as log miner) |
ksa ksdp ksdx kse ksfd ksfh ksfq ksfv ksi ksim ksk ksl ksm ksmd ksmg ksn ksp kspt ksq ksr kss ksst ksu ksut |
vos |
support for various kernel associated capabilities |
ksx |
sqlexec/execsvc |
support for query execution associated with temporary tables |
ksxa ksxp ksxr |
vos |
support for various kernel associated capabilities in relation to OPS or RAC operation |
kta |
space/spcmgmt |
support for DML locks and temporary tables associated with table access |
ktb ktbt ktc |
txn/lcltx |
transaction control operations at the block level : locking block, allocating space within the block , freeing up space, etc. |
ktec ktef ktehw ktein ktel kteop kteu |
space/spcmgmt |
support for extent management operations : |
ktf |
txn/lcltx |
flashback support |
ktfb ktfd ktft ktm |
space/spcmgmt |
ktfb - support for bitmapped space manipulation of files/tablespaces; ktfd - dictionary-based extent management; ktft - support for temporary file manipulation; ktm - SMON operation |
ktp ktpr ktr ktri |
txn/lcltx |
ktp - support for parallel transaction operation; ktpr - support for parallel transaction recovery; ktr - kernel transaction read consistency; |
ktsa ktsap ktsau ktsb ktscbr ktsf ktsfx ktsi ktsm ktsp ktss ktst ktsx ktt kttm |
space/spcmgmt |
support for checking and verifying space usage |
ktu ktuc ktur ktusm |
txn/lcltx |
internal management of undo and rollback segments |
kwqa kwqi kwqic kwqid kwqie kwqit kwqj kwqm kwqn kwqo kwqp kwqs kwqu kwqx |
oltp/qs |
support for advanced queuing : |
kwrc kwre |
oltp/re |
rules engine evaluation |
kxcc kxcd kxcs |
sqllang/integ |
constraint processing |
kxdr |
sqlexec/dmldrv |
DML driver entrypoint |
kxfp kxfpb kxfq kxfr kxfx |
sqlexec/pq |
parallel query support |
kxhf kxib |
sqlexec/execsvc |
khhf- support for hash join file and memory management; kxib - index buffering operations |
kxs |
dict/instmgmt |
support for executing shared cursors |
kxti kxto kxtr |
dbproc/trigger |
support for trigger operation |
kxtt |
ram/partnmap |
support for temporary table operations |
kxwph |
ram/data |
support for managing attributes of the segment of a table / cluster / table-partition |
kza |
security/audit |
support for auditing operations |
kzar |
security/dac |
support for application auditing |
kzck |
security/crypto |
encryption support |
kzd |
security/dac |
support for dictionary access by security related functions |
kzec |
security/dbencryption |
support inserting and retrieving encrypted objects into and out of the database |
kzfa kzft |
security/audit |
support for fine grained auditing |
kzia |
security/logon |
identification and authentication operations |
kzp kzra kzrt kzs kzu kzup |
security/dac |
security related operations associated with privileges |
msqima msqimb |
sqlexec/sqlgen |
support for generating sql statments |
ncodef npi npil npixfr |
progint/npi |
support for managing remote network connection from within the server itself |
oba |
sqllang/outbufal |
operator buffer allocate for various types of operators : concatenate, decode, NVL, etc. the list is extensive. |
ocik |
progint/oci |
OCI oracle server functions |
opiaba opidrv opidsa opidsc opidsi opiexe opifch opiino opilng opipar opipls opirip opitsk opix |
progint/opi |
OPI Oracle server functions - these are at the top of the server stack and are called indirectly by ythe client in order to server the client request. |
orlr |
objmgmt/objmgr |
support for C langauge interfaces to user-defined types (UDTs) |
orp |
objmgmt/pickler |
oracle's external pickler / opaque type interfaces |
pesblt pfri pfrsqc |
plsql/cox |
pesblt - pl/sql built in interpreter; pfri - pl/sql runtime; pfrsqc - pl/sql callbacks for array sql and dml with returning |
piht |
plsql/gen/utl |
support for pl/sql implementation of utl_http package |
pirg |
plsql/cli/utl_raw |
support for pl/sql implementation of utl_raw package |
pism |
plsql/cli/utl_smtp |
support for pl/sql implementation of utl_smtp package |
pitcb |
plsql/cli/utl_tcp |
support for pl/sql implementation of utl_tcp package |
piur |
plsql/gen/utl_url |
support for pl/sql implementation of utl_url package |
plio |
plsql/pkg |
pl/sql object instantiation |
plslm |
plsql/cox |
support for NCOMP processing |
plsm pmuc pmuo pmux |
objmgmt/pol |
support for pl/sql handling of collections |
prifold priold |
plsql/cox |
support to allow rpc forwarding to an older release |
prm |
sqllang/param |
parameter handling associated with sql layer |
prsa prsc prssz |
sqllang/parse |
prsa - parser for alter cluster command; prsc - parser for create database command; prssz - support for parse context to be saved |
psdbnd psdevn |
progint/dbpsd |
psdbnd - support for managing bind variables; psdevn - support for pl/sql debugger |
psdicd |
progint/plsicds |
small number of ICD to allow pl/sql to call into 'C' source |
psdmsc psdpgi |
progint/dbpsd |
psdmsc - pl/sql system dependent miscellaneous functions ; psdpgi - support for opening and closing cursors in pl/sql |
psf |
plsql/pls |
pl/sql service related functions for instantiating called pl/sql unit in library cache |
qbadrv qbaopn |
sqllang/qrybufal |
provides allocation of buffer and control structures in query execution |
qcdl qcdo |
dict/dictlkup |
qcdl - query compile semantic analysis; qcdo - query compile dictionary support for objects |
qci |
dict/shrdcurs |
support for SQL language parser and semantic analyser |
qcop qcpi qcpi3 qcpi4 qcpi5 |
sqllang/parse |
support for query compilation parse phase |
qcs qcs2 qcs3 qcsji qcso |
dict/dictlkup |
support for semantic analysis by SQL compiler |
qct qcto |
sqllang/typeconv |
qct - query compile type check operations; qcto - query compile type check operators |
qcu |
sqllang/parse |
various utilities provided for sql compilation |
qecdrv |
sqllang/qryedchk |
driver performing high level checks on sql language query capabilities |
qerae qerba qerbc qerbi qerbm qerbo qerbt qerbu qerbx qercb qercbi qerco qerdl qerep qerff qerfi qerfl qerfu qerfx qergi qergr qergs qerhc qerhj qeril qerim qerix qerjm qerjo qerle qerli qerlt qerns qeroc qeroi qerpa qerpf qerpx qerrm qerse qerso qersq qerst qertb qertq qerua qerup qerus qervw qerwn qerxt |
sqlexec/rowsrc |
row source operators : |
qes3t qesa qesji qesl qesmm qesmmc |
sqlexec/execsvc |
run time support for sql execution |
qkacon qkadrv qkajoi qkatab qke qkk qkn qkna qkne |
sqlexec/rwsalloc |
SQL query dynamic structure allocation routines |
qks3t |
sqlexec/execsvc |
query execution service associated with temp table transformation |
qksmm qksmms qksop |
sqllang/compsvc |
qksmm - memory management services for the SQL compiler; qksmms - memory management simulation services for the SQL compiler; qksop - query compilation service for operand processing |
qkswc |
sqlexec/execsvc |
support for temp table transformation associated for with clause. |
qmf |
xmlsupp/util |
support for ftp server; implements processing of ftp commands |
qmr qmrb qmrs |
xmlsupp/resolver |
support hierarchical resolver |
qms |
xmlsupp/data |
support for storage and retrieval of XOBs |
qmurs |
xmlsupp/uri |
support for handling URIs |
qmx qmxsax |
xmlsupp/data |
qmx - xml support; qmxsax - support for handling sax processing |
qmxtc |
xmlsupp/sqlsupp |
support for ddl and other operators related to the sql XML support |
qmxtgx |
xmlsupp |
support for transformation : ADT -> XML |
qmxtsk |
xmlsupp/sqlsupp |
XMLType support functions |
qsme |
summgmt/dict |
summary management expression processing |
qsmka qsmkz |
dict/dictlkup |
qsmka - support to analyze request in order to determine whether a summary could be created that would be useful; qsmkz - support for create/alter summary semantic analysis |
qsmp qsmq qsmqcsm qsmqutl |
summgmt/dict |
qsmp - summary management partition processing; qsmq - summary management dictionary access; qsmqcsm - support for create / drop / alter summary and related dimension operations; qsmqutl - support for summaries |
qsms |
summgmt/advsvr |
summary management advisor |
qxdid |
objsupp/objddl |
support for domain index ddl operations |
qxidm |
objsupp/objsql |
support for extensible index dml operations |
qxidp |
objsupp/objddl |
support for domain index ddl partition operations |
qxim |
objsupp/objsql |
extensible indexing support for objects |
qxitex qxopc qxope |
objsupp/objddl |
qxitex - support for create / drop indextype; qxope - execution time support for operator callbacks; qxope - execution time support for operator DDL |
qxopq qxuag qxxm |
objsupp/objsql |
qxopq - support for queries with user-defined operators; qxuag - support for user defined aggregate processing; qxxm - queries involving external tables |
rfmon rfra rfrdb rfrla rfrm rfrxpt |
drs |
implements 9i data guard broker monitor |
rnm |
dict/sqlddl |
manages rename statement operation |
rpi |
progint/rpi |
recursive procedure interface which handles the the environment setup where multiple recursize statements are executed from one top level statement |
rwoima |
sqlexec/rwoprnds |
row operand operations |
rwsima |
sqlexec/rowsrc |
row source implementation/retrieval according to the defining query |
sdbima |
sqlexec/sort |
manages and performs sort operation |
selexe |
sqlexec/dmldrv |
handles the operation of select statement execution |
skgm |
osds |
platform specific memory management rountines interfacing with O.S. allocation functions |
smbima sor |
sqlexec/sort |
manages and performs sort operation |
sqn |
dict/sqlddl |
support for parsing references to sequences |
srdima srsima stsima |
sqlexec/sort |
manages and performs sort operation |
tbsdrv |
space/spcmgmt |
operations for executing create / alter / drop tablespace and related supporting functions |
ttcclr ttcdrv ttcdty ttcrxh ttcx2y |
progint/twotask |
two task common layer which provides high level interaction and negotiation functions for Oracle client when communicating with the server. It also provides important function of converting client side data / data types into equivalent on the server and vice versa |
uixexe ujiexe updexe upsexe |
sqlexec/dmldrv |
support for : index maintenance operations, the execution of the update statement and associated actions connected with update as well as the upsert command which combines the operations of update and insert |
vop |
optim/vwsubq |
view optimisation related functionality |
xct |
txn/lcltx |
support for the management of transactions and savepoint operations |
xpl |
sqlexec/expplan |
support for the explain plan command |
xty |
sqllang/typeconv |
type checking functions |
zlke |
security/ols/intext |
label security error handling component |
Quote:
When using pre-9i Jdbc-Thin to talk to a 9i (or post-9i) database, youwill see an ORA-600 exception on almosteverything you do. eg: ORA-600[ttcgcshnd-1 ].
Workaround: Set event="10841 trace name contextforever"in the init.ora file
Quote:
PURPOSE:
This article discusses the internal error "ORA-600[ttcgcshnd-1]", what it means and possible actions. The information hereis only applicable to the versions listed and is provided only for guidance.ERROR: ORA-600 [ttcgcshnd-1] [a] VERSIONS: versions 9.0 to 9.2
DESCRIPTION:
Oracle is checking that the local character set id is valid aspart of the process to do characterdata conversions between different character sets. This error is raised when the local character set id isfound to be invalid.
ARGUMENTS:
Arg [a] Local character set id FUNCTIONALITY:
Two Task Common Convert type x to type y client/server connect using JCBC Thin Driver
IMPACT:
PROCESS FAILURE NON CORRUPTIVE- No underlying data corruption.
SUGGESTIONS:
Known Issues: Bug# 1725012
See [NOTE:1725012.8] OERI:ttcgcshnd-1using JDBC thin pre-9i to 9iimk database Fixed: 8.1.7.2, 9.0.1.0
今天检查数据库告警日志,发现ora-600错误,一身虚汗,经查证,这是Oracle9i的一个和JDBC Thin Driver有关的BUG,写出来给自己一个警示。通过如下设置:
event='10841 trace name context forever'
可以屏蔽这个ORA-00600错误.
SQL>show parameter event
NAME TYPE VALUE
------------------ ----------- ------------------------------
event string 10841 trace name context forever
Errors in file /oracle/OraHome1/admin/hnstat/udump/hnstat_ora_4434.trc:
ORA-00600: internal error code, arguments: [4400], [48], [], [], [],[], [], []
ORA-00600: internal error code, arguments:[6193], [4], [114], [12168], [28260],
[], [],[]
错误原因:
1、Direct path exportof a compressed table or partition
can fail with internal errors such as ORA-600[6193].
Workaround:
Do NOTspecify DIRECT=Y on Export command line
(ie:use conventional path)
2、ORA-600 [6191] /ORA-600 [6193] can occur on DIRECT mode
EXPORT of a long row.
3、Direct export of atable containing columns of type ROWID may
fail with ORA-600 [6193]
ORA-00600: internal error code, arguments:[6191], [3], [12049], [28260], [], []
, [], []
Export Of Oracle Applications Release 11iDatabase Fails With ORA-600 [6191]
Problem Description:
Exporting the content of the database using theRDBMS export utility terminates prematurely with the following error:
EXP-8: ORACLE error 600 encountered
ORA-600: internal error code, arguments: [6191],[...], ...
The ORA-00600 error with the [6191] argumentcan also be observed in the tracefile, which also contains:
O/S info: user: oracle, term: , ospid:
program: exp@
lastwait for 'direct path read' blocking sess=... seq=... wait_time=...
file number=..., first dba=..., block cnt=...
This shows the process was performing a DirectPath Export.
SolutionDescription
This is a fix available for customers runningRDBMS 8.1.7.3 on Solaris which can
requested from Support. For all otherconfigurations, there is no fix available
yet.
Workaround
Do not perform a Direct Path Export (using thedirect=y parameter).
Errors in file /oracle/OraHome1/admin/hndw/udump/hndw_ora_17941.trc:
ORA-00600: internal error code, arguments: [12333], [10], [60], [57],[], [], []
, []
12333一般都是跟网络有关,跟数据库影响不大。也就是说一般不会影响数据库性能。
造成ORA-00600 [12333]的主要原因:
1、网络故障。
2、在低级别的传输中出现了丢包和接受的包错误的情况。
3、用户cancel。
4、用户提交了错误的数据(这条可以基本否定,软件开发应当考虑了容错性)
我觉得应该检查一下你的网络
DocID:
Note:35928.1
Subject:ORA-600 [12333] "Fatal Two-Task Protocol Violation"
Type:REFERENCE
Status:PUBLISHED
ContentType: TEXT/PLAIN
CreationDate: 22-MAR-1996
LastRevision Date: 29-OCT-2002
Note:For additional ORA-600 related information please read [NOTE:146580.1]
PURPOSE:
Thisarticle discusses the internal error "ORA-600 [12333]", what
itmeans and possible actions. The information here is only applicable
tothe versions listed and is provided only for guidance.
ERROR:
ORA-600[12333][a][b][c][d][e]
VERSIONS:
Versions7.3.X to 9.X
DESCRIPTION:
Thereare now two basic usages of OERI(12333):
i.Usage with 3 additional numeric values
ii.Usage with 4 additional values ... new since 8.0.X
ORA-600[12333]is reported with three additional numeric values when a
requestis being received from a network packet and the request code in
thepacket is not recognized. The three additional values report the
invalidrequest values received.
Theerror may have a number of different root causes. For example, a
networkerror may have caused bad data to be received, or the client
applicationmay have sent wrong data, or the data in the network buffer
mayhave been overwritten. Since there are many potential causes of this
error,it is essential to have a reproducible testcase to correctly
diagnosethe underlying cause. If operating system network logs are
available,it is advisable to check them for evidence of network failures
whichmay indicate network transmission problems.
Thesecond form of the error is "ORA-600[12333][PTI][b][c][d]", which
maybe reported when parsing storage options on alter/create of various
databaseobjects. The b, c, d arguments identify a specific statement
typebeing parsed.
Thisform of the error indicates a problem in the sql parser. As common
functionsare used to parse the storage options of different database
objects,this error code is used as a semantic check that the parser has
notpassed options that are invalid for the statement being parsed.
Thereis no data corruption as a result of this error. The error results
ina process failure.
ARGUMENTS:
i.
Arg[a] TTI Layer Function code received
Arg[b] Function code
Arg[c] Sequence
ii.
Arg[a] PTI
Arg[b] prspo_proc_opts
Arg[c] statement type
Arg[d] check identification, e.g., INDEX
FUNCTIONALITY:
USER/ORACLEINTERFACE LAYER
IMPACT:
PROCESSFAILURE
NODATA CORRUPTION
SUGGESTIONS:
Checknetworking connections and NLS settings: [NOTE:77442.1].
Pleaseensure that the issue is reproducible before pursuing
withOracle Support Services.
KnownIssues:
Bug953506: CLIENTS EXPECTING ORA-1405/1406 MAY GET ORA-3106 OR OERI:12333
fixedin 8.0.6.2
Bug1273347: OERI:12333 CAN OCCUR
fixedin 8.1.6.2 and 8.1.7.0 releases
Bug709582: OERI:12333 DURING SHUTDOWM IMMEDIATE WHEN USING RMAN
fixedin 8.1.5.1 and 8.1.6.0 releases.
REFERENCES:
Note:77442.1ORA_NLS (ORA_NLS32, ORA_NLS33) Environment Variables.
字符集
看看字符集是否一致,我以前遇到过字符集不一致报这样的错
改了NLS_LANG和数据库字符集一致,今早还是报ORA-600错误,请高手帮忙分析一下,多谢各位了。
附trace文件。
Errors in file /oracle/OraHome1/admin/hndw/udump/hndw_ora_18079.trc:
ORA-00600: internal error code, arguments: [17069],[0xC00000027BDCF708], [], []
, [], [], [], []
Errors in file /oracle/OraHome1/admin/hncrm/udump/hncrm_ora_24470.trc:
ORA-00600: internal error code, arguments: [17113], [0x000000000], [],[], [], [
], [], []
hp的人说是三方工具pl/sql develop和oracle版本不兼容,造成连接进程使用服务器内存有问题.
表或视图不存在
原因:1.表或视图真的不存在 2.用户没有访问该表的权限。
ORA-01078: 处理系统参数失败
ORA-01438: value larger thanspecified precision allows for this column
ORA-01441: cannot decrease columnlength because some value is too big
ORA-01536: space quota exceeded fortablespace 'ODS'
ORA-01555: snapshot too old:rollback segment number 1 with name "_SYSSMU1$" too small
对ORA-01555的精彩解释
1、在1点钟,有个用户A发出了select * fromtable1;此时不管将来table1怎么变化,正确的结果
应该是用户A会看到在1点钟这个时刻的内容。这个是没有疑问的。
2、在1点30分,有个用户B执行了update命令,更新了table1表中的第4000万行的这条记录,这时,
用户A的全表扫描还没有到达第4000万条。毫无疑问,这个时候,第4000万行的这条记录是被写
到了回滚段里去了的,我假设是回滚段RBS1,如果用户A的全表扫描到达了第4000万行,是应该
会正确的从回滚段RBS1中读取出1点钟时刻的内容的。
3、这时,用户B将他刚才做的操作commit了,但是这时,系统仍然可以给用户A提供正确的数据,
因为那第4000万行记录的内容仍然还在回滚段RBS1里,系统可以根据SCN来到回滚段里找到正确的
数据,但是大家注意到,这时记录在RBS1里的第4000万行记录已经发生了一点重大的改变:就是
这个第4000万行的在回滚段RBS1里的数据有可能随时被覆盖掉,因为这条记录已经被提交了!!!
4、由于用户A的查询时间漫长,而业务在一直不断的进行,RBS1回滚段在被多个不同的tracnsaction
使用着,这个回滚段里的extent循环到了第4000万行数据所在的extent,由于这条记录已经被标记
提交了,所以这个extent是可以被其他transaction覆盖掉的!
5、到了1点40分,用户A的查询终于到了第4000万行,而这时已经出现了第4条说的情况,需要到回滚
段RBS1去找数据,但是已经被覆盖掉了,于是01555就出现了。
以上只是我当初在看OCP书的时候,对这个01555的一个简单的理解,并同时可以理解书上说的解决
ora-01555的问题的办法,当然可能还有其他的情况导致,我只举个例子。
ORA-08180: no snapshot found basedon specified time
ORA-27101: shared memory realm doesnot exist
解决方法
修改注册表中的键值LocalMechine\software\oracle\home0\ORACLE_SID为你的SID
ID 0
MSHELP_TOOLS D:\oracle\ora90\MSHELP
NLS_LANG SIMPLIFIEDCHINESE_CHINA.ZHS16GBK
ORA_HNDSS_AUTOSTART TRUE
ORA_HNDSS_PFILE D:\oracle\ora90\database\initHNDSS.ora
ORA_HNDSS_SHUTDOWN TRUE
ORA_HNDSS_SHUTDOWN_TIMEOUT 30
ORA_HNDSS_SHUTDOWNTYPE i
ORACLE_BASE D:\oracle
ORACLE_BUNDLE_NAME Enterprise
ORACLE_GROUP_NAME Oracle - OraHome90
ORACLE_HOME D:\oracle\ora90
ORACLE_HOME_KEY Software\ORACLE\HOME0
ORACLE_HOME_NAME OraHome90
ORACLE_SID hndss
RDBMS_ARCHIVE D:\oracle\ora90\DATABASE\ARCHIVE
RDBMS_CONTROL D:\oracle\ora90\DATABASE
SQLPATH D:\oracle\ora90\db
描述
刚在professionall装了9i,在sql*plus用system/manager连接能正常使用。
过了一会儿再用就报错如下:
SQL*Plus:Release 9.0.1.0.1 - Production on 星期三 2月 18 08:32:40 2004
(c)Copyright 2001 Oracle Corporation.??All rights reserved.
ERROR:
ORA-01034:ORACLE not available
ORA-27101:shared memory realm does not exist
记得当时重启后系统提示虚拟页面不足,重新分配了c和d盘的虚拟页面,难道这也有问题???
原因:
原因是在同一个服务器上,使用了不同的ORACLE_HOME
首先检查文件initSID.ora和listener.ora等,看ORACLE_SID和ORACLE_HOME设置的正确与否,ORACLE8.1.7是否用该参数值启动并运行。在UNIX环境中,字母大小写的意义是不一样的,这一点应当注意。如果ORACLE_HOME指向8.1.7版,而数据库是用8.1.6版或8.1.5版建立的,也可能出现该种错误信息。
在WINDOWS系统中,如果修改了机器名或IP地址,ORACLE8.1.7启动时使用的机器名或IP地址就不是真正的机器名或IP地址,就会出现该种错误。可以查看目录database下的文件oradim.log,根据内容确定原因
删除日志4时将在线索1中保留少于两个日志文件
Unable to extend rollback segment
原因:没有足够的撤销空间用来处理所有活动事务
Snapshot too old
原因:没有足够的撤销空间满足读一致性而需要撤销信息的长查询
exception encountered: core dump [kqrprl()+136][SIGSEGV] [unknown co
de] [0x3D02B79CF23] [] []
07445, 00000, "exception encountered: coredump [%s] [%s] [%s] [%s] [%s] [%s]"
// *Cause: An OS exception occurred whichshould result in the creation of a
// core file. This is an internalerror.
// *Action: Contact your customer supportrepresentative.
out of memory HP-UX Error: 12: Not enoughspace
ORA-30019: Illegal rollback Segmentoperation in Automatic Undo mode
ORA-30036: unable to extend segmentby 1024 in undotablespace 'UNDOTBS1'
TNS-12500
....系统资源耗竭,意味着系统分配给oracle的内存用尽了。虽然我们有4G的物理内存,但正常情况下系统只能给oracle分配2G的内存,这2G的内存中,包括了SGA、PGA等oracle需要使用的全部内存。在独占模式下,每一个session将单独分配2M左右的内存。在本例中,SGA分配了约600M,按每一个用户分配2M内存计算,连接数达到750个时,总分配内存已达到2G,将不能再增加新的连接数。如果要解决这个问题,在不做大的调整的前提下,要么减小SGA大小,要么减小为每一个会话分配的内存大小,以能连接更多的用户。
解决过程:
1 重置init.ora参数文件,调小以下四个参数的值:
....short_area_size
....hash_area_size
....bitmap_merge_area_size
....create_bitmap_area_seze
....open_cursone
2 调小SGA的大小
3 减小oracle Job队列数量(job_queue_processes)和并发队列数(parallel_max_servers)
4 重置并减小会话/线程使用的堆栈大小
5 将oracle改为mts模式
6 使用intel的ESMA硬件支持,即使用大内存
..1) 在intel系统上使用 /3G开关
..2) 使用PSE36内存
1 TNS-12154 Error 或ORA-12154
特征:SQL*NET没有找到连接串或别名
原因1:(1)没有找到TNSNAMES.ORA文件,该文件的缺省路径为:
Windows 95/98 client
SQL*Net 2.x - ORAWIN95NETWORKADMIN
Net8 - ORAWIN95NET80admin
Net8i - ORACLEORA81NETWORKADMIN
Windows NT client
SQL*Net 2.x - ORANTNETWORKADMIN
Net8 - ORANTNET80ADMIN
Net8i - ORACLEORA81NETWORKADMIN
UNIX Client
$ORACLE_HOME/NETWORK/ADMIN
or /etc
or /var/opt/oracle
. 在客户端设置TNS_ADMIN
在注册表 HKEY_LOCAL_MACHINESoftwareOracle 设置TNS_ADMIN. TNS_ADMIN 指向TNSNAMES.ORA文件的位置
措施:按上述说明检查文件位置
原因2:(2)TNSNAMES.ORA文件中内容格式不对
措施:检查文件格式,标准格式如下:
DEV1.WORLD =
(DESCRIPTION =(ADDRESS_LIST =
(ADDRESS =(PROTOCOL = TCP) (Host = 145.45.78.56) (Port = 1521) ) )
(CONNECT_DATA = (SID =ORCL) ) )
原因3: (3) TNSNAMES.ORA与SQLNET.ORA不一致
措施: SQLNET.ORA格式如下:
TRACE_LEVEL_CLIENT = OFF
SQLNET.AUTHENTICATION_SERVICES = (NONE)
NAMES.DIRECTORY_PATH = (TNSNAMES)
AUTOMATIC_IPC = OFF
因为没有NAMES.DEFAULT_DOMAIN=world,所以DEV1.WORLD连接串不能连接,可以在TNSNAMES.ORA中增加
DEV1 =
(DESCRIPTION =(ADDRESS_LIST =
(ADDRESS =(PROTOCOL = TCP) (Host = 145.45.78.56) (Port = 1521) ) )
(CONNECT_DATA = (SID =ORCL) ) )
此时可连接。
2 NL-00462 Error 或ORA-00462
特征:监听器无法启动
原因:LISTENER.ORA文件内容错误,例如,括号不匹配、参数名错误等、多余的空格等。
措施:重新编辑文件
3 NL-00405 Error 或ORA-00405
特征:LISTENER.ORA文件不可读或找不到
原因:LISTENER.ORA文件内容错误,例如,括号不匹配、参数名错误等、多余的空格等。
措施:确保文件位置在缺省目录下$ORACLE_HOME/network/admin,或设置环境变量TNS_ADMIN指向这个文件所在位置。
4 TNS-01155 Error 或ORA-01155
特征:LISTENER.ORA文件中SID_LIST_LISTENER变量赋值不对
原因:LISTENER.ORA文件内容错误,SID_LIST_LISTENER变量赋值不对。
措施:确保文件中赋值正确,$ORACLE_HOME/network/admin/samples目录下有样例文件,可供参考。
5 TNS-12537 、TNS-12560、TNS-00507 Error
特征:LISTENER.ORA文件中引用了一个无效的协议适配程序
原因:LISTENER.ORA文件中PROCOTOL变量赋值不对。
措施:确保文件中赋值正确,一般用TCP协议,$ORACLE_HOME/network/admin/samples目录下有样例文件,可供参考。用adapters tnslsnr检查协议程序
6 TNS-12203 Error
特征:不能与目标连接
原因:监听器是否启动;别名是否配置
措施:检查监听器是否启动,例如lsnrctl status;检查TNSNAMES.ORA的别名配置
7 TNS-12533 Error
特征:不能与目标连接
原因:非法的address参数,
措施:检查TNSNAMES.ORA的ADDRESS参数
1 ORA-12571、ORA-03113、ORA-03114、ORA-01041
特征:客户端(代理或应用服务器)有时报这类断连错误
原因:如果偶尔出现一次,则可能为网络原因或用户异常中止,如果经常出现则为客户端与服务端的字符集不一致。
措施:如果偶尔出现,可在服务端的协议配置文件PROTOCOL.ORA中增加一行
TCP.NODELAY=YES;
如果经常出现,则为客户端与服务端字符集不一致或网络原因。
客户端的字符集在注册表里定义: HKEY__LOCAL__MACHINE/SOFTWARE/ORACLE/NLS__LANG
在客户端注册表中的TCP参数项中设置 TCPMAXDATARETRANSMITIONS=20。
2 ORA-01000
特征:达到会话允许的最大游标数
原因:达到会话允许的最大游标数
措施:有两种解决方法:
(1) 在初始化文件INIT
(2) 在应用级,与开发工具有关,例如设置MAXOPEN_CURSORS等。
3 ORA-01545
特征:某个回滚段不可用
原因:(1)当使回滚段ONLINE时,但回滚段不可用,例如回滚段所在表空间OFFLINE;
(2) 当使回滚段ONLINE时,但回滚段已ONLINE,例如回滚段被使用两次,典型的案例如OPS方式时,回滚段不能公有;
(3)删除回滚段时,回滚段中有活动的事务;
措施:(1)确保回滚段可
(2)从 初始化文件INIT
(3) 可以将回滚段所在表空间删除,取消UNDO事务
4 ORA-0165x
特征:表空间没有足够的空间供分配
原因:表空间已满;存储参数不合理,NEXT太小;没有连续的区间
措施:如果表空间已满,则需为表空间增加文件;如果存储参数不合理,则需增加INITIAL和NEXT;如果没有连续的区间,需要合并空闲的表空间。
查看空间碎片用DBA_FREE_SPACE
5 ORA-01555
特征:当前会话无法读到以前版本的数据
原因:原因很多,主要原因有下列:回滚段太小、太少;回滚段冲突;交叉提交(FETCH_ACROSS)
措施:增加回滚段数量;
6 ORA-04031
特征:共享池内存区内存不够,或产生内存碎片
原因:当试图装载一个大包时或执行一个较大的存储过程时,而共享池没有连续的内存空间。
措施:如果是内存不够,则增加SHARE)POOL_SIZE;
如果是内存碎片,执行alter system flushshare_pool
7 ORA-04091
特征:触发器工作不正常
原因:一个行触发读取或修改变化的表(正在修改、插入)时,产生这种错误。
措施:检查触发器脚本,保证引用完整性
8 ORA-01242、ORA-01113
特征:介质故障导致数据库宕机
原因:介质故障。
措施:检查硬件故障;修改dbshut脚本,将其中的STARTUP命令修改为:
Startup openrecover
Alter database open
锁
insert into TEST values(5);
加row exclusive锁,和row share相同,但也禁止用share方式加锁。
Create index idx_test on test(col1);
加share锁,容许并发查询但禁止更新锁定的表
drop table test;
加exclusive锁,
undo_retention参数表示数据在回滚段中保持的时间,默认为900,应该不会有问题的
还有在任何时间内,一个INSTANCE只能使用一个UNDO表空间,你建了其它的UNDO表空间,用到的只有一个
undo_retention作用的前提是undotablespace 足够大,否则已经提交的事务所占有的空间还是会被重用。这有可能导致ORA-01555错误和闪回查询的失败。
有一点提醒,无论参数怎么设置ORACLE都不会重用处于激活状态的undo空间(就是未提交事务占用的)。
你报UNDO空间不够,那么应该扩大undotablespace,或考虑你是不是有长时间未提交的事务
db_flashback_retention_target 参数是设定闪回数据的最长保存时间,单位是分钟,默认值是1440(60*24),即1天;
Undo_retention参数是设定前映像数据在undo表空间的最长保存时间,单位是秒,默认值是10800(3600*3),即3小时。
v$rollstat
v$undostat
v$transaction
dba_undo_extents
可以利用登录触发器、cmgw或者是在$OREACLE_HOME/network/admin下新增一个protocol.ora文件(有些os可能是. protocol.ora),9i可以直接修改sqlnet.ora:
增加如下内容:
tcp.validnode_checking=yes
#允许访问的ip
tcp.inited_nodes=(ip1,ip2,……)
#不允许访问的ip
tcp.excluded_nodes=(ip1,ip2,……)
利用触发器限定IP:
create table logcontrol
(IPDET VARCHAR2(15)
)
/
create table limitip
(
IPDET VARCHAR2(15),
NOTE VARCHAR2(50)
)
/
create table yclogin
(
IPDET VARCHAR2(15),
attempdate date default sysdate
)
/
insert into logcontrol values('130.76.1.135');
insert into limitip values('130.76.1.135','接口数据库');
/
CREATE OR REPLACE TRIGGER log_control
AFTER logon ON DATABASE
declare
oname number(2);
pragma autonomous_transaction;
begin
if SYS_CONTEXT('USERENV','IP_ADDRESS') is not null
then
select count(*) into oname from logcontrol
where trim(IPDET)=SYS_CONTEXT('USERENV','IP_ADDRESS');
if oname<1 then
insert into ycloginvalues(SYS_CONTEXT('USERENV','IP_ADDRESS'));
commit;
Raise_application_error(-20999,'ip访问限定,有需要请及时向系统管理员书面申请!!!');
EXECUTE IMMEDIATE'DISCONNECT';
end if;
end if;
end;
这个问题只会在WIN平台出现,UNIX平台会自动解决。
解决方法:
在服务器端的SQLNET.ORA应类似
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
TRACE_LEVEL_CLIENT = 16
注册表的HOME0加[HKEY_LOCAL_MACHINE]
USE_SHARED_SOCKET=TRUE
host name方式只支持tcp/ip协议的小局域网
修改listener.ora中的如下信息
(SID_DESC =
(GLOBAL_DBNAME = ur_hostname) --你的机器名
(ORACLE_HOME = E:\oracle\ora92) --oracle home
(SID_NAME = orcl) --sid name
)
然后在客户端
的sqlnet.ora中,确保有
NAMES.DIRECTORY_PATH= (HOSTNAME)
你就可以利用数据库服务器的名称访问数据库了
如果一个用户能执行dbms_repcat_admin包,将获得极大的系统权限。
以下情况可能获得该包的执行权限:
1、在sys下grant execute on dbms_repcat_admin to public[|user_name]
2、用户拥有execute any procedure特权(仅限于9i以下,9i必须显示授权)
如果用户通过执行如下语句:
exec sys.dbms_repcat_admin.grant_admin_any_schema('user_name');
该用户将获得极大的系统特权
可以从user_sys_privs中获得详细信息
我们通过如下的方法,可以安全使用该用户,然后再跳转回来,在某些时候比较有用
需要Alter user权限或DBA权限:
SQL> select password from dba_users where username='SCOTT';
PASSWORD
-----------------------------
F894844C34402B67
SQL> alter user scott identified by lion;
User altered.
SQL> connect scott/lion
Connected.
REM Do whatever you like...
SQL> connect system/manager
Connected.
SQL> alter user scott identified by values 'F894844C34402B67';
User altered.
SQL> connect scott/tiger
Connected.
要注意以下方面
1. 修改sys, system的口令。
2. Lock,修改,删除默认用户: dbsnmp,ctxsys等。
3. 把REMOTE_OS_AUTHENT改成False,防止远程机器直接登陆。
4. 把O7_DICTIONARY_ACCESSIBILITY改成False。
5. 把一些权限从PUBLIC Role取消掉。
6. 检查数据库的数据文件的安全性。不要设置成666之类的。检查其他dba 用户。
7. 把一些不需要的服务(比如ftp, nfs等关闭掉)
8. 限制数据库主机上面的用户数量。
9. 定期检查Metalink/OTN上面的security Alert。比如:http://otn.oracle.com/deploy/security/alerts.htm
10. 把你的数据库与应用放在一个单独的子网中,要不然你的用户密码很容易被sniffer去。或者采用advance security,对用户登录加密。
11. 限止只有某些ip才能访问你的数据库。
12. lsnrctl 要加密码,要不然别人很容易从外面关掉你的listener。
13. 如果可能,不要使用默认1521端口
如果使用默认密码,很可能就对你的数据库造成一定的安全隐患,那么可以使用如下的查询获得那些用户使用默认密码
select username "User(s) with Default Password!"
from dba_users
where password in
('E066D214D5421CCC', -- dbsnmp
'24ABAB8B06281B4C',-- ctxsys
'72979A94BAD2AF80',-- mdsys
'C252E8FA117AF049', -- odm
'A7A32CD03D3CE8D5',-- odm_mtr
'88A2B2C183431F00', -- ordplugins
'7EFA02EC7EA6B86F',-- ordsys
'4A3BA55E08595C81', -- outln
'F894844C34402B67',-- scott
'3F9FBD883D787341',-- wk_proxy
'79DF7A1BD138CF11',-- wk_sys
'7C9BA362F8314299', -- wmsys
'88D8364765FCE6AF', -- xdb
'F9DA8977092B7B81', -- tracesvr
'9300C0977D7DC75E',-- oas_public
'A97282CE3D94E29E', -- websys
'AC9700FD3F1410EB', --lbacsys
'E7B5D92911C831E1',-- rman
'AC98877DE1297365', -- perfstat
'66F4EF5650C20355', -- exfsys
'84B8CBCA4D477FA3', -- si_informtn_schema
'D4C5016086B2DC6A', -- sys
'D4DF7931AB130E37') -- system
/
Oracle9i默认的XML DB把HTTP的默认端口设为8080,这是一个太常用的端口了,很多别的WebServer都会使用这个端口,
如果我们安装了它,最好修改一下,避免冲突,如果不使用呢,就最好不要安装
提供三种修改的方法
1.dbca,选择你的数据库,然后Standard Database Features->Customize->OracleXML DB option,进入这个画面你应该就知道怎么改了。
2.OEM console,在XML Database 的配置里面修改
3.用oracle提供的包:
-- 把HTTP/WEBDAV端口从8080改到8081
SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),
'/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()',8081))
/
-- 把FTP端口从2100改到2111
SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),
'/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text()',2111))
/
SQL> commit;
SQL> exec dbms_xdb.cfg_refresh;
-- 检查修改是否已经成功
SQL> selectdbms_xdb.cfg_get from dual;
可以利用登录触发器,如
CREATE OR REPLACE TRIGGER tr_login_record
AFTER logon ON DATABASE
DECLARE
miUserSid NUMBER;
mtSession v$session%ROWTYPE;
CURSOR cSession(iiUserSid IN NUMBER) IS
SELECT * FROM v$session
WHERE sid=iiUserSid;
BEGIN
SELECT sid INTO miUserSid FROM v$mystat WHERE rownum<=1;
OPEN cSession(miUserSid);
FETCH cSession INTO mtSession;
--if user exists then insert data
IF cSession%FOUND THEN
INSERT INTOlog$information(login_user,login_time,ip_adress,ausid,terminal,
osuser,machine,program,sid,serial#)
VALUES(ora_login_user,SYSDATE,SYS_CONTEXT ('USERENV','IP_ADDRESS'),
userenv('SESSIONID'),
mtSession.Terminal,mtSession.Osuser,
mtSession.Machine,mtSession.Program,
mtSession.Sid,mtSession.Serial#);
ELSE
--if user don't exists then return error
sp_write_log('Session Information Error:'||SQLERRM);
CLOSE cSession;
raise_application_error(-20099,'Login Exception',FALSE);
END IF;
CLOSE cSession;
EXCEPTION
WHEN OTHERS THEN
sp_write_log('Login Trigger Error:'||SQLERRM);
END tr_login_record;
在以上触发器中需要注意以下几点
1、该用户有v_$session与v_$mystat的对象查询权限,可以在sys下对该拥护显式授权。
2、sp_write_log原本是一个写日志的过程,可以置换为自己的需要,如null跳过。
3、必须在创建该触发器之前创建一个log$information的表记录登录信息。
[Q]怎么捕获整个数据库的DDL语句或者是说对象结构变化与修改
[A]可以采用DDL触发器,如
CREATE OR REPLACE TRIGGER tr_trace_ddl
AFTER DDL ON DATABASE
DECLARE
sql_text ora_name_list_t;
state_sql ddl$trace.ddl_sql%TYPE;
BEGIN
FOR i IN 1..ora_sql_txt(sql_text) LOOP
state_sql := state_sql||sql_text(i);
END LOOP;
INSERT INTO ddl$trace(login_user,ddl_time,ip_address,audsid,
schema_user,schema_object,ddl_sql)
VALUES(ora_login_user,SYSDATE,userenv('SESSIONID'),
sys_context('USERENV','IP_ADDRESS'),
ora_dict_obj_owner,ora_dict_obj_name,state_sql);
EXCEPTION
WHEN OTHERS THEN
sp_write_log('Capture DDL Excption:'||SQLERRM);
END tr_trace_ddl;
在创建以上触发器时要注意几点
1、必须创建一个ddl$trace的表,用来记录ddl的记录
2、sp_write_log原本是一个写日志的过程,可以置换为自己的需要,如null跳过。
可以采用dml触发器,如
CREATE OR REPLACE TRIGGER tr_capt_sql
BEFORE DELETE OR INSERT OR UPDATE
ON manager.test
DECLARE
sql_text ora_name_list_t;
state_sql capt$sql.sql_text%TYPE;
BEGIN
FOR i IN 1..ora_sql_txt(sql_text) LOOP
state_sql := state_sql || sql_text(i);
END LOOP;
INSERT INTOcapt$sql(login_user,capt_time,ip_address,audsid,owner,table_name,sql_text)
VALUES(ora_login_user,sysdate,sys_context('USERENV','IP_ADDRESS'),
userenv('SESSIONID'),'MANAGER','TEST',state_sql);
EXCEPTION
WHEN OTHERS THEN
sp_write_log('Capture DML Exception:'||SQLERRM);
END tr_capt_sql;
在创建以上触发器时要注意几点
1、必须创建一个capt$sql的表,用来记录ddl的记录
2、sp_write_log原本是一个写日志的过程,可以置换为自己的需要,如null跳过。
alter system set resource_limit = true;
create profile idletime limit idle_time 3;
alter user outln profile idletime;
SQL> alter system set resource_limit = true;
系统已更改。
SQL> conn sys/sunsdl as sysdba
已连接。
SQL> create profile idletime limit idle_time 1;
配置文件已创建
SQL> alter user outln profile idletime;
用户已更改
SQL> conn outln/outln
已连接。
SQL>
SQL> set time on
15:14:26 SQL> ... 等待1分多钟
15:17:51 SQL> select sysdate from dual;
select sysdate from dual
*
ERROR 位于第 1 行:
ORA-02396: 超出最大空闲时间,请重新连接
程序中没有关闭打开的数据连接。而且重复打开连接。inactive说明当前没有操作,不表示当前无连接。
我们知道,在Oracle数据库中,可以通过kill session的方式来终止一个进程,其基本语法结构为:
alter system kill session 'sid,serial#';
inactive session是正常的,每个session不可能都是active呀
只是那些已异常退出的、但没有disconnect客户端,需要启动DCD,将其清除,往sqlnet.ora文件中添加sqlnet.timeout=xMin,重启listener即可
ALTERTABLE 名称 DEALLOCATE UNUSED [KEEP 4[M|K]]
1、当空间分配过大时,可以使用本命令
2、如果没有加KEEP,回收到水线
3、如果水线《MINEXTENTS的大小回收到MINEXTENTS所指定的大小
1、水线定义了表的数据在一个BLOCK中所达到的最高的位置。
2、当有新的记录插入,水线增高
3、当删除记录时,水线不回落
4、减少查询量
Sysdba是一个允许读者执行任何数据库任务的全能特权。Sysoper是一个威力次之的特权,它赋予了启动和关闭能力,但限制其他管理性任务
当用户处理能够连接到数据库服务器的连接数量而又不增加物理资源时使用
Oracle sharedserver
数据集合的大小
网络的速度
数据库服务器的速度
应用软件必须并发地支持的客户进程数量
调度程序进程负责服务客户请求,这些进程能够处理来自许多客户的请求。
配置一个Oracle共享服务器进程环境需要哪两项参数?
SHARED_SERVERS和DISPATCHERS。
PROTOCOL(pro或prot):
调度程序要监听的网络协议。这是唯一必需的属性
ADDRESS(ADD或者ADDR):
指定调度程序正在上面作监听的那个端点的网络协议地址
CONNECTIONS(CON或者CONN):
每个调度程序能负担的最大网络连接数量。默认值随操作系统而变化。
DESCRIPTION(DES或者DESC):
调度程序正在上面作监听的那个端点的网络描述,其中包括正被监听的协议。
DISPATCHERS(DIS或者DISP):
在实例启动时要启动的调度程序数量。默认值是1
LISTENER(LIS或LIST):
PMON把连接信息发送到的那个监听器的地址。
SESSIONS(SER或SERV):
这个调度程序的最大容许网络会话数量,流行的默认值是16k.
SERVICE(SER或SERV):
调度程序向监听器注册的ORACLE net servicename。如果这个服务名被供给,调度程序把它注册给
service_names初始化参数中所列举的各个服务。
最大调度程序数:
这是一个静态参数,即当改变该参数后需要关闭系统才能生效。 如果配置了调度程序,则默认值为下列两个数值中的较大者:5 或配置的调度程序数。
服务器进程数:
这是一个动态参数。可以使用 ALTER SYSTEM 命令进行更改而无需关闭数据库。
该参数指定启动例程时要创建的服务器进程数。实际的服务器进程数随时都在变化,并且在该值和指定的“最大服务器进程数”之间动态调整。任何时刻服务器进程数都不会低于该值,即使在负荷很低的情况下也是如此。
最大服务器进程数:
这是一个静态参数,即当改变该参数后需要关闭系统才能生效。 默认值为下列两个数值中的较大者:20 或 MAX_SERVERS 值的 2 倍。
MTS的组件包括:
processes on the system、
communication software、
the shared global section (SGA).
SQL*Net SGA SGA
---------- -------------- ----------- ----------
| Client |<-------->| Dispatcher |<----->| Circuit |<----->| Shared |
---------- -------------- ----------- | Server |
| ----------
'JSMITH' 'ORA__D000' | 'ORA__S000'
+---------+
| Session |
+---------+
复杂版本:
SQL*Net(监听器) SGA SGA
---------- -------------- ----------- ----------
| Client |<-------->| Dispatcher |<----->| Circuit |<----->| Shared |
---------- -------------- ----------- | Server |
| ----------
'JSMITH' 'ORA__D000' | 'ORA__S000'
+---------+
| Session |
+---------+
Some views containing MTS information include:
V$CIRCUIT
控制为一个输入和输出网络会话所预测的虚拟电路的总数量。
V$SHARED_SERVER
V$DISPATCHER
V$MTS
V$QUEUE
V$SESSION
Dispatcher的数量从mts_dispatchers(init.ora)到MTS_MAX_DISPATCHERS
1、 观察sga的使用情况
select * from v$sgastat wherepool=’large pool’;
2、 观察调度程序是否充足:
首先看每个调度程序的忙闲:
selectname,(busy*100)/(busy+idle) from v$dispatcher,如果高于50%则应该增加调度程度的个数。
然后观察整个对列中等待调度程序的等待时间:
select decode(sum(totalq),0,'Noresponse',sum(wait)/sum(totalq)) as "average wait time"
from V$QUEUE q,v$dispatcher d
where q.type='DISPATCHER'
and q.paddr=d.paddr
3、 确定是否有足够的共享服务器
--selectpaddr,type,queued,wait,totalq,decode(totalq,0,0,(wait/totalq)) "AVGWAIT" from v$queue;
selectdecode(wait,0,'No Request',totalq)"Wait Time",round(Wait/totalq,4)||' hundredths of seconds' from v$queue WHERE type='COMMON'
Oracle的审计机制是用来监视用户对ORACLE数据库所做的各种操作。
在缺省情况下,系统的审计功能是关闭的。可以在INIT.ORA参数文件中将参数AUDIT_TRAIL设置为正整数来激活。
审计功能激活后,任何拥有表或视图的用户就可以进行如下审计操作:
·使用SQL语句来挑选审计选择项;
·审计对该用户所拥有的表或视图的成功或不成功的存取企图;
·有选择的审计各种类型的SQL操作(SELECT、UPDATE、INSERT、DELETE);
·控制审计的程度(是以SESSION还是ACCESS为单位)。
8i下
我想对某个用户的dml语句进行审计,
步骤如下:
1,在init文件中添加 AUDIT_TRAIL = DB或者audit_trail=db_extended
2,audit delete table,insert table,update table by zx;
提示 :审计已成功
3,SELECT * FROM DBA_STMT_AUDIT_OPTS;能看到有记录
4,重启数据库服务,以test用户登陆,操作数据
5,查看sys.aud$
create table agile.t(t number);
begin
dbms_fga.add_policy(
object_schema=>'AGILE',
object_name=>'T',
policy_name=>'T_INSERT',
audit_column=>'T',
statement_types=>'INSERT'
);
end;
SQL> insert i44o agile.t values(1);
1 row inserted
SQL> select * from dba_fga_audit_trail;
一次完整的审计:
一。启动审计:
1. alter system set audit_trail=db scope=spfile;
2. shutdown
3. startup
二。设定审计:
audit update,insert
on dqsi.ac01
by access;
三。修改数据:
update ac01 set aac003='赵庆辉' where aac003='张三';
commit;
换了另一台机器:
update ac01 set aac003='王五' whereaac003='赵庆辉';
commit;
四。查看审计结果:
SQL> select * from dba_audit_trail;
OS_USERNAME
-----------------------------------
zhaoqh
Administrator
审计不成功的登陆、创建表、删除表、修改表、drop表,及其授权操作。
noaudit all;
noaudit all privileges;
audit session whenever not successful;
audit create any table, delete any table, drop any table, alter anytable by access ;
audit table by access ;
audit create user, alter user, drop user by access ;
audit grant table, grant procedure by access;
撤销所有审计:
noaudit all;
noaudit all privileges;
其它的看oracle的随机文档吧!我就不帮你查了!
audit table;
audit table by xxx(username);
audit table by xxx(username) whenever not successful;
系统表:
DBA_STMT_AUDIT_OPTS
stmt_audit_option_map
aud$
audit$
AUDIT_ACTIONS
dba_priv_audit_opts
ACTION |
NAME |
0 |
UNKNOWN |
1 |
CREATE TABLE |
2 |
INSERT |
3 |
SELECT |
4 |
CREATE CLUSTER |
5 |
ALTER CLUSTER |
6 |
UPDATE |
7 |
DELETE |
8 |
DROP CLUSTER |
9 |
CREATE INDEX |
10 |
DROP INDEX |
11 |
ALTER INDEX |
12 |
DROP TABLE |
13 |