Creating Oracle 10g Database Manually on Linux

Oracle Database Installation Procedures
Post Reply
User avatar
jimb
Site Admin
Posts: 6146
Joined: Thu Jan 19, 2012 1:10 pm
Location: New Delhi, India
Contact:

Creating Oracle 10g Database Manually on Linux

Post by jimb »

This article shows you steps to create an Oracle database 10g manually from the command line on Linux.
Operating System Version: Red Hat Enterprise Linux AS release 4 (Nahant Update 8)
Oracle Database Version: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0

Step 1:
- Decide on Your Instance Identifier (SID)
> An instance is made up of the system global area (SGA) and the background processes of an Oracle Database. Decide on a unique Oracle system identifier (SID) for your instance and set the ORACLE_SID environment variable accordingly. This identifier is used to distinguish this instance from other Oracle Database instances that you may create later and run concurrently on your system.

The following example sets the SID for the instance and database we are about to create:
> [oracle@oracle10g ~]$ export ORACLE_SID=ORCL

Step 2:
- Create all the necessary directories.
[oracle@oracle10g ~]$ mkdir -p /u01/app/oracle/admin/ORCL/adump
[oracle@oracle10g ~]$ mkdir -p /u01/app/oracle/admin/ORCL/bdump
[oracle@oracle10g ~]$ mkdir -p /u01/app/oracle/admin/ORCL/cdump
[oracle@oracle10g ~]$ mkdir -p /u01/app/oracle/admin/ORCL/udump
[oracle@oracle10g ~]$ mkdir -p /u01/oradata/ORCL/

Step 3:
- Create the Initialization Parameter File
> The instance for any Oracle Database is started using an initialization parameter file.
> For convenience, store your initialization parameter file in the Oracle Database default location, using the default name.
> [oracle@oracle10g ~]$ vi $ORACLE_HOME/dbs/init$ORACLE_SID.ora
audit_file_dest='/u01/app/oracle/admin/ORCL/adump'
background_dump_dest='/u01/app/oracle/admin/ORCL/bdump'
compatible='10.2.0.1.0'
control_files='/u01/oradata/ORCL/control01.ctl','/u01/oradata/ORCL/control02.ctl','/u01/oradata/ORCL/control03.ctl'
core_dump_dest='/u01/app/oracle/admin/ORCL/cdump'
db_block_size=8192
db_domain=''
db_create_file_dest='/u01/oradata/'
db_file_multiblock_read_count=16
db_name='ORCL'
db_recovery_file_dest='/u01/oradata/flash_recovery_area'
db_recovery_file_dest_size=2147483648
job_queue_processes=10
log_archive_format='%t_%s_%r.dbf'
open_cursors=300
pga_aggregate_target=94371840
processes=150
remote_login_passwordfile='EXCLUSIVE'
sga_target=285212672
undo_management='AUTO'
undo_tablespace='UNDOTBS1'
user_dump_dest='/u01/app/oracle/admin/ORCL/udump'
For Specifying Oracle-Managed Files at Database Creation:
audit_file_dest='/u01/app/oracle/admin/ORCL/adump'
background_dump_dest='/u01/app/oracle/admin/ORCL/bdump'
compatible='10.2.0.1.0'
control_files='/u01/oradata/ORCL/control01.ctl','/u01/oradata/ORCL/control02.ctl','/u01/oradata/ORCL/control03.ctl'
core_dump_dest='/u01/app/oracle/admin/ORCL/cdump'
#db_block_size=8192
db_domain=''
db_create_file_dest='/u01/oradata/'
#db_file_multiblock_read_count=16
db_name='ORCL'
#db_recovery_file_dest='/u01/oradata/flash_recovery_area'
log_archive_dest_1='LOCATION=/u01/oradata/archivelogs/'
#db_recovery_file_dest_size=2147483648
job_queue_processes=10
log_archive_format='%t_%s_%r.dbf'
open_cursors=300
pga_aggregate_target=94371840
processes=150
remote_login_passwordfile='EXCLUSIVE'
sga_target=285212672
undo_management='AUTO'
undo_tablespace='UNDOTBS1'
user_dump_dest='/u01/app/oracle/admin/ORCL/udump'
Step 4:
- Connect to the Instance
- Start SQL*Plus and connect to your Oracle Database instance AS SYSDBA.
> [oracle@oracle10g ~]$ sqlplus '/as sysdba'

Step 5:
Create a Server Parameter File (Recommended)
> SQL> CREATE SPFILE='/u01/app/oracle/product/10.2.0/db_1/dbs/spfileORCL.ora' FROM PFILE='/u01/app/oracle/product/10.2.0/db_1/dbs/initORCL.ora';
SQL> CREATE SPFILE='/u01/app/oracle/product/10.2.0/db_1/dbs/spfileORCL.ora' FROM PFILE='/u01/app/oracle/product/10.2.0/db_1/dbs/initORCL.ora';

