oracle 學習總結篇一: 資料庫的建立

paulyibinyi發表於2008-03-06

在安裝完oracle軟體後,我們所做的第一件事情就是建立資料庫,一般有兩種方法來建立

  1.用圖形化工具dbca  全稱即 Database Configure Assistant

 2.用指令碼

對於初學者來說,建議用第一種,圖形化建立時有個良好的嚮導,可以由淺入深,下面就兩種方法來介紹了

 首先介紹第一種: dbca 圖形化工具

在windows下 點開始 執行 輸入dbca 命令,  就出現圖形化介面了可以按照嚮導操作了,這個用的比較多

在unix/linux下也只需要啟動xmanager ,然後輸入dbca命令 也一樣完成操作

在建立資料庫時有四個選項,主要看哪個比較適合你

Environment Description of Environment

DSS (Data Warehousing)

Users perform. numerous, complex queries that process large volumes of data. Response time, accuracy, and availability are key issues.

These queries (typically read-only) range from a simple fetch of a few records to numerous complex queries that sort thousands of records from many different tables.

OLTP (Online Transaction Processing)

Many concurrent users performing numerous transactions requiring rapid access to data. Availability, speed, concurrence, and recoverability are key issues.

Transactions consist of reading (SELECT statements), writing (INSERT and UPDATE statements), and deleting (DELETE statements) data in database tables.

General Purpose

This template creates a database designed for general purpose usage. It combines features of both the DSS and OLTP database templates.

New Database

This template allows you maximum flexibility in defining a database.

 第二種方法:手工寫指令碼 有助於理解資料庫的建立過程 以windows為例子:

目錄下有這些檔案

2008-03-06  10:11               955 CreateDB.sql
2008-03-06  10:11               631 CreateDBCatalog.sql
2008-03-06  10:11               722 CreateDBFiles.sql
2008-03-06  10:11               814 dbca.bat
2008-03-06  10:11             2,689 init.ora
2008-03-06  10:11               414 postDBCreation.sql

開啟 dbca.bat 檔案內容 裡面內容如下:

mkdir D:\oracle\admin\dbca\bdump
mkdir D:\oracle\admin\dbca\cdump
mkdir D:\oracle\admin\dbca\create
mkdir D:\oracle\admin\dbca\pfile
mkdir D:\oracle\admin\dbca\udump
mkdir D:\oracle\ora92\database
mkdir D:\oracle\oradata\dbca                      --紅色部分建立相關存放trace日誌檔案的目錄

set ORACLE_SID=dbca                    --綠色部分設定oracle 例項名為 為dbca
D:\oracle\ora92\bin\oradim.exe -new  -sid DBCA -startmode m  
D:\oracle\ora92\bin\oradim.exe -edit  -sid DBCA -startmode a
     --藍色部分用oracle自帶的 oradim

建立一個例項名為dbca 並且有手動啟動方式改為自動啟動
D:\oracle\ora92\bin\orapwd.exe file=D:\oracle\ora92\database\PWDdbca.ora password=change_on_install

--粉紅色部分為用oracle自帶的orapwd 為sys使用者建立一個預設的密碼為 change_on_install
D:\oracle\ora92\bin\sqlplus /nolog @D:\oracle\admin\dbca\scripts\CreateDB.sql
D:\oracle\ora92\bin\sqlplus /nolog @D:\oracle\admin\dbca\scripts\CreateDBFiles.sql
D:\oracle\ora92\bin\sqlplus /nolog @D:\oracle\admin\dbca\scripts\CreateDBCatalog.sql
D:\oracle\ora92\bin\sqlplus /nolog @D:\oracle\admin\dbca\scripts\postDBCreation.sql 

--黑體部分就是建立資料庫要呼叫的指令碼

第一 CreateDB.sql

connect SYS/change_on_install as SYSDBA  --這是剛剛我們設定的密碼以sysdba身份連線到資料庫
set echo on
spool D:\oracle\ora92\assistants\dbca\logs\CreateDB.log    寫日誌
startup nomount pfile="D:\oracle\admin\dbca\scripts\init.ora";    呼叫引數檔案 啟動資料庫到只裝載例項階段
CREATE DATABASE dbca
MAXINSTANCES 1
MAXLOGHISTORY 1
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXDATAFILES 100     --控制檔案記錄的相關最大日誌數,日誌組,最大資料檔案數等限制

DATAFILE 'D:\oracle\oradata\dbca\system01.dbf' SIZE 250M REUSE AUTOEXTEND ON NEXT  10240K MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL
DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE 'D:\oracle\oradata\dbca\temp01.dbf' SIZE 40M REUSE AUTOEXTEND ON NEXT  640K MAXSIZE UNLIMITED
UNDO TABLESPACE "UNDOTBS1" DATAFILE 'D:\oracle\oradata\dbca\undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT  5120K MAXSIZE UNLIMITED      --建立系統,臨時,回滾 表空間

CHARACTER SET ZHS16GBK  
NATIONAL CHARACTER SET AL16UTF16    --字符集

