手工建立ORACLE 11g 資料庫

DB_SUN發表於2014-02-06

                      

我們可以使用DBCA建立資料庫,但是手工建庫也是DBA必須掌握的,學會了手工建庫有利於我們更好的瞭解oracle的體系結構。我們一起看一下手工建庫的步驟吧!

 

資料庫系統版本:11g

1)設定資料庫的環境變數

[oracle@ENMOEDU ~]$ vi .bash_profile

# .bash_profile

 

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

fi

 

# User specific environment and startup programs

 

PATH=$PATH:$HOME/bin

 

export PATH

 

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export ORACLE_SID=ENMOEDU

export PATH=$ORACLE_HOME/bin:$PATH

 

2)建立口令檔案

[oracle@ENMOEDU ~]$ cd $ORACLE_HOME/dbs

[oracle@ENMOEDU dbs]$ ls

init.ora

[oracle@ENMOEDU dbs]$ orapwd file=orapwENMOEDU password=oracle entries=30;

[oracle@ENMOEDU dbs]$ ls

init.ora  orapwENMOEDU

 

3)修改已有的init.ora建立引數檔案 此資料庫的db_name=ENMOEDU

[oracle@ENMOEDU dbs]$ cat init.ora|grep -v ^$|grep -v ^# > initENMOEDU.ora

[oracle@ENMOEDU dbs]$ vi initENMOEDU.ora 

db_name='ENMOEDU'

memory_target=1G

processes = 150

audit_file_dest='/u01/app/oracle/admin/ENMOEDU/adump'

audit_trail ='db'

db_block_size=8192

db_domain=''

db_recovery_file_dest='/u01/app/oracle/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='UNDOTBS1'

control_files = ('/u01/app/oracle/oradata/ENMOEDU/control01.ctl', '/u01/app/oracle/oradata/ENMOEDU/control.ctl')

compatible ='11.2.0'

 

4)建立資料庫需要的資料夾

[oracle@ENMOEDU ~]$ mkdir -p /u01/app/oracle/admin/ENMOEDU/adump

[oracle@ENMOEDU ~]$ mkdir -p /u01/app/oracle/flash_recovery_area

[oracle@ENMOEDU ~]$ mkdir -p /u01/app/oracle/oradata/ENMOEDU

 

5)啟動資料庫到nomount

[oracle@ENMOEDU dbs]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.3.0 Production on Wed Feb 5 20:48:58 2014

 

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

 

Connected to an idle instance.

 

SQL> startup nomount

ORACLE instance started.

 

Total System Global Area 1071333376 bytes

Fixed Size                  1349732 bytes

Variable Size             620758940 bytes

Database Buffers          444596224 bytes

Redo Buffers                4628480 bytes

 

6)建立資料庫的一個指令碼(根據官方文件)

[oracle@ENMOEDU oracle]$ vi create_db.sql

CREATE DATABASE ENMOEDU

   USER SYS IDENTIFIED BY oracle

   USER SYSTEM IDENTIFIED BY oracle

   LOGFILE GROUP 1 ('/u01/app/oracle/oradata/ENMOEDUredo01a.log','/u01/app/oracle/oradata/ENMOEDUredo01b.log') SIZE 100M BLOCKSIZE 512,

           GROUP 2 ('/u01/app/oracle/oradata/ENMOEDUredo02a.log','/u01/app/oracle/oradata/ENMOEDUredo02b.log') SIZE 100M BLOCKSIZE 512,

           GROUP 3 ('/u01/app/oracle/oradata/ENMOEDUredo03a.log','/u01/app/oracle/oradata/ENMOEDUredo03b.log') SIZE 100M BLOCKSIZE 512

   MAXLOGFILES 5

   MAXLOGMEMBERS 5

   MAXLOGHISTORY 1

   MAXDATAFILES 100

   CHARACTER SET AL32UTF8

   NATIONAL CHARACTER SET AL16UTF16

   EXTENT MANAGEMENT LOCAL

   DATAFILE '/u01/app/oracle/oradata/ENMOEDU/system01.dbf' SIZE 325M REUSE

   SYSAUX DATAFILE '/u01/app/oracle/oradata/ENMOEDU/sysaux01.dbf' SIZE 325M REUSE

   DEFAULT TABLESPACE users

      DATAFILE '/u01/app/oracle/oradata/ENMOEDU/users01.dbf'

      SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED

   DEFAULT TEMPORARY TABLESPACE tempts1

      TEMPFILE '/u01/app/oracle/oradata/ENMOEDU/temp01.dbf'

      SIZE 20M REUSE

   UNDO TABLESPACE undotbs1

      DATAFILE '/u01/app/oracle/oradata/ENMOEDU/undotbs01.dbf'

      SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

 

7)執行指令碼建立資料庫

SQL> @/home/oracle/create_db.sql

 

Database created.

 

 

8)執行指令碼建立資料字典檢視

SQL> @?/rdbms/admin/catalog.sql

 

SQL> @?/rdbms/admin/catproc.sql

 

9)檢視資料庫的狀態

SQL> select status from v$instance;  

 

STATUS

------------

OPEN

 

1 row selected.

 

 

10)建立spfile檔案

SQL> create spfile from pfile;

 

File created.

手工建立資料庫就完成了。

 

總結:手工建庫的步驟為:設定環境變數;建立口令檔案;建立pfile檔案,建立必要的檔案目錄;建立資料庫,執行必要的指令碼;建立spfile檔案。

 

The end

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29435844/viewspace-1077375/,如需轉載,請註明出處,否則將追究法律責任。

相關文章