ORACLE_HOME:將要安裝oracle軟件的目錄,指向oracle二進制文件應該安裝到的位置。php
ORACLE_BASE:主機服務器上用於oracle軟件的頂級目錄html
ORACLE_SID:定義一個unix用戶會話應該鏈接到服務器上的那個實例,不能多於8個字符。java
ORACLE_OWNERnode
ORACLE_TERMlinux
DISPLAYweb
SHLIB_PATHsql
LD_LIBRARY_PATH:指定oracle共享對象庫的位置.在unix系統上,這個變量一般指向$ORACLE_HOME/lib或者是$ORACLE_HOME/lib32目錄數據庫
ORA_NLS33express
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 =<PASSWORD> ENTRIES=<MAX_USERS> force=<y/n>
各命令參數的含義爲:
---- FILENAME:密碼文件名;
---- PASSWORD:設置INTERNAL/SYS賬號的口令;
---- MAX_USERS:密碼文件中能夠存放的最大用戶數,對應於容許以SYSDBA/SYSOPER權限登陸數據庫的最大用戶數。因爲在之後的維護中,若用戶數超出了此限制,則須要重建密碼文件,因此此參數能夠根據須要設置得大一些。
force=<y/n>是否覆蓋原來的文件
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 <<Note:28814.1>; in addition, it may be worth using the dbverify as discussed in <<Note:35512.1>. |
||||||||||||||||||||||||||||||||||||||||||||||||
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 <<Note:28814.1>; in addition, it may be worth using the dbverify as discussed in <<Note:35512.1>. |
||||||||||||||||||||||||||||||||||||||||||||||||
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:<OS-pid>, machine: <machine-name>
program: exp@<TNS connect string) (TNS <version>
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<SID>.ORA文件中增長OPEN_CURSORS的數量,通常要求大於200。
(2) 在應用級,與開發工具備關,例如設置MAXOPEN_CURSORS等。
3 ORA-01545
特徵:某個回滾段不可用
緣由:(1)當使回滾段ONLINE時,但回滾段不可用,例如回滾段所在表空間OFFLINE;
(2) 當使回滾段ONLINE時,但回滾段已ONLINE,例如回滾段被使用兩次,典型的案例如OPS方式時,回滾段不能公有;
(3)刪除回滾段時,回滾段中有活動的事務;
措施:(1)確保回滾段可
(2)從 初始化文件INIT<SID>.ORA的參數ROLLBACK)SEGMENTS中刪除指定的回滾段。
(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_<sid>_D000' | 'ORA_<sid>_S000'
+---------+
| Session |
+---------+
複雜版本:
SQL*Net(監聽器) SGA SGA
---------- -------------- ----------- ----------
| Client |<-------->| Dispatcher |<----->| Circuit |<----->| Shared |
---------- -------------- ----------- | Server |
| ----------
'JSMITH' 'ORA_<sid>_D000' | 'ORA_<sid>_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
一、 觀察sga的使用狀況
select * from v$sgastat wherepool=’large pool’;
二、 觀察調度程序是否充足:
首先看每一個調度程序的忙閒:
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
三、 肯定是否有足夠的共享服務器
--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 |
CREATE SEQUENCE |
14 |
ALTER SEQUENCE |
15 |
ALTER TABLE |
16 |
DROP SEQUENCE |
17 |
GRANT OBJECT |
18 |
REVOKE OBJECT |
19 |
CREATE SYNONYM |
20 |
DROP SYNONYM |
21 |
CREATE VIEW |
22 |
DROP VIEW |
23 |
VALIDATE INDEX |
24 |
CREATE PROCEDURE |
25 |
ALTER PROCEDURE |
26 |
LOCK |
27 |
NO-OP |
28 |
RENAME |
29 |
COMMENT |
30 |
AUDIT OBJECT |
31 |
NOAUDIT OBJECT |
32 |
CREATE DATABASE LINK |
33 |
DROP DATABASE LINK |
34 |
CREATE DATABASE |
35 |
ALTER DATABASE |
36 |
CREATE ROLLBACK SEG |
37 |
ALTER ROLLBACK SEG |
38 |
DROP ROLLBACK SEG |
39 |
CREATE TABLESPACE |
40 |
ALTER TABLESPACE |
41 |
DROP TABLESPACE |
42 |
ALTER SESSION |
43 |
ALTER USER |
44 |
COMMIT |
45 |
ROLLBACK |
46 |
SAVEPOINT |
47 |
PL/SQL EXECUTE |
48 |
SET TRANSACTION |
49 |
ALTER SYSTEM |
50 |
EXPLAIN |
51 |
CREATE USER |
52 |
CREATE ROLE |
53 |
DROP USER |
54 |
DROP ROLE |
55 |
SET ROLE |
56 |
CREATE SCHEMA |
57 |
CREATE CONTROL FILE |
59 |
CREATE TRIGGER |
60 |
ALTER TRIGGER |
61 |
DROP TRIGGER |
62 |
ANALYZE TABLE |
63 |
ANALYZE INDEX |
64 |
ANALYZE CLUSTER |
65 |
CREATE PROFILE |
66 |
DROP PROFILE |
67 |
ALTER PROFILE |
68 |
DROP PROCEDURE |
70 |
ALTER RESOURCE COST |
71 |
CREATE SNAPSHOT LOG |
72 |
ALTER SNAPSHOT LOG |
73 |
DROP SNAPSHOT LOG |
74 |
CREATE SNAPSHOT |
75 |
ALTER SNAPSHOT |
76 |
DROP SNAPSHOT |
77 |
CREATE TYPE |