LOGFILE GROUP 1 ('D:\oracle\oradata\dbca\redo01.log') SIZE 102400K,
GROUP 2 ('D:\oracle\oradata\dbca\redo02.log') SIZE 102400K,
GROUP 3 ('D:\oracle\oradata\dbca\redo03.log') SIZE 102400K;    --建立日誌檔案租和成員

spool off
exit;

第二.CreateDBFiles.sql

connect SYS/change_on_install as SYSDBA
set echo on
spool D:\oracle\ora92\assistants\dbca\logs\CreateDBFiles.log
CREATE TABLESPACE "INDX" LOGGING DATAFILE 'D:\oracle\oradata\dbca\indx01.dbf' SIZE 25M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT  AUTO ;
CREATE TABLESPACE "TOOLS" LOGGING DATAFILE 'D:\oracle\oradata\dbca\tools01.dbf' SIZE 10M REUSE AUTOEXTEND ON NEXT  320K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT  AUTO ;
CREATE TABLESPACE "USERS" LOGGING DATAFILE 'D:\oracle\oradata\dbca\users01.dbf' SIZE 25M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT  AUTO ;    --建立相關使用者要用到的表空間
spool off
exit;

第三:CreateDBCatalog.sql     --建立system資料字典,存放到system表空間,相關表,檢視等
connect SYS/change_on_install as SYSDBA
set echo on
spool D:\oracle\ora92\assistants\dbca\logs\CreateDBCatalog.log
@D:\oracle\ora92\rdbms\admin\catalog.sql;
@D:\oracle\ora92\rdbms\admin\catexp7.sql;
@D:\oracle\ora92\rdbms\admin\catblock.sql;
@D:\oracle\ora92\rdbms\admin\catproc.sql;
@D:\oracle\ora92\rdbms\admin\catoctk.sql;
@D:\oracle\ora92\rdbms\admin\owminst.plb;
connect SYSTEM/manager
@D:\oracle\ora92\sqlplus\admin\pupbld.sql;
connect SYSTEM/manager
set echo on
spool D:\oracle\ora92\assistants\dbca\logs\sqlPlusHelp.log
@D:\oracle\ora92\sqlplus\admin\help\hlpbld.sql helpus.sql;
spool off
spool off
exit;

第四: postDBCreation.sql 

connect SYS/change_on_install as SYSDBA
set echo on
spool D:\oracle\ora92\assistants\dbca\logs\postDBCreation.log
@D:\oracle\ora92\rdbms\admin\utlrp.sql;    --編譯相關檢視,包物件等
shutdown ;  --關閉資料庫
connect SYS/change_on_install as SYSDBA
set echo on
spool D:\oracle\ora92\assistants\dbca\logs\postDBCreation.log
create spfile='D:\oracle\ora92\database\spfiledbca.ora' FROM pfile='D:\oracle\admin\dbca\scripts\init.ora';

--建立伺服器引數檔案代替檔案初始化引數檔案,方便有時在不重啟資料庫的情況下可以使引數生效

從上面可以看到spfile檔案的存放位置
startup ;  --啟動資料庫  ,建立資料庫完成
exit;

從上面可以看出,建立資料庫有以下10個步驟

 建立相關trace目錄資料夾

建立例項,密碼 啟動方式

建立初始化引數檔案 init.ora

Step 4: 連線到例項

Step 5: 啟動例項到nomount狀態

建立資料庫

建立表空間

Step 8: 執行指令碼建立資料字典

Step 9: 建立伺服器引數檔案(這步不是必須的,但oracle建議做這步)  好處會在以後的總結中列出

下面也貼出linux下指令碼,和windows下幾乎差不多

#!/bin/sh

mkdir /oradata/ora9i
mkdir /oradata/ora9i/controlfile
mkdir /oradata/ora9i/redofile
mkdir /orasys/oracle/admin
mkdir /orasys/oracle/admin/ora9i
mkdir /orasys/oracle/admin/ora9i/bdump
mkdir /orasys/oracle/admin/ora9i/cdump
mkdir /orasys/oracle/admin/ora9i/create
mkdir /orasys/oracle/admin/ora9i/udump
mkdir /orasys/oracle/admin/ora9i/pfile


cp init.ora /orasys/oracle/product/9.2.0/dbs/.

export ORACLE_BASE=/orasys/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export ORACLE_SID=ora9i
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin
echo Add this entry in the oratab: ora9i:/orasys/oracle/product/9.2.0:Y
/orasys/oracle/product/9.2.0/bin/orapwd file=/orasys/oracle/product/9.2.0/dbs/orapwora9i password=change_on_install
/orasys/oracle/product/9.2.0/bin/sqlplus /nolog @/home/oracle/create_script/CreateDB.sql
/orasys/oracle/product/9.2.0/bin/sqlplus /nolog @/home/oracle/create_script/CreateDBFiles.sql
/orasys/oracle/product/9.2.0/bin/sqlplus /nolog @/home/oracle/create_script/CreateDBCatalog.sql
/orasys/oracle/product/9.2.0/bin/sqlplus /nolog @/home/oracle/create_script/postDBCreation.sql

 

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

相關文章