File created.
Step 6:
- Start the Instance
- Start an instance without mounting a database.

> SQL> startup nomount;
SQL> startup nomount;
ORACLE instance started.

Total System Global Area 285212672 bytes
Fixed Size 1218992 bytes
Variable Size 92276304 bytes
Database Buffers 188743680 bytes
Redo Buffers 2973696 bytes
SQL>
Step 7:
- Issue the CREATE DATABASE Statement
- To create the new database, use the CREATE DATABASE statement. The following statement creates database ORCL:
CREATE DATABASE ORCL
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 ('/u01/oradata/ORCL/redo01.log') SIZE 52428800,
GROUP 2 ('/u01/oradata/ORCL/redo02.log') SIZE 52428800,
GROUP 3 ('/u01/oradata/ORCL/redo03.log') SIZE 52428800
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
CHARACTER SET WE8ISO8859P1
NATIONAL CHARACTER SET AL16UTF16
DATAFILE '/u01/oradata/ORCL/system01.dbf' SIZE 480M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/u01/oradata/ORCL/sysaux01.dbf' SIZE 240M REUSE
DEFAULT TABLESPACE users LOGGING DATAFILE '/u01/oradata/ORCL/users01.dbf' SIZE 5M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
DEFAULT TEMPORARY TABLESPACE TEMP
TEMPFILE '/u01/oradata/ORCL/temp01.dbf'
SIZE 5M REUSE
UNDO TABLESPACE UNDOTBS1
DATAFILE '/u01/oradata/ORCL/undotbs01.dbf'
SIZE 45M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
The following CREATE DATABASE statement shows briefly how the Oracle-managed files feature works, assuming you have specified required initialization parameters.
CREATE DATABASE ORCL
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
UNDO TABLESPACE UNDOTBS1
DEFAULT TABLESPACE users
DEFAULT TEMPORARY TABLESPACE TEMP;
Step 8:
Run Scripts to Build Data Dictionary Views
- Run the scripts necessary to build views, synonyms, and PL/SQL packages:
> [oracle@oracle10g]$ sqlplus '/as sysdba'
> SQL> set echo on
> SQL> spool ?/log/CreateDBCatalog.log
> SQL> @?/rdbms/admin/catalog.sql
> SQL> @?/rdbms/admin/catblock.sql
> SQL> @?/rdbms/admin/catoctk.sql
> SQL> @?/rdbms/admin/owminst.plb
> SQL> @?/rdbms/admin/catproc.sql
> SQL> spool off
> SQL> exit

catalog.sql - Creates the views of the data dictionary tables, the dynamic performance views, and public synonyms for many of the views. Grants PUBLIC access to the synonyms.
catproc.sql - Runs all scripts required for or used with PL/SQL.

Step 9:
- Create the password file for the database.
[oracle@oracle10g ~]$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=<password> entries=5
[oracle@oracle10g ~]$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=oracle entries=5

Step 10:
Update oratab
- Add a new entry in /etc/oratab
> [oracle@oracle10g ~]$ vi /etc/oratab
> Syntax: $ORACLE_SID:$ORACLE_HOME:<N|Y>
ORCL:/u01/app/oracle/product/10.2.0/db_1:N

Step 11:
- Configure additional listener
> [oracle@oracle10g ~]$ vi $ORACLE_HOME/network/admin/listener.ora
> Add or edit the following lines:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL10G)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(SID_NAME = ORCL10G)
)

(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(SID_NAME = ORCL)
)


)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle10g.localdomain)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)


- Restart Listeners
> [oracle@oracle10g ~]$ lsnrctl stop
> [oracle@oracle10g ~]$ lsnrctl start

Step 12:
- Configure tnsnames
> [oracle@oracle10g ~]$ vi $ORACLE_HOME/network/admin/tnsnames.ora
> Add or edit the following lines:

ORCL10G =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle10g.localdomain)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL10G)
)
)

ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle10g.localdomain)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)


EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(Key = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)


- Perform Post DB Creation
[oracle@oracle10g]$ sqlplus '/as sysdba'
SQL> execute utl_recomp.recomp_serial();
SQL> execute utl_recomp.recomp_serial();

PL/SQL procedure successfully completed.
Your database is now ready to use!
Oracle Database Administration Forums
http://www.oracle-forums.com/
xaeresis
Posts: 196117
Joined: Wed Oct 04, 2023 2:39 pm

Re: Creating Oracle 10g Database Manually on Linux

Post by xaeresis »

