vrijdag 25 mei 2012

Create the database manually using OMF (Oracle Managed Files).

Oracle Managed Files simplify the creation of tablespaces. You don’t need to name the datafiles, Oracle does that for you.
You only specify the directories which will contain the tablespaces by configuring the following parameters:

  • DB_CREATE_FILE_DEST: specifies the default location for datafiles and tempfiles
  • DB_CREATE_ONLINE_LOG_DEST_n: specifies the default location for controlfiles and redo log files
  • DB_RECOVERY_FILE_DEST: defines the location for the Fast Recovery Area (used to be called the Flashback Recovery Area in 10g).
    Default location for RMAN backups, flashback logs,archived logs (when no other local destination is configured),
    Also used as the default location for redo logs and control files  or multiplexed copies of redo logs and control files if DB_CREATE_ONLINE_LOG_DEST_n are not specified.

For more information about OMF, check the Administrator’s Guide:  What Are Oracle Managed Files?

Example of parameters to be added to the parameter file:

DB_CREATE_FILE_DEST = '/u02/oradata/ocmdb1'
DB_CREATE_ONLINE_LOG_DEST_1 = '/u02/oradata/ocmdb1'
DB_CREATE_ONLINE_LOG_DEST_2 = '/u03/oradata/ocmdb1'
DB_RECOVERY_FILE_DEST='/u03/oradata/ocmdb1/fast_recovery_area'

Specifying Control Files at Database Creation


If the CONTROL_FILES parameter is not set than the control files are created in the following locations:


In  DB_CREATE_ONLINE_LOG_DEST_n if these parameters are set.
Otherwise in  DB_CREATE_FILE_DEST and/or  DB_RECOVERY_FILE_DEST if they are set.


Specifying Redo Log Files at Database Creation


The LOGFILE clause is not required in the CREATE DATABASE statement, and omitting it provides a simple means of creating Oracle managed redo log files.
The default size for the redo log files is 100 MB.

The redo log file are created In  DB_CREATE_ONLINE_LOG_DEST_n if these parameters are set.
Otherwise in DB_CREATE_FILE_DEST and/or DB_RECOVERY_FILE_DEST if they are set.


Specifying the SYSTEM and SYSAUX Tablespace Datafiles at Database Creation


The DATAFILE or SYSAUX DATAFILE clause is not required in the CREATE DATABASE statement, and omitting it provides a simple means of creating Oracle managed datafiles for the SYSTEM and SYSAUX tablespaces.
If the DATAFILE clause is omitted, then one of the following actions occurs:



  • If DB_CREATE_FILE_DEST is set, then one Oracle managed datafile for the SYSTEM tablespace and another for the SYSAUX tablespace are created in the DB_CREATE_FILE_DEST directory.

  • If DB_CREATE_FILE_DEST is not set, then the database creates one SYSTEM and one SYSAUX tablespace datafile whose names and sizes are operating system dependent.
    Any SYSTEM or SYSAUX tablespace datafile created in this manner is not an Oracle managed file.

The datafiles are created with a size of 100MB and are autoextensible.
You can create OMF files and specify a size instead as well by including the DATAFILE clause, omitting a filename, but specifying overriding attributes.


Specifying the Undo Tablespace Datafile at Database Creation


The DATAFILE subclause of the UNDO TABLESPACE clause is optional and a filename is not required in the file specification.
If a filename is not supplied and the DB_CREATE_FILE_DEST parameter is set, then an Oracle managed datafile is created in the DB_CREATE_FILE_DEST directory.

The UNDO TABLESPACE clause itself is optional in the CREATE DATABASE statement. If it is not supplied, and automatic undo management mode is enabled (the default), then a default undo tablespace named SYS_UNDOTS is created and a 20 MB datafile that is autoextensible is allocated.


Example of creating the database manually using OMF:


Create the password file:


export ORACLE_SID=ocmdb1
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH

orapwd file=$ORACLE_HOME/orapwocmdb1.ora entries=30


