來自:http://blog.csdn.net/iori_guojun
1、聲明Oracle SID名
WIN下:set ORACLE_SID=mydb
UNIX下:export ORACLE_SID=mydb
2、與實例連接
服務器端:
$SQLPLUS /nolog
SQL>CONNECT SYS/password AS SYSDBA
客戶端:
SQL>CONNECT SYS/password@SID AS SYSDBA
3、創建初始化參數文件(每個實例啟動時都要裝載一個)
1>、使用缺省文件名并在缺省位置存放該文件,則啟動數據庫時無須指定PFILE
缺省文件名為init$Oracle_SID.ora,如initMYDB.ora
缺省位置:WIN下$Oracle_HOME\database
UNIX下$Oracle_HOME\dbs
2>、自己定義文件名和存放位置,啟動數據庫時須指定PFILE參數
4、在不裝配數據庫的情況下啟動實例,并根據步驟3確定是否要指定PFILE參數
STARTUP NOMOUNT pfile='d:\oracle\admin\mydb\scripts\initMYDB.ora';
5、創建數據庫
CREATE DATABASE mynewdb
--指定可以同時裝配和打開的數據庫實例最大數量,比初始參數INSTANCES優先級高
MAXINSTANCES 1
--只有在實時應用集群情況下和歸檔模式中,此參數才有用
MAXLOGHISTORY 1
--指定該數據庫能夠創建的重做日志文件組的最大數量
MAXLOGFILES 5
--指定該數據庫重做日志文件組的最大成員數量
MAXLOGMEMBERS 5
--Oracle使用該值來確定在控制文件中分配數據文件名需要的空間
MAXDATAFILES 100
--指定一個或多個數據文件,這些都作為SYSTEM表空間一部分
DATAFILE '/vobs/oracle/oradata/mynewdb/system01.dbf' SIZE 325 REUSE
--創建一個撤消表空間用于重做數據
UNDO TABLESPACE undotbs DATAFILE
'/vobs/oracle/oradata/mynewdb/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
--創建缺省的臨時表空間
DEFAULT TEMPORARY TABLESPACE tempts1
--指定數據庫保存數據時使用的字符集
CHARACTER SET US7ASCII
--指定NCHAR、NCLOB、NVARCHAR2類型列保存數據時需要使用的字符集
NATIONAL CHARACTER AL16UTF16
--指定的重做日志文件
LOGFILE GROUP 1 ('/vobs/oracle/oradata/mynewdb/redo01.log') SIZE 100M,
GROUP 2 ('/vobs/oracle/oradata/mynewdb/redo02.log') SIZE 100M,
GROUP 3 ('/vobs/oracle/oradata/mynewdb/redo03.log') SIZE 100M;
6、創建附加的表空間
--如果不創建附加表空間并把數據庫對象存儲在其上,則會缺省使用系統表空間
--創建缺省的用戶表空間
CREATE TABLESPACE user LOGGING
DATAFILE '/vobs/Oracle/oradata/mynewdb/users01.dbf'
--設置表空間自動增長
SIZE 25M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED
--采用本地管理表空間
EXTENT MANAGEMENT LOCAL;
--為用戶索引等數據庫對象創建缺省表空間
CREATE TABLESPACE indx LOGGING
DATAFILE '/vobs/Oracle/oradata/mynewdb/indx01.dbf'
SIZE 25M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
7、運行腳本來創建數據字典視圖
CONNECT SYS/password AS SYSDBA
@/vobs/Oracle/rdbms/admin/catalog.sql;
@/vobs/Oracle/rdbms/admin/catproc.sql;
@/vobs/Oracle/rdbms/admin/catexp.sql;
EXIT