Database Management
Applications Manager is a Database Server monitoring tool that can help monitor a heterogeneous database server environment that may consist of Oracle database, MS SQL, Sybase, IBM DB2 and MySQL databases. It also helps database administrators (DBAs) and system administrators by notifying about potential database performance problems. For database server monitoring, Applications Manager connects to the database and ensures it is up. Applications Manager is also an agentless monitoring tool that executes database queries to collect performance statistics and send alerts, if the database performance crosses a given threshold. With out-of-the box reports, DBAs can plan inventory requirements and troubleshoot incidents quickly.
Database Server Monitoring Software Needs to
- Ensure high availability of database servers
- Keep tab on the database size, buffer cache size, database connection time
- Analyze the number of user connections to the databases at various time
- Analyze usage trends
- Help take actions proactively before critical incidents occur.
Oracle Performance Monitoring with Oracle Reports, Alerting & Dashboards
Most business critical applications are database driven and needs Oracle Monitoring. The Oracle database management capability helps database administrators to seamlessly detect, diagnose and resolve Oracle performance issues and monitor Oracle 24X7. The database server monitoring tool is an agentless monitoring software that provides out-of-the-box performance metrics and helps you visualize the health and availability of an Oracle Database server farm. Database administrators can login to the web client and visualize the status and Oracle performance metrics.Applications Manager also provides out-of-the-box Oracle reports that help analyze the database server usage, Oracle database availability and database server health.
Additionally the grouping capability helps group your databases based on the business process supported and helps the operations team to prioritize alerts as they are received. The following figure 1 is shown the oracle monitoring that will help you to understand in overall.