Create the parameter file:


cp $ORACLE_HOME/dbs/init.ora $ORACLE_HOME/dbs/initocmdb1.ora


Alter the parameters in this file.


Example:

db_name='OCMDB1'
memory_target=400M
processes = 150
audit_trail ='db'
db_block_size=8192
db_domain='local'
db_recovery_file_dest='/u03/oradata/ocmdb1/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDO_TS'
# You may want to ensure that control files are created on separate physical
# devices
# The control_files parameter is not set, thus the control files will be created as Oracle Managed Files
#control_files = (/u01/oradata/ocmdb1/control01.ctl, /u02/oradata/ocmdb1/control02.ctl, /u03/oradata/ocmdb1/control03.ctl)
compatible ='11.2.0'
DB_CREATE_FILE_DEST='/u02/oradata/ocmdb1'
DB_CREATE_ONLINE_LOG_DEST_1='/u01/oradata/ocmdb1'
DB_CREATE_ONLINE_LOG_DEST_2='/u02/oradata/ocmdb1'
DB_CREATE_ONLINE_LOG_DEST_3='/u03/oradata/ocmdb1'


Create the spfile:


[oracle@ORAVM1 dbs]$ sqlplus / as sysdba
SQL> create spfile from pfile;
SQL> exit


Create the database:


[oracle@ORAVM1 dbs]$ sqlplus / as sysdba

SQL> startup mount exclusive restrict   
ORACLE instance started.

Total System Global Area  417546240 bytes
Fixed Size                  2228944 bytes
Variable Size             268438832 bytes
Database Buffers          142606336 bytes
Redo Buffers                4272128 bytes
ORA-00205: error in identifying control file, check alert log for more info

SQL> CREATE DATABASE ocmdb1
EXTENT MANAGEMENT LOCAL
DATAFILE SIZE 400M
SYSAUX DATAFILE SIZE 200M
DEFAULT TEMPORARY TABLESPACE dflt_ts TEMPFILE SIZE 10M
UNDO TABLESPACE undo_ts DATAFILE SIZE 100M;



EXTENT MANAGEMENT LOCAL” is specified to make sure that the SYSTEM tablespace is created locally managed.
If you omit this clause, the system tablespace will be dictionary managed (the default). Oracle advises to create the SYSTEM tablespace as locally managed.


DATAFILE SIZE 400M: if you omit this clause, the SYSTEM datafile wil be created with a size of 100MB and will be autoextensible.

SYSAUX DATAFILE SIZE 200M: you can omit this clause as well. This was specified in order to have a size of 200M (non autoextensible in this example).

DEFAULT TEMPORARY TABLESPACE dflt_ts TEMPFILE SIZE 10M: you can omit this clause to have a default temporary TS created with a size of 20 MB (auto extensible).

UNDO TABLESPACE undo_ts DATAFILE SIZE 100M;   You can omit this clause as well.

donderdag 5 april 2012

Create the database manually using the “CREATE DATABASE” statement

Create the password file:

orapwd file=$ORACLE_HOME/dbs/orapw<SID>.ora entries=30

A new password file will be created which will be able to store 30 users. You will be prompted to enter the password for the SYS account.

IGNORECASE:
If ignorecase=Y, passwords will be treated as case insensitive.

