Oracle手動創建數據庫是本文介紹的重點,希望通過本文能幫助大家更好的利用Oracle。51CTO也向您推薦《Oracle數據庫調試與性能優化》專題。
Oracle除自帶的DBCA可以創建數據庫以為,還有另外一種創建方法,就是Oracle手動創建數據庫,也是作為DBA人員必須要掌握的。下面就介紹一下手動創建數據庫的步驟:
手動創建數據庫通常包含如下操作步驟:
1、確定新建數據庫名稱和實例名稱;
2、確定數據庫管理員的認證方式;
3、創建初始化參數文件;
4、創建實例;
5、連接並啟動實例;
6、使用create database語句創建數據庫;
7、創建附加的表空間;
8、運行腳本創建數據字典視圖;
下面以創建一個名為“MYNEWDB”的數據庫為例
1、確定數據庫名稱與實例名稱;
- DB_NAME=MYNEWDB
- SID=MYNEWDB
2、確定數據庫管理員的認證方式;
管理員的認證方式包括操作系統認證和口令認證兩種,本例采用操作系統認證
3、創建初始化參數文件;
Oracle提供的初始化參數樣本文件位於$Oracle_HOME\admin\sample\pfile目錄中的initsmpl.ora
我們采用修改樣本的方式,創建參數文件名為:initMYNEWDB.ora,存放在D:\Oracle\ora92
\database\initMYNEWDB.ora,主要內容設置如下:
#共享服務器設置
- dispatchers="(PROTOCOL=TCP)(SERVICE=MYNEWDBXDB)
#數據庫實例名設置
- instance=MYNEWDB
#安全與審計設置
- remote_login_passWordfile=EXCLUSIVE
#排序區大小設置
- pga_aggregate_target=25165824
- sort_area_size=524288
#全局數據庫名設置
- db_domain=""
- db_name=MYNEWDB
#控制文件設置
- control_files=("D:\Oracle\oradata\MYNEWDB\CONTROL01.CTL",
- "D:\Oracle\oradata\MYNEWDB\CONTROL02.CTL",
- "D:\Oracle\oradata\MYNEWDB\CONTROL03.CTL")
#SGA區設置
- Java_pool_size =33554432
- large_pool_size=8388608
- shared_pool_size=50331648
#游標與庫緩存設置
- open_cursors=300
#回退段和撤銷表空間設置
- undo_management=AUTO
- undo_retention=10800
- undo_tablespace=UNDOTBS
#診斷與跟蹤信息設置
- background_dump_dest=D:\Oracle\admin\MYNEWDB\bdump
- core_dump_dest=D:\Oracle\admin\MYNEWDB\cdump
- timed_statistics=TRUE
- user_dump_dest=D:\Oracle\admin\MYNEWDB\udump
#用戶進程設置
processes=150
#緩沖區與數據庫大小設置
- db_block_size=8192
- db_cache_size=25165824
- db_file_multiblock_read_count=16
4、創建實例
選擇“程序-->運行”,輸入“cmd”命令,打開DOS界面
(1)將環境變量Oracle_SID設置為“MYNEWDB”
C:\SET Oracle_SID=MYNEWDB
(2)利用ORADIM命令創建MYNEWDB數據庫
C:\ORADMIN -NEW -SID MYNEWDB -INTPWD MYNEWDB -STARTMODE MANUAL -PFILE D:\Oracle\ora92
\database
注意:ORADMIN是Oracle提供的一個對實例進行管理的工具,可以創建、修改、刪除、啟動和關閉一個
實例,執行C:\ORADMIN HELP命令可以查看該命令的使用情況
5、連接並啟動實例
- C:\sqlplus /nolog
- SQL>connect sys/mynewdb as sysdba;
- SQL>startup nomount;
6、使用create database 語句創建數據庫
- SQL>CREATE DATABASE MYNEWDB
- MAXINSTANCES 1
- MAXLOGHISTORY 1
- MAXLOGFILES 5
- MAXLOGMEMBERS 5
- MAXDATAFILES 100
- DATAFILE 'D:\Oracle\oradata\mynewdb\system.dbf' size 50M
- UNDO TABLESPACE undotbs DATAFILE 'D:\Oracle\oradata\mynewdb\undotbs.dbf' size 50M
- AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
- DEFAULT TEMPORARY TABLESPACE tempts
- CHARACTER SET US7ASCII
- NATIONAL CHARACTER SET AL16UTF16
- LOGFILE GROUP 1 ('D:\Oracle\oradata\mynewdb\redo01.log') size 100M,
- GROUP 2 ('D:\Oracle\oradata\mynewdb\redo02.log') size 100M,
- GROUP 3 ('D:\Oracle\oradata\mynewdb\redo03.log') size 100M;
在執行create database 語句的同時,自動執行$Oracle_HOME\rdbms\admin\sql.bsq腳本,創建SYSTEM表空間和SYSTEM回退段、建立SYS和SYSTEM賬號、建立數據字典基礎表、建立數據字典索引、創建預定義角色等。
7、創建附加的表空間
用create database語句創建的數據庫中只有SYSTEM、UNDOTBS和TEMPTBS三個表空間,還需要創建其他
一些額外的表空間
- SQL>create tablespace users
- datafile 'd:\Oracle\oradata\mynewdb\users01.dbf' size 100M
- reuse autoextend on next 1280K maxsize unlitited
- extend management local;
- SQL>create tablespace index
- datafile 'd:\Oracle\oradata\mynewdb\index01.dbf' size 100M
- reuse autoextend on next 1280K maxsize unlimited
- extend management local;
8、運行腳本創建數據字典視圖
執行兩個腳本語句:
----用於創建數據字典視圖,包括V$動態性能視圖和它們的同義詞,同時將授予PUBLIC角色對這些同義
詞的訪問權限
- SQL>@D:\Oracle\ora92\rdbms\admin\catalog.sql;
----用於建立對PL/SQL程序設計的支持
- SQL>@D:\Oracle\ora92\rdbms\admin\catproc.sql;
9、創建服務器初始化參數文件
- SQL>create spfile from file='d:\Oracle\ora92\database\initMYNEWDB.ora';
執行該語句將在$Oracle_HOME\database 目錄下創建名為spfileMYNEWDB.ora的服務器初始化參數文件
需要重啟數據庫
- SQL>shutdown immediate;
- SQL>connect sys/mynewdb as sysdba;
- SQL>startup