Figure 1: Oracle monitoring
Oracle Monitoring capability:
- Response Time
- User Activity
- Status
- Table Space Usage
- Table Space Details
- Table Space Status
- SGA Performance
- SGA Details
- SGA Status
- Performance of Data Files
- Session Details
- Session Waits
- Buffer Gets
- Disk Reads
- Rollback Segment
- Queries, Locks and more
- Out-of-the-box management of Oracle availability and performance.
- Monitors performance statistics such as user activity, status, table space, SGA performance, session details, etc. Alerts can be configured for these parameters.
- Based on the thresholds configured, notifications and alerts are generated. Actions are executed automatically based on configurations.
- Performance graphs and reports are available instantly. Reports can be grouped and displayed based on availability, health, and connection time.
- Delivers both historical and current Oracle performance metrics, delivering insight into the performance over a period of time.
This section presents an overview of the environment and tasks of an Oracle Database administrator (DBA). It also discusses DBA security and how you obtain the necessary administrative privileges.
The following topics are discussed:
- Types of Oracle Database Users
- Tasks of a Database Administrator
- Selecting an Instance with Environment Variables
- Identifying Your Oracle Database Software Release
- Database Administration Security and Privileges
- Database Administrator Authentication
- Creating and Maintaining a Password File
- Server Manageability
Types of Oracle Database Users
The types of users and their roles and responsibilities depend on the database site. A small site can have one database administrator who administers the database for application developers and users. A very large site can find it necessary to divide the duties of a database administrator among several people and among several areas of specialization.
This section contains the following topics:
- Database Administrators
- Security Officers
- Network Administrators
- Application Developers
- Application Administrators
- Database Users
Each database requires at least one database administrator (DBA). An Oracle Database system can be large and can have many users. Therefore, database administration is sometimes not a one-person job, but a job for a group of DBAs who share responsibility.
A database administrator's responsibilities can include the following tasks:
Installing and upgrading the Oracle Database server and application tools
Allocating system storage and planning future storage requirements for the database system
Creating primary database storage structures (tablespaces) after application developers have designed an application
Creating primary objects (tables, views, indexes) once application developers have designed an application
Modifying the database structure, as necessary, from information given by application developers
Enrolling users and maintaining system security
Ensuring compliance with Oracle license agreements
Controlling and monitoring user access to the database
Monitoring and optimizing the performance of the database
Planning for backup and recovery of database information
Maintaining archived data on tape
Backing up and restoring the database
Contacting Oracle for technical support
Security Officers
In some cases, a site assigns one or more security officers to a database. A security officer enrolls users, controls and monitors user access to the database, and maintains system security. As a DBA, you might not be responsible for these duties if your site has a separate security officer. Please refer to Oracle Database Security Guide for information about the duties of security officers.
Network Administrators
Some sites have one or more network administrators. A network administrator, for example, administers Oracle networking products, such as Oracle Net Services. Please refer to Oracle Database Net Services Administrator's Guide for information about the duties of network administrators.
Application Developers
Application developers design and implement database applications. Their responsibilities include the following tasks:
Designing and developing the database application
Designing the database structure for an application
Estimating storage requirements for an application
Specifying modifications of the database structure for an application
Relaying this information to a database administrator
Tuning the application during development
Establishing security measures for an application during development
Application developers can perform some of these tasks in collaboration with DBAs. Please refer to Oracle Database Application Developer's Guide - Fundamentals for information about application development tasks.
Application Administrators
An Oracle Database site can assign one or more application administrators to administer a particular application. Each application can have its own administrator.
Database Users
Database users interact with the database through applications or utilities. A typical user's responsibilities include the following tasks:
Entering, modifying, and deleting data, where permitted
Generating reports from the data
The following tasks present a prioritized approach for designing, implementing, and maintaining an Oracle Database:
These tasks are discussed in the sections that follow.Task 1: Evaluate the Database Server Hardware
Task 2: Install the Oracle Database Software
Task 3: Plan the Database
Task 4: Create and Open the Database
Task 5: Back up the Database
Task 6: Enroll System Users
Task 7: Implement the Database Design
Task 8: Back up the Fully Functional Database
Task 9: Tune Database Performance
Task 10: Download and Install Patches
Task 11: Roll Out to Additional Hosts
Task 1: Evaluate the Database Server Hardware
Evaluate how Oracle Database and its applications can best use the available computer resources. This evaluation should reveal the following information:
How many disk drives are available to the Oracle products
How many, if any, dedicated tape drives are available to Oracle products
How much memory is available to the instances of Oracle Database you will run (see your system configuration documentation)
Task 2: Install the Oracle Database Software
As the database administrator, you install the Oracle Database server software and any front-end tools and database applications that access the database. In some distributed processing installations, the database is controlled by a central computer (database server) and the database tools and applications are executed on remote computers (clients). In this case, you must also install the Oracle Net components necessary to connect the remote machines to the computer that executes Oracle Database.
Task 3: Plan the Database
As the database administrator, you must plan:
The logical storage structure of the database
The overall database design
A backup strategy for the database
It is important to plan how the logical storage structure of the database will affect system performance and various database management operations. For example, before creating any tablespaces for your database, you should know how many datafiles will make up the tablespace, what type of information will be stored in each tablespace, and on which disk drives the datafiles will be physically stored. When planning the overall logical storage of the database structure, take into account the effects that this structure will have when the database is actually created and running. Consider how the logical storage structure of the database will affect:
The performance of the computer executing running Oracle Database
The performance of the database during data access operations
The efficiency of backup and recovery procedures for the database
Plan the relational design of the database objects and the storage characteristics for each of these objects. By planning the relationship between each object and its physical storage before creating it, you can directly affect the performance of the database as a unit. Be sure to plan for the growth of the database.
In distributed database environments, this planning stage is extremely important. The physical location of frequently accessed data dramatically affects application performance.
During the planning stage, develop a backup strategy for the database. You can alter the logical storage structure or design of the database to improve backup efficiency.
It is beyond the scope of this book to discuss relational and distributed database design. If you are not familiar with such design issues, please refer to accepted industry-standard documentation.
Task 4: Create and Open the Database
After you complete the database design, you can create the database and open it for normal use. You can create a database at installation time, using the Database Configuration Assistant, or you can supply your own scripts for creating a database.
Task 5: Back Up the Database
After you create the database structure, carry out the backup strategy you planned for the database. Create any additional redo log files, take the first full database backup (online or offline), and schedule future database backups at regular intervals.
Task 6: Enroll System UsersAfter you back up the database structure, you can enroll the users of the database in accordance with your Oracle license agreement, and grant appropriate privileges and roles to these users.
Task 7: Implement the Database Design
After you create and start the database, and enroll the system users, you can implement the planned logical structure database by creating all necessary tablespaces. When you have finished creating tablespaces, you can create the database objects.
Task 8: Back Up the Fully Functional Database
When the database is fully implemented, again back up the database. In addition to regularly scheduled backups, you should always back up your database immediately after implementing changes to the database structure.
Task 9: Tune Database Performance
Optimizing the performance of the database is one of your ongoing responsibilities as a DBA. Oracle Database provides a database resource management feature that helps you to control the allocation of resources among various user groups.
Task 10: Download and Install Patches
After installation and on a regular basis, download and install patches. Patches are available as single interim patches and as patchsets (or patch releases). Interim patches address individual software bugs and may or may not be needed at your installation. Patch releases are collections of bug fixes that are applicable for all customers. Patch releases have release numbers. For example, if you installed Oracle Database 10.2.0.0, the first patch release will have a release number of 10.2.0.1.
Task 11: Roll Out to Additional Hosts
After you have an Oracle Database installation properly configured, tuned, patched, and tested, you may want to roll that exact installation out to other hosts. Reasons to do this include the following:
You have multiple production database systems.
You want to create development and test systems that are identical to your production system.
Instead of installing, tuning, and patching on each additional host, you can clone your tested Oracle Database installation to other hosts, saving time and eliminating inconsistencies. There are two types of cloning available to you:
Cloning an Oracle home—Just the configured and patched binaries from the Oracle home directory and subdirectories are copied to the destination host and "fixed" to match the new environment. You can then start an instance with this cloned home and create a database.
You can use the Enterprise Manager Clone Oracle Home tool to clone an Oracle home to one or more destination hosts. You can also manually clone an Oracle home using a set of provided scripts and Oracle Universal Installer.
Cloning a database—The tuned database, including database files, initialization parameters, and so on, are cloned to an existing Oracle home (possibly a cloned home).
You can use the Enterprise Manager Clone Database tool to clone an Oracle database instance to an existing Oracle home.
Selecting an Instance with Environment Variables
Before you attempt to use SQL*Plus to connect locally to an Oracle instance, you must ensure that environment variables are set properly. When multiple database instances exist on one server, or when an Automatic Storage Management (ASM) instance exists on the same server as one or more database instances, the environment variables determine which instance SQL*Plus connects to. (This is also true when there is only one Oracle instance on a server.)
For example, each Oracle instance (database or ASM) has a unique system identifier (SID). To connect to an instance, you must at a minimum set the ORACLE_SID
environment variable to the SID of that instance. Depending on the operating system, you may need to set other environment variables to properly change from one instance to another.
Solaris Example
The following Solaris example sets the environment variables that are required for selecting an instance. When switching between instances with different Oracle homes, the ORACLE_HOME
environment variable must be changed.
% setenv ORACLE_SID SAL1
% setenv ORACLE_HOME /u01/app/oracle/product/10.1.0/db_1
% setenv LD_LIBRARY_PATH /usr/lib:/usr/dt/lib:/usr/openwin/lib:/usr/ccs/lib
Most UNIX installations come with two scripts, oraenv
and coraenv
, that can be used to easily set these environment variables. For more information, see Administrator's Reference for UNIX Systems.
Windows Example
On Windows, you must set only the ORACLE_SID environment variable to select an instance before starting SQL*Plus.
SET ORACLE_SID=SAL1
Identifying Your Oracle Database Software Release
Because Oracle Database continues to evolve and can require maintenance, Oracle periodically produces new releases. Not all customers initially subscribe to a new release or require specific maintenance for their existing release. As a result, multiple releases of the product exist simultaneously.
As many as five numbers may be required to fully identify a release. The significance of these numbers is discussed in the sections that follow.
Release Number Format
To understand the release nomenclature used by Oracle, examine the following example of an Oracle Database server labeled "Release 10.1.0.1.0".
Figure 1-1 Example of an Oracle Database Release Number
Note: This following is a text description of the figure 1-1 that displays a release number and notes the significance of each digit. The release number is 10.1.0.1.0.
The significance of each number (reading from left to right) is as follows:
10 is the major database release number
1 is the database maintenence release number
0 is the application server release number
1 is the component-specific release number
0 is the platform-specific release number
Major Database Release Number
The first digit is the most general identifier. It represents a major new version of the software that contains significant new functionality.
Database Maintenance Release Number
The second digit represents a maintenance release level. Some new features may also be included.
Application Server Release Number
The third digit reflects the release level of the Oracle Application Server (OracleAS).
Component-Specific Release Number
The fourth digit identifies a release level specific to a component. Different components can have different numbers in this position depending upon, for example, component patch sets or interim releases.
Platform-Specific Release Number
The fifth digit identifies a platform-specific release. Usually this is a patch set. When different platforms require the equivalent patch set, this digit will be the same across the affected platforms.
Checking Your Current Release Number
To identify the release of Oracle Database that is currently installed and to see the release levels of other database components you are using, query the data dictionary view PRODUCT_COMPONENT_VERSION
. A sample query follows. (You can also query the V$VERSION
view to see component-level information.) Other product release levels may increment independent of the database server.
COL PRODUCT FORMAT A35
COL VERSION FORMAT A15
COL STATUS FORMAT A15
SELECT * FROM PRODUCT_COMPONENT_VERSION;
PRODUCT VERSION STATUS
---------------------------------------- ----------- -----------
NLSRTL 10.2.0.1.0 Production
Oracle Database 10g Enterprise Edition 10.2.0.1.0 Prod
PL/SQL 10.2.0.1.0 Production
...
It is important to convey to Oracle the results of this query when you report problems with the software.
Database Administrator Security and Privileges
To perform the administrative tasks of an Oracle Database DBA, you need specific privileges within the database and possibly in the operating system of the server on which the database runs. Access to a database administrator's account should be tightly controlled.
This section contains the following topics:
- The Database Administrator's Operating System Account
- Database Administrator Usernames
The Database Administrator's Operating System Account
To perform many of the administrative duties for a database, you must be able to execute operating system commands. Depending on the operating system on which Oracle Database is running, you might need an operating system account or ID to gain access to the operating system. If so, your operating system account might require operating system privileges or access rights that other database users do not require (for example, to perform Oracle Database software installation). Although you do not need the Oracle Database files to be stored in your account, you should have access to them.
Database Administrator Usernames
Two user accounts are automatically created when Oracle Database is installed:
Create at least one additional administrative user and grant to that user an appropriate administrative role to use when performing daily administrative tasks. Do not use SYS
and SYSTEM
for these purposes.
SYS
When you create an Oracle Database, the user SYS
is automatically created and granted the DBA
role.
All of the base tables and views for the database data dictionary are stored in the schema SYS
. These base tables and views are critical for the operation of Oracle Database. To maintain the integrity of the data dictionary, tables in the SYS
schema are manipulated only by the database. They should never be modified by any user or database administrator, and no one should create any tables in the schema of user SYS
. (However, you can change the storage parameters of the data dictionary settings if necessary.)
Ensure that most database users are never able to connect to Oracle Database using the SYS
account.
SYSTEM
When you create an Oracle Database, the user SYSTEM
is also automatically created and granted the DBA
role.
The SYSTEM
username is used to create additional tables and views that display administrative information, and internal tables and views used by various Oracle Database options and tools. Never use the SYSTEM
schema to store tables of interest to non-administrative users.
The DBA Role
A predefined DBA
role is automatically created with every Oracle Database installation. This role contains most database system privileges. Therefore, the DBA role should be granted only to actual database administrators.
Database Administrator Authentication
As a DBA, you often perform special operations such as shutting down or starting up a database. Because only a DBA should perform these operations, the database administrator usernames require a secure authentication scheme.
This section contains the following topics:
- Administrative Privileges
- Selecting an Authentication Method
- Using Operating System Authentication
- Using Password File Authentication
Administrative Privileges
Administrative privileges that are required for an administrator to perform basic database operations are granted through two special system privileges, SYSDBA
and SYSOPER
. You must have one of these privileges granted to you, depending upon the level of authorization you require.
SYSDBA and SYSOPER
The following operations are authorized by the SYSDBA
and SYSOPER
system privileges:
System Privilege | Operations Authorized |
---|---|
SYSDBA |
Effectively, this system privilege allows a user to connect as user |
SYSOPER |
This privilege allows a user to perform basic operational tasks, but without the ability to look at user data. |
The manner in which you are authorized to use these privileges depends upon the method of authentication that you use.
When you connect with SYSDBA
or SYSOPER
privileges, you connect with a default schema, not with the schema that is generally associated with your username. For SYSDBA
this schema is SYS
; for SYSOPER
the schema is PUBLIC
.
Connecting with Administrative Privileges: Example
This example illustrates that a user is assigned another schema (SYS
) when connecting with the SYSDBA
system privilege. Assume that the sample user oe
has been granted the SYSDBA system privilege and has issued the following statements:
CONNECT oe/oe
CREATE TABLE admin_test(name VARCHAR2(20));
Later, user oe
issues these statements:
CONNECT oe/oe AS SYSDBA
SELECT * FROM admin_test;
User oe
now receives the following error:
ORA-00942: table or view does not exist
Having connected as SYSDBA
, user oe
now references the SYS
schema, but the table was created in the oe
schema.
Selecting an Authentication Method
The following methods are available for authenticating database administrators:
Operating system (OS) authentication
A password file
Your choice will be influenced by whether you intend to administer your database locally on the same machine where the database resides, or whether you intend to administer many different databases from a single remote client. Figure 1-2 illustrates the choices you have for database administrator authentication schemes.
Figure 1-2 Database Administrator Authentication Methods
Note: his is a text description of above illustration that shown a flow diagram of the choices available for database authentication schemes, depending on whether you are administering the database from a remote client or locally from the same machine where the database resides. If you are administering the database locally, or from a remote client with a secure connection, then you have the following choices:
Operating system authentication
Password file authentication
If you are administering the database from a remote client, and you do not have a secure connection, then your only choice is to use password file authentication.
If you are performing remote database administration, consult your Oracle Net documentation to determine whether you are using a secure connection. Most popular connection protocols, such as TCP/IP and DECnet, are not secure.
Nonsecure Remote Connections
To connect to Oracle Database as a privileged user over a nonsecure connection, you must be authenticated by a password file. When using password file authentication, the database uses a password file to keep track of database usernames that have been granted the SYSDBA
or SYSOPER
system privilege. This form of authentication is discussed in "Using Password File Authentication".
Local Connections and Secure Remote Connections
You can connect to Oracle Database as a privileged user over a local connection or a secure remote connection in two ways:
If the database has a password file and you have been granted the
SYSDBA
orSYSOPER
system privilege, then you can connect and be authenticated by a password file.If the server is not using a password file, or if you have not been granted
SYSDBA
orSYSOPER
privileges and are therefore not in the password file, you can use operating system authentication. On most operating systems, authentication for database administrators involves placing the operating system username of the database administrator in a special group, generically referred to as OSDBA. Users in that group are grantedSYSDBA
privileges. A similar group, OSOPER, is used to grantSYSOPER
privileges to users.
Using Operating System Authentication
This section describes how to authenticate an administrator using the operating system.
OSDBA and OSOPER
Two special operating system groups control database administrator connections when using operating system authentication. These groups are generically referred to as OSDBA and OSOPER. The groups are created and assigned specific names as part of the database installation process. The specific names vary depending upon your operating system and are listed in the following table:
Operating System Group | UNIX User Group | Windows User Group |
---|---|---|
OSDBA | dba | ORA_DBA |
OSOPER | oper | ORA_OPER |
The default names assumed by the Oracle Universal Installer can be overridden. How you create the OSDBA and OSOPER groups is operating system specific.
Membership in the OSDBA or OSOPER group affects your connection to the database in the following ways:
If you are a member of the OSDBA group and you specify
AS SYSDBA
when you connect to the database, then you connect to the database with theSYSDBA
system privilege.If you are a member of the OSOPER group and you specify
AS SYSOPER
when you connect to the database, then you connect to the database with theSYSOPER
system privilege.If you are not a member of either of these operating system groups and you attempt to connect as
SYSDBA
orSYSOPER
, theCONNECT
command fails.
Preparing to Use Operating System Authentication
To enable operating system authentication of an administrative user:
Create an operating system account for the user.
Add the account to the
OSDBA
orOSOPER
operating system defined groups.
Connecting Using Operating System Authentication
A user can be authenticated, enabled as an administrative user, and connected to a local database by typing one of the following SQL*Plus commands:
CONNECT / AS SYSDBA
CONNECT / AS SYSOPER
For a remote database connection over a secure connection, the user must also specify the net service name of the remote database:
CONNECT /@net_service_name AS SYSDBA
CONNECT /@net_service_name AS SYSOPER
Using Password File Authentication
This section describes how to authenticate an administrative user using password file authentication.
Preparing to Use Password File Authentication
To enable authentication of an administrative user using password file authentication you must do the following:
If not already created, create the password file using the
ORAPWD
utility:ORAPWD FILE=filename PASSWORD=password ENTRIES=max_user
Set the
REMOTE_LOGIN_PASSWORDFILE
initialization parameter toEXCLUSIVE
. (This is the default).Connect to the database as user
SYS
(or as another user with the administrative privileges).If the user does not already exist in the database, create the user.
Grant the
SYSDBA
orSYSOPER
system privilege to the user:
GRANT SYSDBA to oe;
This statement adds the user to the password file, thereby enabling connectionAS
SYSDBA
.
Connecting Using Password File Authentication
Administrative users can be connected and authenticated to a local or remote database by using the SQL*Plus CONNECT
command. They must connect using their username and password and the AS SYSDBA
or AS SYSOPER
clause. For example, user oe
has been granted the SYSDBA
privilege, so oe
can connect as follows:
CONNECT oe/oe AS SYSDB
However, user oe
has not been granted the SYSOPER
privilege, so the following command will fail:
CONNECT oe/oe AS SYSOPER
Creating and Maintaining a Password File
You can create a password file using the password file creation utility, ORAPWD
. For some operating systems, you can create this file as part of your standard installation.
This section contains the following topics:
- Using ORAPWD
- Setting REMOTE_LOGIN_PASSWORDFILE
- Adding Users to a Password File
- Maintaining a Password File
Using ORAPWD
When you invoke this password file creation utility without supplying any parameters, you receive a message indicating the proper use of the command as shown in the following sample output:
> orapwd
Usage: orapwd file=password= entries= force=
where
file - name of password file (mand),
password - password for SYS (mand),
entries - maximum number of distinct DBAs and OPERs (opt),
force - whether to overwrite existing file (opt)
There are no spaces around the equal-to (=) character.
The following command creates a password file named acct.pwd
that allows up to 30 privileged users with different passwords. In this example, the file is initially created with the password secret
for users connecting as SYS
.
orapwd FILE=acct.pwd PASSWORD=secret ENTRIES=30
The parameters in the ORAPWD
utility are described in the sections that follow.
- FILE
This parameter sets the name of the password file being created. You must specify the full path name for the file. The contents of this file are encrypted, and the file cannot be read directly. This parameter is mandatory.
The types of filenames allowed for the password file are operating system specific. Some operating systems require the password file to adhere to a specific format and be located in a specific directory. Other operating systems allow the use of environment variables to specify the name and location of the password file. For name and location information for the Unix and Linux operating systems, see Administrator's Reference for UNIX-Based Operating Systems. For Windows, see Platform Guide for Microsoft Windows. For other operating systems, see your operating system documentation.
If you are running multiple instances of Oracle Database using Oracle Real Application Clusters, the environment variable for each instance should point to the same password file.
- PASSWORD
This parameter sets the password for user
SYS
. If you issue theALTER USER
statement to change the password forSYS
after connecting to the database, both the password stored in the data dictionary and the password stored in the password file are updated. This parameter is mandatory.- ENTRIES
This parameter specifies the number of entries that you require the password file to accept. This number corresponds to the number of distinct users allowed to connect to the database as
SYSDBA
orSYSOPER
. The actual number of allowable entries can be higher than the number of users, because theORAPWD
utility continues to assign password entries until an operating system block is filled. For example, if your operating system block size is 512 bytes, it holds four password entries. The number of password entries allocated is always a multiple of four.Entries can be reused as users are added to and removed from the password file. If you intend to specify
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
, and to allow the granting ofSYSDBA
andSYSOPER
privileges to users, this parameter is required.- FORCE
This parameter, if set to
Y
, enables you to overwrite an existing password file. An error is returned if a password file of the same name already exists and this parameter is omitted or set toN
.
Setting REMOTE_LOGIN_ PASSWORDFILE
In addition to creating the password file, you must also set the initialization parameter REMOTE_LOGIN_PASSWORDFILE
to the appropriate value. The values recognized are:
NONE
: Setting this parameter toNONE
causes Oracle Database to behave as if the password file does not exist. That is, no privileged connections are allowed over nonsecure connections.EXCLUSIVE
: (The default) AnEXCLUSIVE
password file can be used with only one instance of one database. Only anEXCLUSIVE
file can be modified. Using anEXCLUSIVE
password file enables you to add, modify, and delete users. It also enables you to change theSYS
password with theALTER USER
command.SHARED
: ASHARED
password file can be used by multiple databases running on the same server, or multiple instances of a Real Application Clusters (RAC) database. ASHARED
password file cannot be modified. This means that you cannot add users to aSHARED
password file. Any attempt to do so or to change the password ofSYS
or other users with theSYSDBA
orSYSOPER
privileges generates an error. All users needingSYSDBA
orSYSOPER
system privileges must be added to the password file whenREMOTE_LOGIN_PASSWORDFILE
is set toEXCLUSIVE
. After all users are added, you can changeREMOTE_LOGIN_PASSWORDFILE
toSHARED
, and then share the file.This option is useful if you are administering multiple databases or a RAC database.
If REMOTE_LOGIN_PASSWORDFILE
is set to EXCLUSIVE
or SHARED
and the password file is missing, this is equivalent to setting REMOTE_LOGIN_PASSWORDFILE
to NONE
.
Adding Users to a Password File
When you grant SYSDBA
or SYSOPER
privileges to a user, that user's name and privilege information are added to the password file. If the server does not have an EXCLUSIVE
password file (that is, if the initialization parameter REMOTE_LOGIN_PASSWORDFILE
is NONE
or SHARED
, or the password file is missing), Oracle Database issues an error if you attempt to grant these privileges.
A user's name remains in the password file only as long as that user has at least one of these two privileges. If you revoke both of these privileges, Oracle Database removes the user from the password file.
Creating a Password File and Adding New Users to It
Use the following procedure to create a password and add new users to it:
Follow the instructions for creating a password file as explained in "Using ORAPWD".
Set the
REMOTE_LOGIN_PASSWORDFILE
initialization parameter toEXCLUSIVE
. (This is the default.)Connect with
SYSDBA
privileges as shown in the following example:CONNECT SYS/password AS SYSDBA
Start up the instance and create the database if necessary, or mount and open an existing database.
Create users as necessary. Grant
SYSDBA
orSYSOPER
privileges to yourself and other users as appropriate. See "Granting and Revoking SYSDBA and SYSOPER Privileges", later in this section.
Granting and Revoking SYSDBA and SYSOPER Privileges
If your server is using an EXCLUSIVE
password file, use the GRANT
statement to grant the SYSDBA
or SYSOPER
system privilege to a user, as shown in the following example:
GRANT SYSDBA TO oe;
Use the REVOKE
statement to revoke the SYSDBA
or SYSOPER
system privilege from a user, as shown in the following example:
REVOKE SYSDBA FROM oe;
Because SYSDBA
and SYSOPER
are the most powerful database privileges, the WITH ADMIN OPTION
is not used in the GRANT
statement. That is, the grantee cannot in turn grant the SYSDBA
or SYSOPER
privilege to another user. Only a user currently connected as SYSDBA
can grant or revoke another user's SYSDBA
or SYSOPER
system privileges. These privileges cannot be granted to roles, because roles are available only after database startup. Do not confuse the SYSDBA
and SYSOPER
database privileges with operating system roles.
No comments:
Post a Comment