V$PWFILE_USERS contains a list of all users which exist in the password file. This can be handy if you need to recreate the password file
(.e.g. when you reached the ENTRIES limit (“file is full” error message), or when REMOTE_LOGIN_PASSWORDFILE is set to NONE or SHARED,
and you need to change it (in this case you would need to recreate the password file, because you can only change it when REMOTE_LOGIN_PASSWORDFILE is set to EXCLUSIVE).

 

REMOTE_LOGIN_PASSWORDFILE (you need to restart the database in order to change this parameter):

  • NONE: no privileged connections are allowed over nonsecure connections.
  • EXCLUSIVE (default): can be use by only 1 instance
  • SHARED: can be used by multiple instances (handy for RAC)/databases running on the same server.

Adding a user to the password file can be done by granting either the SYSDBA or SYSDBA privilege::
grant SYSDBA to new_user;
grant SYSOPER to new_user;

Set the required environment variables.

export ORACLE_SID=mynewdb
export ORACLE_HOME=/u01/oracle/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH

Create the initialization parameter file.

You can use the sample init parameter file to start from:  $ORACLE_HOME/dbs/init.ora
Copy the sample init parameter file to init<SID>.ora and change the contents to your liking:

cd $ORACLE_HOME/dbs
cp init.ora init<SID>.ora

As a minimum, you should specify the following parameters:
db_name=ocmdb1
control_files = (/u01/oradata/ocmdb1/control1.ctl, /u02/oradata/ocmdb1/control2.ctl, /u03/oradata/ocmdb1/control3.ctl)
memory_target=1G

Example of the contents:

db_name='ocmdb1'
memory_target=1G
processes = 150
db_block_size=8192
db_recovery_file_dest='/u03/oradata/ocmdb1/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS'
control_files = (/u01/oradata/ocmdb1/control1.ora, /u02/oradata/ocmdb1/control2.ora, /u03/oradata/ocmdb1/control3.ora)
compatible ='11.2.0'


Create an spfile:

export ORACLE_SID=ocmdb1

SQLPLUS /nolog
CONNECT SYS/password AS SYSDBA
create spfile from pfile;
exit;

Startup in nomount in order to create the database:

sqlplus / as sysdba
startup nomount

(ORA-00845: MEMORY_TARGET not supported on this system
-> I received this error because I dedicated more memory to memory_target than available. Decreasing the memory_target solved the issue)

Issue the CREATE DATABASE statement:

(All directories for the datafiles/ redo logs must already exist…)

CREATE DATABASE ocmdb1
USER SYS IDENTIFIED BY sys_password
USER SYSTEM IDENTIFIED BY system_password
LOGFILE GROUP 1 ('/u01/oradata/ocmdb1/redo01a.log','/u02/oradata/ocmdb1/redo01b.log') SIZE 100M BLOCKSIZE 512,
GROUP 2 ('/u01/oradata/ocmdb1/redo02a.log','/u02/oradata/ocmdb1/redo02b.log') SIZE 100M BLOCKSIZE 512,
GROUP 3 ('/u01/oradata/ocmdb1/redo03a.log','/u02/oradata/ocmdb1/redo03b.log') SIZE 100M BLOCKSIZE 512
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/u02/oradata/ocmdb1/system01.dbf' SIZE 325M REUSE
SYSAUX DATAFILE '/u02/oradata/ocmdb1/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE users
DATAFILE '/u02/oradata/ocmdb1/users01.dbf'
SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u02/oradata/ocmdb1/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs
DATAFILE '/u02/oradata/ocmdb1/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

Example using OMF (Oracle Managed Files):


Add the following in your init file:

DB_CREATE_FILE_DEST='/u02/oradata/ocmdb1'

=> All the locations for the tablespaces and redo logs will be derived from this parameter.


In the following example, default sizes are used for the tablespaces and redo logs:

CREATE DATABASE mynewdb
USER SYS IDENTIFIED BY sys_password
USER SYSTEM IDENTIFIED BY system_password
EXTENT MANAGEMENT LOCAL
DEFAULT TEMPORARY TABLESPACE temp
UNDO TABLESPACE undotbs1
DEFAULT TABLESPACE users;

Run the following scripts as sys:

sqlplus / as sysdba

spool cat.out
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
@?/sqlplus/admin/pupbld.sql

Create the listener.ora and tnsnames.ora file manually (or use netca if allowed…):


You can find a sample listener.ora and tnsnames.ora file in $ORACLE_HOME/network/admin/samples.

cd $ORACLE_HOME/network/admin
cp samples/listener.ora .
cp samples/tnsnames.ora .


Modify these files.


Example of tnsnames.ora:
See the Net Services Administration Guide.


OCMDB1=  (DESCRIPTION_LIST =  # Optional depending on whether u have
                                # one or more descriptions
                                # If there is just one description, unnecessary ]
          (DESCRIPTION=
             (ADDRESS_LIST=    # Optional depending on whether u have
                                # one or more addresses
                                # If there is just one address, unnecessary ]
              (ADDRESS=
                (PROTOCOL=tcp)
                (HOST=ORAVM1.local)
                (PORT=1521)
              )
             )  # Optional depending on whether ADDRESS_LIST is used or not
             (CONNECT_DATA=
                (SERVICE_NAME=ocmdb1)
              )

          )
         )      # Optional depending on whether DESCRIPTION_LIST is used or not



Example of listener.ora:
See the Net Services Administration Guide.


LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ORAVM1.local)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

