An oracle database can be created either using Manually or using DBCA( GUI Method).  But few organizations recommend to use manual method for creating database. Here I have provided steps for creating database Manually with installation of differnt optional components.
Before creating an oracle database, Make sure oracle database software is installed.

REFER –  Steps to install oracle 12c software

Lets say we will create a database named DBATEAM

1. First, create a profile with a correct environment variable.

ORACLE_SID = SYSTEM IDENTIFIER , SAME AS db instance name

ORACLE_HOME = Oracle database binary installation location.

vi .profile_DBATEAM

#!/bin/sh
umask 022
ORACLE_SID=DBATEAM; export ORACLE_SID
ORACLE_HOME=/oracle/app/oracle/product/12.1.0.2/dbhome_1; export ORACLE_HOME
export PATH=$ORACLE_HOM/bin:$PATH

 

2. Now create the init.ora file( in $ORACLE_HOME/dbs location)

When we start the instance, it will read this file and set values accordingly.

mkdir /u01/app/oracle

mkdir -p /u01/oradata/DBATEAM/data/DBATEAM

cd $ORACLE_HOME/dbs

$ vi initDBATEAM.ora
*.compatible='12.1.0.2.0'
*.control_files='/u01/oradata/DBATEAM/data/DBATEAM/control01.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='DBATEAM'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=DBATEAMXDB)'
*.open_cursors=300
*.pga_aggregate_target=536870912
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=1610612736
*.undo_tablespace='UNDOTBS1'

COMPATIBLE –             Version of the oracle database

CONTROL_FILE –        When we create the database, the control_files will be created in the specified location.

DB_BLOCK_SIZE–       This is the default block_size of the database. Any tablespace we create in the database will take this block size value.

DB_NAME  –                   Name of the database

DIAGNOSTIC_DEST–  ADR location, where the log and trace files will be written

SGA_TARGET –             Shared global area, memory allocated.

UNDO_TABLESPACE–  The default undo tablespace, that will be created in the database

 

3.  Start the database in nomount stage:

. ./.profile_DBATEAM
SQL > sqlplus / as sysdba

SQL*Plus: Release 11.1.0.2.0 Production on Mon Jul 20 11:19:05 2015

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL > startup nomount
ORACLE instance started.

Total System Global Area 1603411968 bytes
Fixed Size                  2228784 bytes
Variable Size             503320016 bytes
Database Buffers         1073741824 bytes
Redo Buffers               24121344 bytes

SQL >

4.  Below the create database script.

SQL > CREATE DATABASE DBATEAM
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
LOGFILE
GROUP 1 '/u04/oradata/DBATEAM/data/redo1.log' SIZE 10M,
GROUP 2 '/u04/oradata/DBATEAM/data/redo2.log' SIZE 10M,
GROUP 3 '/u04/oradata/DBATEAM/data/redo3.log' SIZE 10M
DATAFILE
'/u04/oradata/DBATEAM/data/system.dbf' size 200M REUSE
sysaux datafile '/u04/oradata/DBATEAM/data/sysaux.dbf' size 100m
undo tablespace UNDOTBS1 datafile '/u04/oradata/DBATEAM/data/undo1.dbf' size 100m
DEFAULT TEMPORARY TABLESPACE temp1
TEMPFILE '/u04/oradata/DBATEAM/data/temp01.dbf' SIZE 100M REUSE
CHARACTER SET AL32UTF8;

database created.

MAXLOGFILES – Maximum number of redo log files that can be created in the database.

MAXLOGMEMBERS – maximum number of redo log file members that any given log file group can have in the database.

MAXLOGHISTORY – Maximum number of archive redo logs for automatic media recovery.

MAXDATAFILES – This defines the maximum number of datafile, But upon reaching max value, it will extend automatically to value upto DB_FILES parameter.

The MAXINSTANCES – No. of instances for the database, for standalone it will be 1 and for RAC database, it will be that of no. of rac nodes.

CHARACTER SET – Characterset of the database.

5. Now create the data dictionary views(CATALOG and CATPROC component)

These two are mandatory scripts we need to run after creating a database. Below scripts will create the dictionary views and tables.

SQL > @$ORACLE_HOME/rdbms/admin/catalog.sql

SQL > @$ORACLE_HOME/rdbms/admin/catproc.sql

6. Create the product user profile table ( by connecting to system user)

SQL > conn system/manager

SQL > @$ORACLE_HOME/sqlplus/admin/pupbld.sql

You can install the additional components depending upon the requirement. These are the optional components.

7. Install JVM(JAVA VIRTUAL MACHINE) component:[optional]

conn / as sysdba

@/oracle/app/oracle/product/12.1.0.2/dbhome_1/javavm/install/initjvm.sql;
@/oracle/app/oracle/product/12.1.0.2/dbhome_1/xdk/admin/initxml.sql;
@/oracle/app/oracle/product/12.1.0.2/dbhome_1/xdk/admin/xmlja.sql;
@/oracle/app/oracle/product/12.1.0.2/dbhome_1/rdbms/admin/catjava.sql;
@/oracle/app/oracle/product/12.1.0.2/dbhome_1/rdbms/admin/catxdbj.sql;

8. Install CONTEXT component:[optional]

@/oracle/app/oracle/product/12.1.0.2/dbhome_1/ctx/admin/catctx.sql change_on_install SYSAUX TEMP LOCK;

@/oracle/app/oracle/product/12.1.0.2/dbhome_1/ctx/admin/defaults/dr0defin.sql "AMERICAN";

@/oracle/app/oracle/product/12.1.0.2/dbhome_1/rdbms/admin/dbmsxdbt.sql;

9. Install ORADIM component:[optional]

@/oracle/app/oracle/product/12.1.0.2/dbhome_1/ord/admin/ordinst.sql SYSAUX SYSAUX;

10. Install MEDIA component:[optional]

@/oracle/app/oracle/product/12.1.0.2/dbhome_1/ord/im/admin/iminst.sql;

12. Install OLAP component:[optional]

@/oracle/app/oracle/product/12.1.0.2/dbhome_1/olap/admin/olap.sql SYSAUX TEMP;

13. Install SPATIAL component:[optional]

@/oracle/app/oracle/product/12.1.0.2/dbhome_1/md/admin/mdinst.sql;

14. Install LABEL security component:[optional]

@/oracle/app/oracle/product/12.1.0.2/dbhome_1/rdbms/admin/catols.sql;

15. Install APEX component:[optional]

@/oracle/app/oracle/product/12.1.0.2/dbhome_1/apex/catapx.sql change_on_install SYSAUX SYSAUX TEMP /i/ NONE;

16. Install DATABASE VAULT component:[optional]

@/oracle/app/oracle/product/12.1.0.2/dbhome_1/rdbms/admin/catmac.sql SYSAUX TEMP &&sysPassword;

You can check the installed components by running the below query.

select comp_id,status,comp_name from dba_registry;

17. Create a listener file and start the listener.

vi listener.ora

LISTENER_DBATEAM =
    (DESCRIPTION=
      (ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1532))
    )

SID_LIST_LISTENER_DBATEAM =
  (SID_LIST=
    (SID_DESC=
      (SID_NAME=DBATEAM)
      (ORACLE_HOME= /u01/app/oracle/product/11.2.0.3/db_1)
    )
  )

lsnrctl start LISTENER_DBATEAM