oracle初始化資料庫
① oracle怎麼創建資料庫實例
oracle手動創建資料庫步驟如下所示:
1.編寫初始化參數文件
2.設置操作系統環境變數
3.創建實例
4.以管理員身份連接資料庫
5.啟動實例
6.create
database
創建資料庫
7.運行數據字典腳本
8.Oracle的網路配置
(客戶端連接到服務端)
初始化參數文件
從%ORACLE_HOME%\admin\sample\pfile從復制initsmpl.ora文件,並黏貼到$ORACLE_HOME%\database目錄下,改名為init<sid>假設改為initzhouyt.ora.(init為文本文件)
對initzhouyt.ora內容進行修改
新增參數
*
instance_name=zhouyt
*
db_domain=h.e.cn
修改參數
*
db_name=zhouyt
*
db_block_size=8192(8kM)
*
remote_login_passwordfile=exclusive
操作系統環境變數
設置操作系統環境變數oracle_sid指向資料庫實例的名稱
set
oracle_sid=zhouyt
該命令在window
dos窗口下只對當前有效,當關閉窗口則失效,想要一直有效,則需要在系統環境變數中修改
創建實例
實用工具oradim使用
在DOS窗口輸入命令
oradim
-new
-sid
zhouyt
-intpwd
sys123(sys的密碼,sys是管理員)
-startmode
auto
sid是Oracle在操作系統中的「身份證號碼」
管理員身份連接資料庫
sqlplus實用工具登錄資料庫
在DOS命令輸入sqlplus/nolog
只是登錄狀態
以資料庫管理員身份連接資料庫
在上面的基礎上輸入命令
connect
sys/sys123
as
sysdba
因為以
資料庫管理員身份
登錄可以
安裝資料庫
啟動實例
將文本初始化參數文件pfile轉化為二進制初始化參數文件spfile
因為資料庫啟動需要找到配置文件,默認尋找二進制文件,也可以手動啟動文本文件,那這一步就不需要了
輸入命令
create
spfile
from
pfile;
(將會報錯,因為文本文件比較老相對於Oracle
10g),
這個時候我們需要修改配置文件initzhouyt.ora
這個時候在%ORACLE_HOME%\database文件下會生成SPFILEZHOUYT.ora文件
以nomount形式啟動實例
命令
startup
nomount,將會出現錯誤,當我們按照提示修改文本文件以後,如果我們還是按照startup
nomount來啟動的話,我們要生成相應的二進制文件來覆蓋舊的二進制文件
並注釋%seed_control%
create
databae
創建資料庫
創建資料庫腳本
三個文件
控制文件
數據文件
重做日誌文件
create
database
zhouyt
datafile
'C:\oracle\proct\10.2.0\db_2\zhouyt\system_01.dbf'
size
100m
Autoextend
on
next
10m
maxsize
unlimited
sysaux
datafile
'C:\oracle\proct\10.2.0\db_2\zhouyt\systemaux_01.dbf'
size
60m
Autoextend
on
next
10m
maxsize
unlimited
logfile
group
1
('C:\oracle\proct\10.2.0\db_2\zhouyt\log_1_01.rdo')
size
10m,
group
2
('C:\oracle\proct\10.2.0\db_2\zhouyt\log_2_01.rdo')
size
10m
character
set
zhs16gbk;
需要確保目錄文件"db_2\zhouyt"存在
生成兩個數據文件和兩個重做日誌文件,那麼控制文件呢?
運行數據字典腳本
__資料庫創建後,系統會生成兩個管理員用戶sys和system
運行3個數據字典腳本
catalog.sql
創建系統常用的數據字典視圖和同義詞
(sys登錄);
catproc.sql
建立PL/SQL功能的使用環境,還創建幾個PL/SQL包用於擴展RDBMS功能
(sys登錄);
pupbld.sql
使用SQL*PLUS環境時需要
(system登錄)
在命令行輸入@
加腳本文件的絕對路徑
第二個腳本過程和第一個一樣
執行第三個腳本需要切換到system用戶
connect
system/manager
@
C:\oracle\proct\10.2.0\db_2\sqlplus\admin\pupbld.sql
創建scott模式
@
C:\oracle\proct\10.2.0\db_2\RDBMS\ADMIN\scott.sql
② 關於資料庫oracle的創建資料庫
建資料庫一般方法:
1 在安裝資料庫系統的時候就可以選擇同時創建資料庫
2 安裝資料庫系統是不建庫,安裝之後建庫;
開始 運行 輸入dbca 回車,在彈出的界面操作,下一步下一步,
其實跟第一種一樣的
3 手工建庫:
創建資料庫腳本:
create database mydb
maxinstances 1 maxloghistory 1
maxlogfiles 5 maxlogmembers 3
maxdatafiles 100
datafile 'E:\oracle\oradata\mydb\system01.dbf'
size 250M reuse autoextend on next 10240K maxsize unlimited
extent management local
default temporary tablespace temp tempfile
'E:\oracle\oradata\mydb\temp01.dbf' size 40M reuse autoextend on
next 640K maxsize unlimited
undo tablespace "undotbs1" datafile
'E:\oracle\oradata\mydb\undotbs01.dbf' size 200M reuse
autoextend on next 5120K maxsize unlimited
character set we8mswin1252
national character set al16utf16
logfile
group 1 ('E:\oracle\oradata\mydb\redo01a.log','E:\oracle\oradata\mydb\redo01b.log') size 102400K,
group 1 ('E:\oracle\oradata\mydb\redo02a.log','E:\oracle\oradata\mydb\redo02b.log') size 102400K,
group 1 ('E:\oracle\oradata\mydb\redo03a.log','E:\oracle\oradata\mydb\redo03b.log') size 102400K;
手工建庫比起使用DBCA建庫來說,是比較麻煩的,但是如果我們學好了手工建庫的話,就可以使我們更好地理解Oracle資料庫的體系結構。手工建庫須要經過幾個步驟,每一個步驟都非常關鍵。它包括:
1、 創建必要的相關目錄
2、 創建初始化參數文件
3、 設置環境變數Oracle_sid
4、 創建實例
5、 創建口令文件
6、 啟動資料庫到nomount(實例)狀態
7、 執行建庫腳本
8、 執行catalog腳步本創建數據字典
9、 執行catproc創建package包
10、 執行pupbld
11、 由初始化參數文件創建spfile文件
12、 執行scott腳本創建scott模式
做完了以上的步驟之後就可以使用「SQL>alter database open;」打開資料庫正常的使用了。下面,我將具體地把以上的幾個步驟用實驗展開來講。
實驗系統平台:Windows Server 2000 資料庫系統版本:Oracle Database 10G
Oracle的安裝路徑:D盤 創建的資料庫名稱:book
1、打開命令行工具,創建必要有相關目錄
C:\>mkdir D:\oracle\proct\10.1.0\admin\book
C:\>mkdir D:\oracle\proct\10.1.0\admin\book\bmp
C:\>mkdir D:\oracle\proct\10.1.0\admin\book\ump
C:\>mkdir D:\oracle\proct\10.1.0\admin\book\cmp
C:\>mkdir D:\oracle\proct\10.1.0\admin\book\pfile
C:\>mkdir D:\oracle\proct\10.1.0\admin\book\create
C:\>mkdir D:\oracle\proct\10.1.0\oradata\book
上面創建目錄的過程也可以在Windows的圖形界面中去創建。其中D:\oracle\proct\10.1.0\admin\book目錄下的幾個子目錄主要用於存放資料庫運行過程中的跟蹤信息。最重要的兩上子目錄是bmp和ump目錄,bmp目錄存放的是資料庫動行過程中的各個後台進程的跟蹤信息,當中alert文件是警告文件,其文件名稱為alert_book.log,當資料庫出現問題時,首先就可以去查看此文件以找出原因,手工創建過程中出現的各種問題往往也可以通過查看這個文件找到原因。Ump目錄存放和特定會話相關的跟蹤信息。D:\oracle\proct\10.1.0\oradata\book目錄存放各種資料庫文件,包括控制文件、數據文件、重做日誌文件。
2、創建初始化參數文件
資料庫系統啟動時須要用初始化參數文件的設置分配內存、啟動必要的後台進程的。因此,初始化參數文件創建的是否正確、參數設置是否正確關系著整個建庫的「命運」。
創建初始化參數文件可以通過拷貝現在的初始化參數文件並將其做適當的修改即可,從而不必要用手工去一句一句地寫出來,因為初始化參數文件的結構體系基本上都是一樣的。在我們安裝Oracle的時候,系統已經為我們安裝了一個名為orcl的資料庫,於是我們可以從它那裡得到一份初始化參數文件。打開D:\oracle\proct\10.1.0\admin\orcl\pfile,找到init.ora文件,把它拷貝到D:\oracle\proct\10.1.0\bd_1\databse下,並將其改名為initbook.ora。接著用記事本的方式打開initbook.ora,修改以下的內容:
db_domain=""
db_name=book
control_files=("D:\oracle\proct\10.1.0\oradata\book\control01.ctl", "D:\oracle\proct\10.1.0\oradata\book\control02.ctl", "D:\oracle\proct\10.1.0\oradata\book\control03.ctl")
undo_management=AUTO
undo_tablespace=UNDOTBS1 ――注意此處的「UNDOTBS1」要和建庫腳步本中對應
background_mp_dest=D:\oracle\proct\10.1.0\admin\book\bmp
core_mp_dest=D:\oracle\proct\10.1.0\admin\book\cmp
user_mp_dest=D:\oracle\proct\10.1.0\admin\book\ump
3、打開命令行,設置環境變數oracle_sid
C:\>set oracle_sid=book
設置環境變數的目地是在默認的情況下,指定命令行中所操作的資料庫實例是book。
4、創建實例(即後台控制服務)
C:\>oradim –new –sid book
oradim是創建實例的工具程序名稱,-new表明執行新建實例,-delete表明執行刪掉實例,-sid指定害例的名稱。
5、創建口令文件
C:\>orapwd file=D:\oracle\proct\10.1.0\db_1\database\pwdbook.ora password=bookstore entries=2
orapwd是創建口令文件的工肯程序各稱,file參數指定口令文件所在的目錄和文件名稱,password參數指定sys用戶的口令,entries參數指定資料庫擁用DBA許可權的用戶的個數,當然還有一個force參數,相信您不指即明,這里就不再細述。
請注意,這里的命令要一行輸入,中間不得換行,否則會出現不必要的錯誤。
口令文件是專門存放sys用戶的口令,因為sys用戶要負責建庫、啟動資料庫、關閉資料庫等特殊任務,把以sys用戶的中令單獨存放於口令文件中,這樣資料庫末打開時也能進行口令驗證。
6、啟動資料庫到nomount(實例)狀態
C:\>sqlplus /nolog
SQL*Plus:Release 10.1.0.2.0 - Proction on 星期三 6月 29 23:09:35 2005
Copyright 1982,2004,Oracle. All rights reserved.
SQL>connect sys/bookstore as sysdba ---這里是用sys連接資料庫
已連接到空閑常式
SQL>startup nomount
ORACLE 常式已經啟動。
Total System Global Area 319888364bytes
Fixed Size 453612bytes
Variable Size 209715200bytes
Database Buffers 109051904bytes
Redo Buffers 667648bytes
SQL>
7、執行建庫腳本
執行建庫腳本,首先要有建庫的腳本。(去哪找建庫腳本呢?我又沒有!)不用著急,請接著往下看。
得到一個符合自己要求的建庫腳本有兩種方法,一種方法是在自己的電腦上用DBCA來建,接照它的提示一步步地去做,在做到第十二步的時候,請選擇「生成建庫腳本」,然後就大功告成,你就可以到相應的目錄上去找到那個腳本並適當地修它便可便用。另一種方法就是自己手工去寫一份建庫腳本,這也是這里要見意使用的方法,用記事本編輯如下的內容,並將其保存為文件名任取而後綴名為(*.sql)的SQL腳本,這里保存到E盤根本錄下且文件名稱為book.sql。
create database xuyn
datafile 'E:\oracle\oradata\xuyn\system01.dbf' size 300M reuse autoextend on next 10240K maxsize unlimited
extent management local
--10g新特性sysaux表空間
--sysaux datafile 'E:\oracle\oradata\xuyn\sysaux01.dbf'
--size 120M reuse autoextend on next 10240K maxsize unlimited
default temporary tablespace temp
tempfile 'E:\oracle\oradata\xuyn\temp01.dbf' size 20M reuse autoextend on next 640K maxsize unlimited
undo tablespace "UNDOTBS1"
datafile 'E:\oracle\oradata\xuyn\undotbs01.dbf' size 200M reuse autoextend on next 5120K maxsize unlimited
logfile
group 1 ('E:\oracle\oradata\xuyn\redo01.log') size 10240K,
group 2 ('E:\oracle\oradata\xuyn\redo02.log') size 10240K,
group 3 ('E:\oracle\oradata\xuyn\redo03.log') size 10240K;
接著就執行剛建的建庫腳本:
SQL>start E:\book.sql
8、執行catalog腳步本創建數據字典
SQL>start D:\oracle\proct\10.1.0\db_1\rdbms\admin\catalog.sql
9、執行catproc創建package包
SQL>start D:\oracle\proct\10.1.0\db_1\rdbms\admin\catproc.sql
10、執行pupbld
在執行pupbld之前要把當前用戶(sys)轉換成system,即以system賬戶連接資料庫。因為此資料庫是剛建的,所以system的口令是系統默認的口令,即manager。你可以在資料庫建好以後再來重新設置此賬戶的口令。
SQL>connect system/manager
SQL>start D:\oracle\proct\10.1.0\db_1\sqlplus\admin\pupbld.sql
11、由初始化參數文件創建spfile文件
SQL>create spfile from pfile;
12、執行scott腳本創建scott模式
SQL>start D:\oracle\proct\10.1.0\db_1\rdbms\admin\scott.sql
13、把資料庫打開到正常狀態
SQL>alter database open;
14、以scott連接到資料庫(口令為tiger),測試新建資料庫是否可以正常運行
至此,整個資料庫就已經建好了。接著你就可以在此資料庫上建立自己的賬戶和表空間啦以及資料庫對象,這里就不再作更多地敘述。(責任編輯:盧兆林)
啟動資料庫:
oradim -startup -sid xuyn -starttype srvc
sqlplus /nolog
conn sys/xuyn as sysdba
startup