ADR_BASE_LISTENER = /u01/app/oracle

donderdag 22 maart 2012

Create the database using DBCA

Set the ORACLE_HOME, ORACLE_BASE and PATH environment variables:

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_home1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASE=/u01/app/oracle


Create the directories for the datafiles:
[root@ORAVM1 ~]# mkdir -p /u02/oradata/ocmdb1
[root@ORAVM1 ~]# mkdir -p /u03/oradata/ocmdb1
[root@ORAVM1 ~]# chown -R oracle:oinstall /u02/oradata/ocmdb1
[root@ORAVM1 ~]# chown -R oracle:oinstall /u03/oradata/ocmdb1
[root@ORAVM1 ~]# chmod -R 775 /u02/oradata/ocmdb1
[root@ORAVM1 ~]# chmod -R 775 /u03/oradata/ocmdb1

Launch dbca:
[oracle@ORAVM1 ~]$ dbca

Click Next in the first screen:

image

image

image

image

image

Either configure the listener first using netca, or untick “Configure Enterprise Manager”, and configure it after the installation.

Run netca in a different terminal window:
[oracle@ORAVM1 ~]$ netca
 image

image

image
image

image


image

Click Finish to exit netca.

Continue with the dbca session:
image

image

Choose File System or ASM:

image

image 

image

image

image

image
image

Choose Unicode as character set:

image

image

Make sure that the control files are spread over 3 separate disk groups:

image

 

image

The redo logs should be mirrored, and the members of each redo group placed in 2 different disk groups:

image

 

image

image 

image

vrijdag 2 maart 2012

Install the software separately

