Process Monitor Process (PMON) (121)
The process monitor (PMON) performs process recovery when a user process fails.PMON is responsible for cleaning up the database buffer cache and freeing resourcesthat the user process was using. For example, it resets the status of the activetransaction table, releases locks, and removes the process ID from the list of activeprocesses.PMON periodically checks the status of dispatcher and server processes, and restartsany that have stopped running (but not any that Oracle has terminated intention
System Monitor Process (SMON) (120)
The system monitor process (SMON) performs recovery, if necessary, at instancestartup. SMON is also responsible for cleaning up temporary segments that are nolonger in use and for coalescing contiguous free extents within dictionary managedtablespaces. If any terminated transactions were skipped during instance recoverybecause of file-read or offline errors, SMON recovers them when the tablespace or fileis brought back online. SMON checks regularly to see whether it is needed. Otherprocesses can
Checkpoint Process (CKPT) (119)
When a checkpoint occurs, Oracle must update the headers of all datafiles to recordthe details of the checkpoint. This is done by the CKPT process. The CKPT processdoes not write blocks to disk; DBWn always performs that work.The statistic DBWR checkpoints displayed by the System_Statistics monitor inEnterprise Manager indicates the number of checkpoint requests completed.检查点进程当检查点发生时 , Oracle将更新所有数据文件的头来记录检查点 .后面这句话什么意思 ? 哪位大侠告诉我一下 , 谢谢.[@more@]
user commit (118)
When a user commits a transaction, the transaction is assigned a system changenumber (SCN), which Oracle records along with the transaction’s redo entries in theredo log. SCNs are recorded in the redo log so that recovery operations can besynchronized in Real Application Clusters and distributed databases.In times of high activity, LGWR can write to the redo log file using group commits. Forexample, assume that a user commits a transaction. LGWR must write thetransaction’s redo entries to disk
LGWR writes redo log (117)
LGWR writes synchronously to the active mirrored group of redo log files. If one ofthe files in the group is damaged or unavailable, LGWR continues writing to otherfiles in the group and logs an error in the LGWR trace file and in the system alert log.If all files in a group are damaged, or the group is unavailable because it has not beenarchived, LGWR cannot continue to function.When a user issues a COMMIT statement, LGWR puts a commit record in the redo logbuffer and writes it to disk immediat
write-ahead protocol (116)
Before DBWn can write a modified buffer, all redo recordsassociated with the changes to the buffer must be written to disk (thewrite-ahead protocol). If DBWn finds that some redo records have notbeen written, it signals LGWR to write the redo records to disk andwaits for LGWR to complete writing the redo log buffer before it canwrite out the data buffers.写优先协议当DBWn写出modified buffer之前 , 日志记录中与buffer中相关的需要先写入磁盘 ,如果DBWn发现有日志记录还没有写出 , 它将通知LGWR将这些日志写
Log Writer Process (LGWR) (115)
The log writer process (LGWR) is responsible for redo log buffermanagement—writing the redo log buffer to a redo log file on disk. LGWR writes allredo entries that have been copied into the buffer since the last time it wrote.The redo log buffer is a circular buffer. When LGWR writes redo entries from the redolog buffer to a redo log file, server processes can then copy new entries over the entriesin the redo log buffer that have been written to disk. LGWR normally writes fastenough to ensure t
Database Writer Process (DBWn) (114)
The database writer process (DBWn) writes the contents of buffers to datafiles. TheDBWn processes are responsible for writing modified (dirty) buffers in the databasebuffer cache to disk. Although one database writer process (DBW0) is adequate formost systems, you can configure additional processes (DBW1 through DBW9 andDBWa through DBWj) to improve write performance if your system modifies dataheavily. These additional DBWn processes are not useful on uniprocessor systems.When a buffer in the d
Background Processes (113)
To maximize performance and accommodate many users, a multiprocess Oraclesystem uses some additional Oracle processes called background processes.An Oracle instance can have many background processes; not all are always present.There are numerous background processes. See the V$BGPROCESS view for moreinformation on the background processes. The background processes in an Oracleinstance can include the following:■ Database Writer Process (DBWn)■ Log Writer Process (LGWR)■ Checkpoint Process (C
Server Processes (112)
Oracle creates server processes to handle the requests of user processes connected tothe instance. In some situations when the application and Oracle operate on the samecomputer, it is possible to combine the user process and corresponding server processinto a single process to reduce system overhead. However, when the application andOracle operate on different computers, a user process always communicates withOracle through a separate server process.Server processes (or the server portion of co
Overview of Oracle Processes (111)
This section describes the two types of processes that run the Oracle database servercode (server processes and background processes). It also describes the trace files andalert logs, which record database events for the Oracle processes.Oracle进程运行Oracle数据库服务代码的两种类型的进程 : 服务器进程和后台进程跟踪文件和预警日志文件 , 用来记录Oracle进程的数据库事件[@more@]
Initianization Parameter (5) : THREAD
Parameter type : IntegerDefault value : 0Modifiable : NoRange of values : 0 to the maximum number of enabled threadsReal Application Clusters : If specified, multiple instances must have different values.THREAD is a Real Application Clusters parameter that specifies the number of the redo thread to be used by an instance.When you create a database, Oracle creates and enables thread 1 as a public thread (one that can be used by any instance). You must create and enable subsequent threads using th
Initianization Parameter (4) : CPU_COUNT
Parameter type : IntegerDefault value : Set automatically by OracleModifiable : NoRange of values : 0 to unlimitedBasic : NoCaution: On most platforms, Oracle automatically sets the value of CPU_COUNT to the number of CPUs available to your Oracle instanceDo not change the value of CPU_COUNT.CPU_COUNT specifies the number of CPUs available to Oracle. On single-CPUcomputers, the value of CPU_COUNT is 1.[@more@]
Where can one find the high water mark for a table?
摘自OrafaqThere is no single system table which contains the high water mark (HWM) for a table. A table's HWM can be calculated using the results from the following SQL statements:SELECT BLOCKS FROM DBA_SEGMENTS WHERE OWNER=UPPER(owner) AND SEGMENT_NAME = UPPER(table); ANALYZE TABLE owner.table ESTIMATE STATISTICS; SELECT EMPTY_BLOCKS FROM DBA_TABLES WHERE OWNER=UPPER(owner) AND TABLE_NAME = UPPER(table);Thus, the tables' HWM = (query result 1) - (query result 2) - 1NOTE: You can
How does one rename a database?
摘自OrafaqFollow these steps to rename a database:Start by making a full database backup of your database (in case you need to restore if this procedure is not working). Execute this command from sqlplus while connected to 'SYS AS SYSDBA':ALTER DATABASE BACKUP CONTROLFILE TO TRACE RESETLOGS; Locate the latest dump file in your USER_DUMP_DEST directory (show parameter USER_DUMP_DEST) - rename it to something like dbrename.sql. Edit dbrename.sql, remove all headers and comments, and change the dat
Can one rename a database user (schema)?
摘自OrafaqNo, this is listed as Enhancement Request 158508. Workaround:Do a user-level export of user A create new user B import system/manager fromuser=A touser=B drop user A [@more@]
Connections and Sessions (110)
Connection and session are closely related to user process but are very different inmeaning.A connection is a communication pathway between a user process and an Oracleinstance. A communication pathway is established using available interprocesscommunication mechanisms (on a computer that runs both the user process andOracle) or network software (when different computers run the database applicationand Oracle, and communicate through a network).A session is a specific connection of a user to an
Overview of User Processes (109)
When a user runs an application program (such as a Pro*C program) or an Oracle tool(such as Enterprise Manager or SQL*Plus), Oracle creates a user process to run theuser’s application.用户进程当用户运行应用程序或者Oracle工具时 , Oracle创建一个用户进程来运行应用程序[@more@]
Types of Processes (108)
The processes in an Oracle system can be categorized into two major groups:■ User processes run the application or Oracle tool code.■ Oracle processes run the Oracle database server code. They include serverprocesses and background processes.The process structure varies for different Oracle configurations, depending on theoperating system and the choice of Oracle options. The code for connected users canbe configured as a dedicated server or a shared server.With dedicated server, for each user
Multiple-Process Oracle Systems (107)
Multiple-process Oracle (also called multiuser Oracle) uses several processes to rundifferent parts of the Oracle code and additional processes for the users—either oneprocess for each connected user or one or more processes shared by multiple users.Most database systems are multiuser, because one of the primary benefits of adatabase is managing data needed by multiple users at the same time.Each process in an Oracle instance performs a specific job. By dividing the work ofOracle and database a