How to Create Oracle database Manually

There are basically three ways to create database:
Using the database configure Assistance (DBCA)
DBCA can be used to create the new database at the time of oracle installation as well as later at any time as a standalone tool, which provide a graphical interface (GUI) that guide you through the creation of database.
With the SQL create database statement.
You can use the CREATE DATABASE script to create the database manuallly from command prompt. For that you must have created previously your environment as a part of oracle installation (Install oracle software only).
Through upgrading an existing database.
If you are already using a previous release of oracle, You can upgrade your existing database and use it with new release of oracle software
This article basically focusing on the second option (only). It can be completed on the command line that is without any GUI.
Database creation prepares several operating system files to work together as an Oracle database. You need only create a database once, Thus you must carefully plan your database structure before creating a database such as:
1. Plan the database tables and indexes and estimate the amount of space they will require.
2. Plan the layout of underlying operating system. Proper distribution of I/O will improve your database performance. For example: Place redolog files and datafiles on seperate disks. Placing datafiles on seperate disk will reduce contention problem.
3. Consider using OMF feature to create and manage the operating system file that comprise your database storage.
4. Select the global database name, which is the name (DBNAME) and location (DOMAIN_NAME) of database within the network structure.
5. Develop good understanding of Pfile or spfile parameters.
6. You must select the database character set. All characters including data in data dictionary, is stored in database character set
7. Consider what time zones your database must support.
8. Select the standard database block size. This is specified at database creation by the DB_BLOCK_SIZE initialization parameter and cannot be changed after the database is created. The SYSTEM tablespace and most other tablespaces use the standard block size. Additionally, you can specify up to four
non-standard block sizes when creating tablespaces.
9. Use an UNDO tablespace to manage your undo records, rather than rollback segments.
10. Develop a backup and recovery strategy to protect the database failure.
                                                                **Step to Create Database Manually**
Step1: Create all the necessary directories.
Step2: Prepare the database Script.
Step3: Prepare the init.ora file.
Step4: Startup created database with init.ora file.
Step5: Finally run the catalog.sql and catproc.sql scripts.

Step1: First create all the required directory on the destination server such as: Admin, adump, bdump, cdump, udump, Archive etc.
Step2: Next Prepare the database creation script such as:
Create Database Script on Windows Environment
—————————————————————————————————-
Create database MY_DB
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 292
logfile group 1 (‘D:oracleMY_DBredo1.log’) size 10M,
group 2 (‘D:oracleMY_DBredo2.log’) size 10M,
group 3 (‘D:oracleMY_DBredo3.log’) size 10M
character set WE8ISO8859P1
national character set utf8
datafile ‘D:oracleMY_DBsystem_01.dbf’
size 50M autoextend on
next 20M maxsize unlimited
extent management local
sysaux datafile ‘D:oracleMY_DBsysaux_01.dbf’
size 10M autoextend on
next 10M maxsize unlimited
undo tablespace undotbs1
datafile ‘D:oracleMY_DBundotbs1_01.dbf’ size 10M
default temporary tablespace temp
tempfile ‘D:oracleMY_DBtemp_01.dbf’ size 10M;
Note: On windows environment you need to create services using oradim such as:
CMD> ORADIM -NEW -SID MY_DB -PFILE=’D:oracleadminSADHANpfileinitSADHAN.ora’;
Create Database Script on Linux Environment
—————————————————————————————————-
Create database MY_DB
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 292
logfile group 1 (‘/u01/../redo1.log’) size 10M, group 2 (‘/u01/../redo2.log’) size 10M,
group 3 (‘/u01/../redo3.log’) size 10M
character set WE8ISO8859P1
national character set utf8
datafile ‘/u01/../system_01.dbf’ size 50M autoextend on next 20M maxsize unlimited
extent management local
sysaux datafile ‘/u01/../sysaux_01.dbf’ size 10M autoextend on next 10M maxsize unlimited
undo tablespace undotbs1
datafile ‘/u01/../undotbs1_01.dbf’ size 10M
default temporary tablespace temp
tempfile ‘/u01/../temp_01.dbf’ size 10M;
Step3: Prepare the init.ora file such as:
audit_file_dest=’/u01/../MY_DB/admin/adump’
background_dump_dest=’/u01/../MY_DB/admin/bdump’
compatible=’10.2.0.3.0′
control_files=’/u01/../MY_DB/control01.ctl’, ‘/u01/../MY_DB/control02.ctl’,’/u01/../MY_DB/control03.ctl’
core_dump_dest=’/u01/../MY_DB/admin/cdump’
db_block_size=8192
db_domain=”
db_file_multiblock_read_count=16
db_name=’MY_DB’
dispatchers='(PROTOCOL=TCP) (SERVICE=my_dbXDB)’
job_queue_processes=10
log_archive_dest_1=’LOCATION=/u01/../MY_DB/archive’
log_archive_format=’%t_%s_%r.dbf’
open_cursors=300
pga_aggregate_target=220200960
processes=150
remote_login_passwordfile=’EXCLUSIVE’
sga_target=629145600
undo_management=’AUTO’
undo_tablespace=’UNDOTBS’
user_dump_dest=’/u01/../MY_DB/admin/udump’
db_recovery_file_dest=’/u02/../MY_DB/backup’
db_recovery_file_dest_size=230686720
Step4: Now start the newly created database in nomount phase with the help of init.ora file.
$ export ORACLE_SID=my_db
$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.3.0 – Production on Thu Jun 21 10:26:54 2012
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Connected to an idle instance.
SQL> Startup Pfile=/u01/app/oracle/product/10.2.0/db_1/dbs/initmy_db.ora nomount; 
ORACLE instance started.
Total System Global Area 629145600 bytes
Fixed Size 1443789 bytes
Variable Size 168878648 bytes
Database Buffers 447849588 bytes
Redo Buffers 7340032 bytes
SQL> @My_db.sql 
Database created.
Step5: Finally run the catalog.sql and catproc.sql scripts.
Thus the database is created now. you just need to run the catalog.sql and catproc.sql scripts. You will find these script on the location: $ORACLE_HOME/rdbms/admin
SQL>@/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/catalog.sql
SQL>@/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/catproc.sql
SQL> select name from v$database;
NAME
———
MY_DB
Finally now your database is ready to use.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s