|
Creating Database in UNIXLet's discuss creating a new Oracle7 database on UNIX platform using the scripts supplied by Oracle Corporation. These scripts are normally located under $ORACLE_HOME/rdbms/install/rdbms directory, files named crdb.orc and crdb2.orc. Here I will give you a modified and more readable version of these script files and we will also discuss the minimum required parameters for creating a database. Environment SetupMake sure your UNIX environment has the following variable set up correctly. 1. ORACLE_SID : Name of the database instance to be created. You might also have the following variables set up. ORACLE_BASE=/ora_home/app/oracle SH_LIB_PATH=$ORACLE_HOME/lib ORA_NLS=$ORACLE_HOME/ocommon/nls/admin/data TNS_ADMIN=$ORACLE_HOME/network/admin LD_LIBRARY_PATH=$ORACLE_HOME/lib PATH=$ORACLE_HOME/bin:$PATH There is a note from Rickard Widlund on setting environment: For Oracle7 before 7.3: set ORA_NLS Thanks Rick for the info! Initialization Parameters SetupMany DBAs have the initialization parameters split in two files. 1. configSID.ora : Contains the parameters that do not change after the db
creation These files are generally kept under $ORACLE_BASE/admin/SID/pfile directory. It is good to have a link on initSID.ora made to $ORACLE_HOME/dbs directory, because, by default oracle looks for the initSID.ora file under this directory. If you have such a link, you need not specify the parameter file name while starting up the database. For example, your sid name is TESTDB, create a link using the following command. $ cd $ORACLE_HOME/dbs $ ln -s $ORACLE_BASE/admin/TESTDB/pfile/initTESTDB.ora ./initTESTDB.ora You can also have the configSID.ora and initSID.ora files created under $ORACLE_HOME/dbs directory. Make sure you have the following parameters defined in the configSID.ora control_files = (/ora0/oradata/TESTDB/ctrl1TESTDB.ctl, /ora1/oradata/TESTDB/ctrl2TESTDB.ctl, /ora2/oradata/TESTDB/ctrl3TESTDB.ctl) background_dump_dest = /oradump/TESTDB/bdump core_dump_dest = /oradump/TESTDB/cdump user_dump_dest = /oradump/TESTDB/udump db_block_size = 4096 db_name = TESTDB Define the following parameters in the initSID.ora file. ifile = {full_path}/configTESTDB.ora compatible = 7.3.4 db_block_buffers = 1280 log_buffer = 512000 max_dump_file_size = 20480 processes = 100 rollback_segments = (r01,r02,r03,r04) shared_pool_size = 10485760 sort_area_size = 5242880 You may have other parameters in the initSID.ora file depending on your requirement. It is better to create the database with minimal parameters and then to add parameters or to increase the size of SGA, etc. For explanation of these parameters, please refer to Oracle Server Reference Guide. Create the databaseOnce the environment variables and initialization variables are set up, you're ready to create the database. Make sure you have enough free space available to create the files. Run the script files after invoking server manager (svrmgrl). You should be logged into the server with an account which belongs to the Oracle dba group. Script1(crdb1TESTDB.sql) - Step 1: Create database connect internal startup nomount pfile=$ORACLE_HOME/dbs/initTESTDB.ora create database "TESTDB" controlfile reuse maxinstances 8 maxlogfiles 32 maxlogmembers 4 maxdatafiles 9000 character set "US7ASCII" datafile '/ora0/oradata/TESTDB/system01.dbf' size 100M logfile group 1 ('/ora3/oradata/TESTDB/redo0101.log') size 5M, group 2 ('/ora4/oradata/TESTDB/redo0201.log') size 5M, group 3 ('/ora3/oradata/TESTDB/redo0301.log') size 5M, group 4 ('/ora4/oradata/TESTDB/redo0302.log') size 5M; Script 2 (crdb2TESTDB.sql) - Step 1: Install data dictionary views @${ORACLE_HOME}/rdbms/admin/catalog.sql Script 2 (crdb2TESTDB.sql) - Step 2: Create additional rollback segment create rollback segment rbs0 tablespace system storage (initial 52k next 52k minextents 2 maxextents 40); alter rollback segment rbs0 online; Script 2 (crdb2TESTDB.sql) - Step 3: Create tablespace for rollback segments create tablespace rbs datafile '/ora2/oradata/TESTDB/rbs01.dbf' size 500M default storage (initial 512k next 512k pctincrease 0 minextents 2 maxextents 505 ); Script 2 (crdb2TESTDB.sql) - Step 4: Create tablespace for temporary segments create tablespace temp datafile '/ora1/oradata/TESTDB/temp01.dbf' size 400m default storage (initial 10M next 10M pctincrease 0 maxextents 505); alter tablespace temp temporary; Script 2 (crdb2TESTDB.sql) - Step 5: Optional - Create tablespace for miscellaneous tools storage create tablespace tools datafile '/ora1/oradata/TESTDB/tools01.dbf' size 150m default storage (initial 1M next 1M pctincrease 0 maxextents 500); Script 2 (crdb2TESTDB.sql) - Step 6: Optional - Create tablespace for miscellaneous user activity create tablespace users datafile '/ora2/oradata/TESTDB/user01.dbf' size 100m default storage (initial 512k next 512k pctincrease 0 maxextents 500); Script 2 (crdb2TESTDB.sql) - Step 7: Create additional rollback segments create rollback segment r01 tablespace rbs ; create rollback segment r02 tablespace rbs ; create rollback segment r03 tablespace rbs ; create rollback segment r04 tablespace rbs ; alter rollback segment r01 online; Script 2 (crdb2TESTDB.sql) - Step 8: Since we have created and made RBS r01 online, we no longer need the second RBS we created at the beginning of this script. So we drop that RBS. alter rollback segment rbs0 offline; drop rollback segment rbs0; Script 2 (crdb2TESTDB.sql) - Step 9: For SYSTEM DBA user, create DBA synonyms connect system/manager @${ORACLE_HOME}/rdbms/admin/catdbsyn.sql Script 2 (crdb2TESTDB.sql) - Step 10: Run scripts for procedural option @${ORACLE_HOME}/rdbms/admin/catproc.sql Script 2 (crdb2TESTDB.sql) - Step 11: Create user profile tables connect system/manager @${ORACLE_HOME}/sqlplus/admin/pupbld.sql Create additional tablespaces and user / schema based on your application requirement. Be sure to change the SYS and SYSTEM passwords. The default SYS password is CHANGE_ON_INSTALL and SYSTEM password is MANAGER. Login to sqlplus, shutdown and startup the database once the creation is complete. Backup the database. To turn archive log on, refer to the documentation Tip of the Month - October 1998
|