通過手動創建oracle數據庫,可以了解oracle數據庫的結構和數據庫運行機制,對理解oracle數據庫有幫助。
一、打開命令行工具,創建必要有相關目錄
mkdir E:\app\Administrator\admin\sky mkdir E:\app\Administrator\admin\sky\adump mkdir E:\app\Administrator\admin\sky\dpdump mkdir E:\app\Administrator\admin\sky\pfile mkdir E:\app\Administrator\flash_recovery_area\sky mkdir E:\app\Administrator\oradata\sky |
二、創建初始化參數文件
數據庫系統啟動時須要用初始化參數文件的設置分配內存、啟動必要的后台進程的。因此,初始化參數文件創建的是否正確、參數設置是否正確關系着整個建庫的“命運”。
創建初始化參數文件可以通過拷貝現在的初始化參數文件並將其做適當的修改即可,從而不必要用手工去一句一句地寫出來,因為初始化參數文件的結構體系基本上都是一樣的。在我們安裝Oracle的時候,系統已經為我們安裝了一個名為orcl的數據庫,於是我們可以從它那里得到一份初始化參數文件。打開E:\app\Administrator\admin\orcl\pfile,找到init.ora.9132015183757文件,把它拷貝到E:\app\Administrator\admin\sky\pfile下,並將其改名為initSKY.ora。接着用記事本的方式打開initSKY.ora,修改以下的內容:
############################################################################## # Copyright (c) 1991, 2001, 2002 by Oracle Corporation ############################################################################## ########################################### # Shared Server ########################################### dispatchers="(PROTOCOL=TCP) (SERVICE=skyXDB)" ########################################### # Miscellaneous ########################################### compatible=11.2.0.0.0 diagnostic_dest=E:\app\Administrator memory_target=1288699904 ########################################### # Security and Auditing ########################################### audit_file_dest=E:\app\Administrator\admin\sky\adump audit_trail=db remote_login_passwordfile=EXCLUSIVE ########################################### # Database Identification ########################################### db_domain="" db_name=sky ########################################### # File Configuration ########################################### control_files=("E:\app\Administrator\oradata\sky\control01.ctl", "E:\app\Administrator\flash_recovery_area\sky\control02.ctl") db_recovery_file_dest=E:\app\Administrator\flash_recovery_area db_recovery_file_dest_size=4039114752 ########################################### # Cursors and Library Cache ########################################### open_cursors=300 ########################################### # System Managed Undo and Rollback Segments ########################################### undo_tablespace=UNDOTBS1 ――注意此處的“UNDOTBS1”要和建庫腳步本中對應 ########################################### # Processes and Sessions ########################################### processes=150 ########################################### # Cache and I/O ########################################### db_block_size=8192 |
三、打開命令行,設置環境變量oracle_sid
C:\Users\Administrator>set oracle_sid=sky |
設置環境變量的目地是在默認的情況下,指定命令行中所操作的數據庫實例是sky。
四、創建實例(即后台控制服務)
C:\Users\Administrator>oradim -new -sid sky |
oradim是創建實例的工具程序名稱,-new表明執行新建實例,-delete表明執行刪掉實例,-sid指定害例的名稱。
五、創建口令文件
C:\Users\Administrator>orapwd file=E:\app\Administrator\product\11.2.0\dbhome_1\database\PWDsky.ora password=manager entries=2 |
orapwd是創建口令文件的工肯程序各稱,file參數指定口令文件所在的目錄和文件名稱,password參數指定sys用戶的口令,entries參數指定數據庫擁用DBA權限的用戶的個數。
口令文件是專門存放sys用戶的口令,因為sys用戶要負責建庫、啟動數據庫、關閉數據庫等特殊任務,把以sys用戶的口令單獨存放於口令文件中,這樣數據庫末打開時也能進行口令驗證。
六、啟動數據庫到nomount(實例)狀態
C:\Users\Administrator>sqlplus /nolog SQL*Plus: Release 11.2.0.1.0 Production on 星期三 12月 30 16:13:30 2015 Copyright (c) 1982, 2010, Oracle. All rights reserved. SQL>conn sys/manager as sysdba ---這里是用sys連接數據庫 已連接到空閑例程 SQL> shutdown immediate ---需要關閉的時候使用 SQL> startup pfile='E:\app\Administrator\admin\sky\pfile\initSKY.ora' nomount ORACLE 例程已經啟動。 Total System Global Area 1071333376 bytes Fixed Size 1375792 bytes Variable Size 528482768 bytes Database Buffers 536870912 bytes Redo Buffers 4603904 bytes SQL> |
七、執行建庫腳本
create database sky datafile 'E:\app\Administrator\oradata\sky\system01.dbf' size 300m Autoextend on next 10m maxsize unlimited sysaux datafile 'E:\app\Administrator\oradata\sky\sysaux01.dbf' size 300m Autoextend on next 10m maxsize unlimited undo tablespace UNDOTBS1 datafile 'E:\app\Administrator\oradata\sky\undotbs01.dbf' size 50m default temporary tablespace temp tempfile 'E:\app\Administrator\oradata\sky\temp01.dbf' size 30m logfile group 1 ('E:\app\Administrator\oradata\sky\redo01.log') size 10240k, group 2 ('E:\app\Administrator\oradata\sky\redo02.log') size 10240k, group 3 ('E:\app\Administrator\oradata\sky\redo03.log') size 10240k character set zhs16gbk; |
八、執行catalog腳步本創建數據字典
SQL>start E:\app\Administrator\product\11.2.0\dbhome_1\RDBMS\ADMIN\catalog.sql |
九、執行catproc創建package包
SQL>start E:\app\Administrator\product\11.2.0\dbhome_1\RDBMS\ADMIN\catproc.sql |
十、執行pupbld
在執行pupbld之前要把當前用戶(sys)轉換成system,即以system賬戶連接數據庫。因為此數據庫是剛建的,所以system的口令是系統默認的口令,即manager。你可以在數據庫建好以后再來重新設置此賬戶的口令。
SQL>connect system/manager SQL>start E:\app\Administrator\product\11.2.0\dbhome_1\sqlplus\admin\pupbld.sql |
十一、 由初始化參數文件創建spfile文件
SQL>create spfile from pfile='E:\app\Administrator\admin\sky\pfile\initSKY.ora'; |
十二、 執行scott腳本創建scott模式
SQL>start E:\app\Administrator\product\11.2.0\dbhome_1\RDBMS\ADMIN\scott.sql |
十三、 把數據庫打開到正常狀態
SQL>alter database open; |
十四、 以scott連接到數據庫(口令為tiger),測試新建數據庫是否可以正常運行
至此,整個數據庫就已經建好了。接着就可以在此數據庫上建立自己的賬戶和表空間以及數據庫對象。