In this post I’ll install the Oracle database software, without having the Oracle Universal Installer  (OUI) creating a database.
In a future post, I’ll create a database with DBCA (DataBase Configuration Assistant), and also manually (with the CREATE DATABASE statement).

  • Check that the oracle account exists, and is in the groups oinstall and dba:
    id oracle
    uid=500(oracle) gid=500(oracle) groups=500(oracle)

    In my case it exists, but it's not yet in the groups dba and oinstall.

    Create the groups:
    /usr/sbin/groupadd oinstall
    /usr/sbin/groupadd -g 502 dba
    /usr/sbin/groupadd -g 503 oper

    Assign the Oracle account to the dba and oracle groups
    /usr/sbin/usermod -g oinstall -G dba  oracle [, oper]

    (If the Oracle account didn't exist yet, run this instead: /usr/sbin/useradd -u 502 -g oinstall -G dba,[oper] oracle)
  • Create the ORACLE_BASE directory (logged on as root):
    mkdir -p /u01/app/oracle
    chown -R oracle:oinstall /u01/app/oracle
    chmod -R 775 /u01/app/oracle
  • Create the Oracle inventory location (logged on as root)
    mkdir -p /u01/app/oraInventory
    chown -R oracle:oinstall /u01/app/oraInventory
    chmod -R 775 /u01/app/oraInventory
  • Add The following lines to .bash_profile:
    umask 022
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
    export PATH=$ORACLE_HOME/bin:$PATH
    export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib:$LD_LIBRARY_PATH
    export LIBPATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib:$LIBPATH
  • Log on as the Oracle user.
    If you're already logged on, run: . $HOME/.bash_profile
    I didn't bother changing kernel parameters / setting resource limits. In theory, the installer will come up with a fixup script to alter this.
  • Copy over the first 2 11gR2 installation CD's  to $HOME/11gR2
    (you can download the correct version immediately from Oracle support, no need anymore to first install the base release and apply patch sets afterwards).Unzip both zip files:

    cd $HOME/11gR2
    unzip p10404530_112030_Linux-x86-64_1of7.zipunzip p10404530_112030_Linux-x86-64_2of7.zip
    rm *.zip
    cd database
  • Unset the ORACLE_HOME: unset ORACLE_HOME
    Start the Oracle Universal Installer: ./runInstaller

    image 

    Choose Skip Software Updates:

    image

    Choose Install Database Software Only:

    image

    Choose Single Instance Database Installation:

    image


    Add all the languages in the following screen:

    image

    Choose Enterprise Edition (or the edition for which you have a licence...):

    image

    The ORACLE_BASE environment variable was set => the OUI has filled out the Oracle Base automatically, and derived an OFA compliant directory for the ORACLE_HOME. Accept both values.

    image

    image

    The installer will perform some prerequisite checks, and will show you the result:

    image

    Click on Fix and Check Again. Oracle will generate a fix up script (since 11g):

    image

    Run the generated script as root: /tmp/CVU_11.2.0.0.2_oracle/runfixup.sh
    Click Check Again => No errors are displayed. Click Next to go to the following screen, and click on Install:

    image

    Execute the following scripts as root, and afterwards press OK:

    image

  • The installation will now start.

    In next posts, I’ll create the database manually (create database command) and using DBCA.

    Removing the Oracle software:


    Use the deinstall command (new since 11gR2):

    See: Chapter 7, "Removing Oracle Database Software"

    Important!
    Oracle strongly recommends that you configure your installations using an Optimal Flexible Architecture (OFA) configuration, and that you reserve Oracle base and Oracle home paths for exclusive use of Oracle software.
    If you have any user data in these locations in the Oracle base that is owned by the user account that owns the Oracle software, then the deinstall command deletes this data.

    You can remove the software by running the following command:

    $ORACLE_HOME/deinstall/deinstall

    Press Enter (or if you have a listener with a different name, enter it):

    ….

    Specify all Single Instance listeners that are to be de-configured [LISTENER]:


    The deinstall command will ask for some other information such as the database names which are in this ORACLE_HOME.

    You’ll notice that after running the command, the directory dbhome_1 is gone in /u01/app/oracle/product/11.2.0:

    /u01/app/oracle/product/11.2.0
    [oracle@ORAVM1 11.2.0]$ ls
    [oracle@ORAVM1 11.2.0]$


    In the next post I’ll install the software separately, and create a database with dbca afterwards.

    Drop the database:

    With dbca:

    Launch dbca: [oracle@ORAVM1 dbhome_1]$ dbca

    image

    Choose “Delete a Database” and click Next:

    image

    Select the database that you want to delete and click Next:
    image 

    Confirm that you want to delete the database:

    image

    Click No to stop DBCA:

    image

    Manually with the DROP DATABASE statement:

    export ORACLE_SID=ocmdb1

    sqlplus / as sysdba

    SQL> shutdown immediate
    SQL> startup mount exclusive restrict
    SQL> drop database;
     

    Install Oracle Server software + Create database together in one step

    In this post I'll show you how to install the Oracle database software and create a database directly from the Oracle Universal Installer.

    1. Check that the oracle account exists, and is in the groups oinstall and dba:
      id oracle
      uid=500(oracle) gid=500(oracle) groups=500(oracle)
      In my case it exists, but it's not yet in the groups dba and oinstall.
      Create the groups:
      /usr/sbin/groupadd oinstall
      /usr/sbin/groupadd -g 502 dba
      /usr/sbin/groupadd -g 503 oper
      Assign the Oracle account to the dba and oracle groups
      /usr/sbin/usermod -g oinstall -G dba  oracle [, oper]
      (If the Oracle account didn't exist yet, run this instead:

      /usr/sbin/useradd -u 502 -g oinstall -G dba,[oper] oracle
      )

    2. Create the ORACLE_BASE directory (logged on as root):
      mkdir -p /u01/app/oracle
      chown -R oracle:oinstall /u01/app/oracle
      chmod -R 775 /u01/app/oracle
    3. Create the Oracle inventory location (logged on as root)
      mkdir -p /u01/app/oraInventory
      chown -R oracle:oinstall /u01/app/oraInventory
      chmod -R 775 /u01/app/oraInventory
    4. Add The following lines to .bash_profile:
      umask 022
      export ORACLE_BASE=/u01/app/oracle
      export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
      export PATH=$ORACLE_HOME/bin:$PATH
      export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
      export LD_LIBRARY_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib:$LD_LIBRARY_PATH
      export LIBPATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib:$LIBPATH
    5. Log on as the Oracle user.
      If you're already logged on, run: . $HOME/.bash_profile
      I didn't bother changing kernel parameters / setting resource limits. In theory, the installer will come up with a fixup script to alter this. So let's check if it succeeds in doing so ;-)
    6. Copy over the first 2 11gR2 installation CD's  to $HOME/11gR2 (you can download the correct version immediately from Oracle support, no need anymore to first install the base release and apply patch sets afterwards).Unzip both zip files:
      cd $HOME/11gR2
      unzip p10404530_112030_Linux-x86-64_1of7.zipunzip p10404530_112030_Linux-x86-64_2of7.zip
      rm *.zip
      cd database
    7. Unset the ORACLE_HOME: unset ORACLE_HOME
      Start the Oracle Universal Installer: ./runInstaller

      Press Next in the following screen, and ignore the warning by pressing the Yes button:
      image 

      Choose Skip Software Updates:
      image 

      Choose: Create and configure a database. This will install a database and automatically launch dbca (the Database Creation Assistant) to create a database.
      image 

      Choose Server Class:

      image 


      Choose Single instance database installation:
      image 

      Choose Advanced Install:
      image
      Add all the languages in the following screen:
      image 

      Choose Enterprise Edition (or the edition for which you have a licence...):
      image 

      The ORACLE_BASE environment variable was set => the OUI has filled out the Oracle Base automatically, and derived an OFA compliant directory for the ORACLE_HOME. Accept both values.
      image 

      Accept /u01/app/oraInventory as a location for the Oracle inventory, and choose oinstall:
      image 

      Choose General Purpose / Transaction Processing:
      image 

      Enter a global database name:
      image 

      Leave memory allocated at 40 %, we can change the memory settings afterwards using the memory advisors.
      image 

      Oracle recommends using AL32UTF8 as character set:
      image 

      Leave the new security settings in place:
      image 

      Choose “Use Oracle Enterprise Manager Database Control”:
      image 

      Choose File System, and choose a path for the datafiles. Preferably on a different disk than the software
      (the screenshot shows a bad example because the datafiles are stored on the same disk as the software…).
      image 

      Don’t enable automatic backups, we’ll configure this afterwards.
      image 

      Enter passwords for the administrative accounts:
      image 

      Enter the groups for the OSDBA and OSOPER groups:
      image

      The installer will perform some prerequisite checks, and will show you the result:
      image 

      Click on Fix and Check Again. Oracle will generate a fix up script (since 11g):
      image 

      Run the generated script as root: /tmp/CVU_11.2.0.0.2_oracle/runfixup.sh
      Click Check Again => No errors are displayed. Click Next to go to the following screen, and click on Install:
      image 

      Note down the URL for Database Control and the global database name:

      Execute the following scripts as root, and afterwards press OK:


      Click Close to exit the Oracle Universal Installer:
      image

    In the next post I’ll show you how to install only the software, and afterwards create a database with DBCA (DataBase Creation Assistant).