audiobookkeeper.rucottagenet.rueyesvision.rueyesvisions.comfactoringfee.rufilmzones.rugadwall.rugaffertape.rugageboard.rugagrule.rugallduct.rugalvanometric.rugangforeman.rugangwayplatform.rugarbagechute.rugardeningleave.rugascautery.rugashbucket.rugasreturn.rugatedsweep.rugaugemodel.rugaussianfilter.rugearpitchdiameter.ru
geartreating.rugeneralizedanalysis.rugeneralprovisions.rugeophysicalprobe.rugeriatricnurse.rugetintoaflap.rugetthebounce.ruhabeascorpus.ruhabituate.ruhackedbolt.ruhackworker.ruhadronicannihilation.ruhaemagglutinin.ruhailsquall.ruhairysphere.ruhalforderfringe.ruhalfsiblings.ruhallofresidence.ruhaltstate.ruhandcoding.ruhandportedhead.ruhandradar.ruhandsfreetelephone.ru
hangonpart.ruhaphazardwinding.ruhardalloyteeth.ruhardasiron.ruhardenedconcrete.ruharmonicinteraction.ruhartlaubgoose.ruhatchholddown.ruhaveafinetime.ruhazardousatmosphere.ruheadregulator.ruheartofgold.ruheatageingresistance.ruheatinggas.ruheavydutymetalcutting.rujacketedwall.rujapanesecedar.rujibtypecrane.rujobabandonment.rujobstress.rujogformation.rujointcapsule.rujointsealingmaterial.ru
journallubricator.rujuicecatcher.rujunctionofchannels.rujusticiablehomicide.rujuxtapositiontwin.rukaposidisease.rukeepagoodoffing.rukeepsmthinhand.rukentishglory.rukerbweight.rukerrrotation.rukeymanassurance.rukeyserum.rukickplate.rukillthefattedcalf.rukilowattsecond.rukingweakfish.rukinozones.rukleinbottle.rukneejoint.ruknifesethouse.ruknockonatom.ruknowledgestate.ru
kondoferromagnet.rulabeledgraph.rulaborracket.rulabourearnings.rulabourleasing.rulaburnumtree.rulacingcourse.rulacrimalpoint.rulactogenicfactor.rulacunarycoefficient.ruladletreatediron.rulaggingload.rulaissezaller.rulambdatransition.rulaminatedmaterial.rulammasshoot.rulamphouse.rulancecorporal.rulancingdie.rulandingdoor.rulandmarksensor.rulandreform.rulanduseratio.ru
languagelaboratory.rulargeheart.rulasercalibration.rulaserlens.rulaserpulse.rulaterevent.rulatrinesergeant.rulayabout.ruleadcoating.ruleadingfirm.rulearningcurve.ruleaveword.rumachinesensible.rumagneticequator.rumagnetotelluricfield.rumailinghouse.rumajorconcern.rumammasdarling.rumanagerialstaff.rumanipulatinghand.rumanualchoke.rumedinfobooks.rump3lists.ru
nameresolution.runaphtheneseries.runarrowmouthed.runationalcensus.runaturalfunctor.runavelseed.runeatplaster.runecroticcaries.runegativefibration.runeighbouringrights.ruobjectmodule.ruobservationballoon.ruobstructivepatent.ruoceanmining.ruoctupolephonon.ruofflinesystem.ruoffsetholder.ruolibanumresinoid.ruonesticket.rupackedspheres.rupagingterminal.rupalatinebones.rupalmberry.ru
papercoating.ruparaconvexgroup.ruparasolmonoplane.ruparkingbrake.rupartfamily.rupartialmajorant.ruquadrupleworm.ruqualitybooster.ruquasimoney.ruquenchedspark.ruquodrecuperet.rurabbetledge.ruradialchaser.ruradiationestimator.rurailwaybridge.rurandomcoloration.rurapidgrowth.rurattlesnakemaster.rureachthroughregion.rureadingmagnifier.rurearchain.rurecessioncone.rurecordedassignment.ru
rectifiersubstation.ruredemptionvalue.rureducingflange.rureferenceantigen.ruregeneratedprotein.rureinvestmentplan.rusafedrilling.rusagprofile.rusalestypelease.rusamplinginterval.rusatellitehydrology.ruscarcecommodity.ruscrapermat.ruscrewingunit.ruseawaterpump.rusecondaryblock.rusecularclergy.ruseismicefficiency.ruselectivediffuser.rusemiasphalticflux.rusemifinishmachining.ruspicetrade.ruspysale.ru
stungun.rutacticaldiameter.rutailstockcenter.rutamecurve.rutapecorrection.rutappingchuck.rutaskreasoning.rutechnicalgrade.rutelangiectaticlipoma.rutelescopicdamper.rutemperateclimate.rutemperedmeasure.rutenementbuilding.rutuchkasultramaficrock.ruultraviolettesting.ru
xaeresis
Posts: 196117
Joined: Wed Oct 04, 2023 2:39 pm

Re: Creating Oracle 10g Database Manually on Linux

Post by xaeresis »

xaeresis
Posts: 196117
Joined: Wed Oct 04, 2023 2:39 pm

Re: Creating Oracle 10g Database Manually on Linux

Post by xaeresis »

Post Reply