![]() ![]() ![]() ![]() |
|
![]() |
| ![]() ![]() |
|
Version | OS | Installer Setup File | Installer MB | ORACLE_BASE | ORACLE_HOME |
---|---|---|---|---|---|
10.2.0.1 | Express Edition on Windows XP | OracleXEUniv.exe | 211,849 | C:\oraclexe | \product\10.2.0\server |
Enterprise Edition Windows 32bit | 10201_database_win32.zip | 639,674 | C:\oracle\product\10.2.0 | \db_1 |
Reviewing Installed Starter Database Contents
Other
Oracle has been designed to allow several versions to be installed
on a single machine.
|
Express Edition Files Installed
Enterprise Edition Files Installed
The default SAP installation names Oracle datafiles with a prefix which matches its tablespace name. Rather than the dbf filename suffix, SAP requires datafiles to have names such as "psappooli.data3" for the third datafile for the SAP POOL data indexes. | ![]() ![]() |
Oracle installs several services with names starting with "Oracle".
In Windows, their status can be viewed (among other services) from
|
Service Name | Startup | Bin | Notes |
---|---|---|---|
OracleServiceXE OracleServiceORCL | Automatic | ORACLE.EXE XE | Oracle RDBMS Kernel Executable background process (runs multi-threaded). Unlike UNIX ports of Oracle Database 10g, Oracle Database 10g on Windows is implemented as a single operating system process. |
OracleXEClrAgent | Manual | OraClrAgnt.exe | CLR agent (XE Edition only) |
OracleXETNSListener OracleOraDb10g_home1TNSListener | Automatic | tnslsnr.exe | "Transparent Network Substrate" (Oracle Network Service) Listener |
OracleOraDb10g_homeiSQL*Plus | Automatic | isqlplussvc.exe | iSQL *Plus Application Server (Enterprise edition only) |
OracleMTSRecoveryService | Automatic | omtsreco.exe | MTS Recovery Service |
OracleMJobSchedulerXE OracleMJobSchedulerORCL | Disabled | extjob.exe XE | Job Scheduler |
OracleDBConsoleord | Automatic | nmesrvc.exe | (Enterprise edition only) |
Oracle 10g takes VM Size of 651,540K.
A different service name is assigned to process each instance. Service names contain "XE" for Express Edition, or "ORCL" or "OraDb10g_home1" automatically assigned by the Enterprise edition installer.
Statup is "Automatic" when that the service starts every time Windows boots up.
Statup is "Manual" if that service does not start with Windows boots up and requires
manual intervention to start.
Executables for running services and the dll files they use (oraclient10.dll, etc.
also in the same bin folder) cannot be deleted (to uninstall Oracle) until their service is stopped.
The Enterprise version of Oracle runs additional services for each instance.
| ![]() ![]() |
| ![]() ![]() |
Before Oracle10g, when an Oracle instance starts for the first time,
it references initialization parameters | ![]() ![]() |
Among
the many initialization parameters | ![]() ![]() |
| ![]() ![]() |
On Windows machines, | ![]() ![]() |
| ![]() ![]() |
| ![]() ![]() |
| ![]() ![]() |
From Task Manager, Processes tab (listed by Image Name)
|
Process | Mem Usage | Location | 10g File KB | Notes |
---|---|---|---|---|
rman.exe | - | ORACLE_HOME\bin | 1,516 | Recovery Manager. Uses the Large Pool |
sqlnet.exe | - | ORACLE_HOME\bin | - | SQL Net (uses SQLNET.ORA in admin folder) |
TNSLSNR.EXE | - | ORACLE_HOME\bin | 200 | Oracle TNS Listner started by Net Manager |
LSNRCTL.EXE | - | ORACLE_HOME\bin | 64 | Oracle TNS Listner Console |
sqlplus.exe | 6,784 | ORACLE_HOME\bin | 536 | - |
Within each process are threads. The many Oracle background tasks runs within a single multi-threaded process oracle.exe.
On UNIX, Oracle's processes are listed with command "ps -ef | grep ora".
| ![]() ![]() |
| ![]() ![]() |
| ![]() ![]() |
|
1. | hr_cre.sql | Create data objects for HR schema |
2. | hr_code.sql | Create procedural objects for HR schema |
3. | hr_comnt.sql | Create comments for HR schema |
4. | hr_idx.sql | Create indexes for HR schema |
5. | hr_dn_c.sql | Add DN (Distinguished Name) column to HR.EMPLOYEES and DEPARTMENTS |
6. | hr_popul.sql | Populate script for HR schema |
7. | hr_main.sql | Main script for HR schema |
8. | hr_analz.sql | Gathering statistics for HR schema |
9. | hr_dn_d.sql | Drop DN column from HR.EMPLOYEES and DEPARTMENTS |
10. | hr_drop.sql | Drop objects from HR schema |
| ![]() ![]() |
|
Installed by | Username (Owner) | Password | Privileges |
---|---|---|---|
default | system | input during install | Used for data administration. PRODUCT_USER_PROFILE table enforced by SQL*Plus |
default | sys | change on install | The root SYSOPER. Owns all, so has RESTRICTED SESSION privilege and can perform STARTUP, SHUTDOWN, ALTER DATABASE OPEN/MOUNT, ALTER DATABASE BACKUP, ARCHIVE LOG, and RECOVER. |
default | DBSNMP | ? | - |
default | OUTLN | ? | - |
- | internal | oracle | SYSDBA - all system privileges with ADMIN OPTION, including CREATE DATABASE and time-based recovery. Windows NT local group ORA_DBA does not have access to NTFS volumes, unless it is granted. |
- | scott | tiger | demo tables |
- | sysman | oem_temp | Oracle Enterprise Manager |
- | ORDSYS | ||
- | MDSYS | ||
- | CTXSYS |
Oracle Default Password Auditing Tool
Checkpwd identifies weak and default passwords by comparing
hashkeys of passwords
in the dba_users view versus
hashkeys calculated from a dictionary file.
Oracle Server Manager has both a line mode and GUI interface. It replaces the SQL*DBA utility used in Oracle version 6 and Oracle7 releases prior to 7.3. After Oracle is installed:
To change the password to account xxx in SQL:
To change the password to account xxx in SQL*Plus:
|
Folder (alias names) for Instance | Description | Parameter in init.ora | |
---|---|---|---|
11g | 8-10g | ||
\pfile | initialization parameter file (init.ora) | ||
\arch | archived log files | ||
\exp | export or import scripts | ||
\create | logs output during database creation | ||
\adhoc | Ad hoc SQL scripts for a given database | ||
\cdump | core dump for the database | Core_Dump_Dest= | |
\trace | \bdump | Background process trace / dump files and alert log file | BACKGROUND_DUMP_DEST= (in /saptrace/background) is deprecated in 11g |
\udump | user dumps and trace files for the database | USER_DUMP_DEST= (in /saptrace/usertrace) is deprecated in 11g | |
\adump | audit dump files | Audit_dump_Dest= AUDIT_FILE_DEST= (in /rdbms/audit) | |
\alert | - | for the plain text and log.XML versions of the alert log. | |
\incident | - | for the incident packaging software new to 11g | |
\incpkg | - | for packaging an incident into a bundle |
Note: \Core is only used for UNIX systems, which use mount points instead of drive letters. For OFA on UNIX, install to u01/app/oracle/product/9.2.0/... installed from the u01/app/oracle/admin/cdrom/ automount holding the entire install CDROM
Additionally, the LOG_ARCHIVE_DEST points to folder /oracle/<sapsid>/saparch/SAPSID_
the CONTROL_FILES parameter points to folder /oracle/sapdata-nn/cntrl1.data1
If the OFA file naming standard seem like files are diced and sliced a lot ... that's the idea! The OFA structure enables speedier performance than having all files jumbled together because INIT.ORA can point to folders placed on separate (parallel) devices so that I/O is spread around. Fragmentation within a file type can be better controlled when file types are fragmented (distributed). Got that?
|
Conceptual relationships between Logical and Physical schemas:![]() | ![]() ![]() |
|
Area | Tablespace | Contents | Fragmentation |
---|---|---|---|
Core | SYSTEMnn.DBF | data dictionary tables (metadata on user application tables) and system rollback segments | zero |
SYSAUX.DBF | New to 10g, consolidates metadata previously in SYSTEM for optional software, such as RMAN (Recovery Manager). | - | |
TEMPnn.DBF | dynamically created objects that store data during bulk operations, such as when a sort operation overflows the size of sorting buffer space in memory allocated. | very high | |
USERSnn.DBF | application data and structures created by default by DBCA | ? | |
UNDO | - | ? | |
Other | DATAnn.DBF | physical data of the database | low |
DRnn.DBF | ??? | ? | |
INDEXnn.DBF | contains keys used to find data. All indexes are stored in a single segment. | low | |
RBSnn.DBF | rollback segments maintains data concurrency within the database. These files are created in the SYSTEM tablespace and moved here after being taken offline (to prevent I/O contention) | high | |
TOOLSnn.DBF | 3rd party tools and the SYSTEM's account default tablespace | very low |
The “nn" above is a placeholder for a zero-padded count of the physical files multiplexed (mirrored) over several drives (for better performance and redundancy).
User tablespaces are separate from the system tablespace. Ideally, tablespaces are created in raw (unformatted) disk partitions.
The DB_NAME environment variable -- the name of the organization that owns the database -- can only be eight characters or less.
SAP requires index file names to be eight characters long,
beginning with the table name, then
a variable number of (between one and three) underscore (_) characters,
and ending with a number.
Indexes that end with a zero represent the primary key indexes for the table.
Indexes that end with nonzero numbers represent secondary indexes.
|
Type of Segment | Description | View |
---|---|---|
Table | stores the data associated with the tables. It contains a header block that serves as a space directory for the segment. | |
Temporary | used to store temporary data during sorting operations. | select sum(bytes) from dba_extents where segment_name=’<index-name>’; |
Rollback | have a minimum of two extents when created. They have to be large enough to accommodate all the data generated from a single transaction. | DBA_ROLLBACK_SEGS |
LOBnn (Large Object) | stores a pointer to large objects (text documents, videos, or images) in data files. | -- |
Nested Table | a column made up of a user-defined table also called the cache segment. | -- |
Bootstrap Segment | created by sql.bsq when the database is created. | -- |
| ![]() ![]() |
Each database segment is composed of one or more extents.
| ![]() ![]() |
Synonyms point to other database tables. When a synonym name is used, Oracle automatically replaces it with the name of the object for which the synonym is defined.
Oracle first looks for Private synonyms created in a specific schema and are only accessible by the schema that owns it.
Oracle then looks for Public synonyms owned by the PUBLIC schema for reference by all database schemas.
Public synonym “DICTIONARY” lists descriptions of all data dictionary tables:
| ![]() ![]() |
To prevent two people from updating the same data at the same time (concurrently)
Oracle uses "enqueue" queuing mechanisms to lock out competing requestors.
| ![]() ![]() |
| ![]() ![]() |
define the physical data structure and attributes of each database, starting from
the timestamp when the database was created, its DB_BLOCK_SIZE,
and the locations of associated Checkpoint, datafiles, and
redo log files.
Fields in the control file are listed by the V$CONTROLFILE view or command SHOW PARAMETER CONTROL.
| ![]() ![]() |
|
Procedure | Description |
---|---|
Catalog.sql | creates views of the base table, dynamic performance views and their corresponding synonyms. Its over 200 pages long. |
Catproc.sql | create data dictionary information, dynamic views and packages for the new database |
Catexp.sql | -- |
pupbld.sql | creates the product user profile tables. |
catrep.sql | creates procedures and objects supporting replication options. |
Cat.sql | . |
Utlpwdmg.sql | . |
The services necessary to run the Oracle instance are created using the oradim utility. If it's run without arguments, a GUI interface appears.
The oradim.exe program creates tablespaces. The Database Assistant GUI outputs a .bat file containing a command line such as this:
|
INITIAL 10M | First extent Megabytes. |
NEXT 10M | Second and further extent Megabytes. |
MAXEXTENTS 505 | The max number of extents a segment can have. |
MINEXTENTS 0 | The number of extents allocated when the segment is created. |
PCTINCREASE 0 | Percent the extent increases when the segment need to grow. |
| ![]() ![]() |
|
Issue | Cause |
---|---|
bind variables not used | library cache latch |
redo generation | redo allocation latch |
buffer cache contention | cache buffers LRU chain |
hot blocks in the buffer cache | cache buffers chain |
It is also used by the Recovery Manager (RMAN) process doing backups introduced with Oracle 8 to replace Oracle's EBU (Enterprise Backup Utility) for Oracle 7.
3rd party backup solutions that interface with Oracle's Media Management Layer (MML) include:
Since a bug was fixed in 8.1.7, get the high water mark (HWM) of connected sessions since startup with v$resource_limit.
|
Manage- ment | SGA component | Init. Parameter | Note | |
---|---|---|---|---|
Automatically tuned by Oracle | Fixed Size (overhead structures) | (Oracle allocates) | ||
Shared Pool | SHARED_POOL_SIZE=0 | |||
Large Pool | LARGE_POOL_SIZE=0 | |||
Java Pool | JAVA_POOL_SIZE=0 | |||
Database Buffer Cache default pool for DB_BLOCK_SIZE=32768 | Keep Cache | DB_CACHE_SIZE=0 | DB_KEEP_CACHE_SIZE=_ | |
Recycle Cache | DB_RECYCLE_CACHE_SIZE=_ | |||
Manually sized (deducted from SGA) | ||||
other than standard DB_BLOCK_SIZE | DB_2K_CACHE_SIZE=_ | |||
DB_4K_CACHE_SIZE=_ | ||||
DB_8K_CACHE_SIZE=_ | ||||
DB_16K_CACHE_SIZE=_ | ||||
Redo Log Buffer | LOG_BUFFER=1048576 | Should never exceed 5MB. | ||
Streams Pool | STREAMS_POOL_SIZE=_ |
On 32-bit machines, the maximum SGA cannot exceed 1.7G from the 4GB address space on many unix platforms.
With 9i, the components consuming memory in the SGA had to be (continually) adjusted manually (by changing the init.ora) to avoid ORA-04031 out-of-memory allocation faults.
With 10g, DBAs set a single new SGA_TARGET initialization parameter a space that Oracle Automatic Shared Memory Management (ASMM) automatically distributes. The SGA_MAX_SIZE cannot be dynamically resized.
Query the V$SGA_TARGET_ADVICE view and set the SGA_TARGET to the sga_size value that corresponds to the least estimated physical reads ("ESTD_PHYSICAL_READS"). Use command:
The SGA_TARGET value includes space previously specified for the shared_pool_size and startup overhead of other pools.
The SGA_TARGET value also includes "Fixed Size" space that Oracle sets based on the operating system.
The paradigm shift in thinking is that values to maximize in 9i in 10g become "overhead" values to be minimized.
So in 10g do this:
Query the v$sgainfo dynamic view for the "Startup overhead in shared pool" value.
Manual tuning in 10g involves setting the minimum amount of space that should be allocated at start-up so that Oracle has the memory already dedicated when its needed.
Explicit settings are still needed for components that 10g does not adjust automatically:
| ![]() ![]() |
These background processes are mandatory (required to startup each Oracle instance):
| ![]() ![]() |
If you are running Data Guard (DG)/Streams/replication:
The "n" can be as large as the number specified in parameter JOB_QUEUE_PROCESSES for the instance. | ![]() ![]() |
If an Oracle Parallel Server Real Application Clusters (RAC) multi-instance coordination is active:
![]() With Shared Server, client connections are ultimately sent to a Dispatcher, which binds the client to an already established virtual circuit. As a general rule, on start-up a dispatcher should be created for every 1000 connections (rounded up to the next integer) as specified by the SHARED_SERVERS parameter. But monitor views V$QUEUE, V$DISPATCHER, and V$DISPATCHER_RATE. Parameter MAX_SHARED_SERVERS limits the number of shared server processes running simultaneously. Parameter SHARED_SERVER_SESSIONS specifies the total number of shared server user sessions to allow, used to reserve user sessions for dedicated servers. A shared dispatcher process is configured using init.ora parameter: dispatchers = (PROTOCOL=TCP)(SERVICE=orclXDB) Within a share Multi-Threaded Server (MTS), a dispatcher process is configured using init.ora parameter: MTS_DISPATCHERS = ("tcp, 4", "spx, 2") Implement Shared Server in tnsnames.ora: (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp) (HOST=sales-server)(PORT=1521)) (CONNECT_DATA= (SERVICE_NAME=sales.us.acme.com) (SERVER=shared) )) SAP stores the master tnsnames.ora and sqlnet.ora files in folder /usr/sap/trans along with the common transport directory sapconf. Oracle dynamically adjusts the number of shared server processes based on the length of the request queue.
The "nnn" can be as large as the number specified in parameter ???.
The "nnn" can range between PARALLEL_MIN_SERVERS and PARALLEL_MAX_SERVERS.
For cross-instance consistent read requests, it creates a consistent read version of the block for the requesting instance, The "x" varies depending on the amount of messaging traffic among nodes in the cluster, but can be as large as 10 Global Cache Service Processes provided by RAC software.
The "n" can be as large as the number specified in parameter GC_LCK_PROCS.
| ![]() ![]() |
| ![]() ![]() |
| ![]() ![]() |
| ![]() ![]() |
| ![]() |
| ![]() |
Related Topics: