1. 程式人生 > >ORACLE 11G 手工建庫

ORACLE 11G 手工建庫

 原創作品,出自 “深藍的blog” 部落格,歡迎轉載,轉載時請務必註明以下出處,否則追究版權法律責任。

第一步:目錄

--資料庫檔案目錄

$ cd $ORACLE_BASE/oradata

$ ls

--看到已經存在庫的SID

PROD

$ pwd

--檢視一下絕對路徑

/u01/app/oracle/oradata

$ mkdir HYL

$ ls -l

--產看一下目錄及許可權

--規劃資料檔案存放的不同磁碟目錄,這裡的規劃依據實際情況而定

$ cd HYL

$ mkdir dump disk1 disk2 disk3 disk4 disk5

--disk表示不同的磁碟,這是為檔案多元化做準備

$ cd dump

$ mkdir bdump cdump udump

--建立了三個目錄,分別用來不同的dump檔案

第二步:許可權

$ chown -R oracle:oinstall /u01/app/oracle/oradata/HYL

--把上步建立的HYL目錄賦給oracle使用者

--上文中的檔案路徑、dump檔案路徑都應該是在這個目錄下,在許可權正確的情況下才能完成建庫

$ chmod –R 755 HYL

--賦予HYL目錄的訪問許可權,許可權級別755

第三步:初始化引數

--這一步要完成初始化引數檔案的建立

$ cd $ORACLE_HOME/dbs

--在這個目錄下存放資料庫的初始化引數檔案,我們需要在這個目錄下建立一個

pfile檔案

$ vi initHYL.ora

--初始化引數名字為init加上SID

memory_target=900M
--11G中,記憶體管理將pga和sga用memory_target這一個引數進行表示

--下面是資料名,初期規劃為SID名字
db_name=HYL

--下面是控制檔案路徑,建議將不同路徑下的控制檔案以相同名字命名
control_files=’/u01/app/oracle/oradata/HYL/disk1/control01.ctl’,
‘/u01/app/oracle/oradata/HYL/disk2/control01.ctl’,
‘/u01/app/oracle/oradata/HYL/disk3/control01.ctl’

--下面是undo表空間資訊
undo_management=auto
undo_tablespace=undotbs

--下面是dump檔案
diagnostic_dest=/u01/app/oracle/oradata/PROD/dump   
--相比較於10G,對於udump、bdump、cdump路徑在11G中統一為了一個

第四步:把庫啟動到nomount狀態

$export ORACLE_SID=HYL

$sqlplus ‘/as sysdba’

SQL> startup nomount;

第五步:藉助官方文件編寫建庫語句

--依據實際修改指令碼,刪除掉一些沒必要的設定

--將日誌組成員進行多元化

--修改路徑資訊

CREATE DATABASE HYL

   LOGFILE GROUP 1 ('/u01/app/oracle/oradata/HYL/disk1/redo01a.log',

'/u01/app/oracle/oradata/HYL/disk2/redo01b.log')

SIZE 100M BLOCKSIZE 512,          

GROUP 2 ('/u01/app/oracle/oradata/HYL/disk1/redo02a.log',

'/u01/app/oracle/oradata/HYL/disk2/redo02b.log')

SIZE 100M BLOCKSIZE 512,          

GROUP 3 ('/u01/app/oracle/oradata/HYL/disk1/redo03a.log',

'/u01/app/oracle/oradata/HYL/disk2/redo03b.log')

SIZE 100M BLOCKSIZE 512

CHARACTER SET zhs16gbk

   NATIONAL CHARACTER SET AL16UTF16

EXTENT MANAGEMENT LOCAL

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

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

DEFAULT TABLESPACE users

      DATAFILE '/u01/app/oracle/oradata/HYL/disk3/users01.dbf'

      SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED

DEFAULT TEMPORARY TABLESPACE tempts1

      TEMPFILE '/u01/app/oracle/oradata/HYL/disk4/temp01.dbf'

      SIZE 20M REUSE

UNDO TABLESPACE undotbs

      DATAFILE '/u01/app/oracle/oradata/HYL/disk5/undotbs01.dbf'

      SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

--將以上指令碼放在oracle目錄下,然後執行

$cd /u01/app/oracle/

$vi createDB.sh

SQL> @/u01/app/oracle/createDB.sh

第六步:跑相應指令碼

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

--2分鐘,作用:建立資料字典

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

--5分鐘,跑完這兩個指令碼後庫已經建完了,作用:建立儲存過程和包

SQL> conn system/manager

SQL> @?/sqlplus/admin/pupbld.sql 

--1分鐘,以conn system/manager 執行此指令碼作用:設定sqlplus的一些包,讓其它使用者可以登入sqlplus

SQL> conn /as sysdba

SQL> select instance_name,status from v$instance; --檢查狀態,此時資料庫應該是open狀態

 原創作品,出自 “深藍的blog” 部落格,歡迎轉載,轉載時請務必註明以下出處,否則追究版權法律責任。