手工建立資料庫的全部指令碼及說明(轉)

Rounders發表於2007-08-06

實際工作中,並非需要手工建立資料庫。但透過對過程的瞭解,能更清楚oracle的內部機制。

[@more@]

系統環境:
1、作業系統:Windows 2000 Server,機器記憶體128M
2、資料庫: Oracle 8i R2 (8.1.6) for NT 企業版
3、安裝路徑:D:ORACLE

建庫步驟:
1、手工建立相關目錄
D:Oracleadmin est
D:Oracleadmin estadhoc
D:Oracleadmin estdump
D:Oracleadmin estcdump
D:Oracleadmin estcreate
D:Oracleadmin estexp
D:Oracleadmin estpfile
D:Oracleadmin estudump

D:Oracleoradata est
D:Oracleoradata estarchive

2、手工建立初始化啟動引數檔案:D:Oracleadmin estpfileinittest.ora,內容:

3、手工建立D:OracleOra81DATABASEinittest.ora檔案,

內容:IFILE='D:Oracleadmin estpfileinittest.ora'

4、使用orapwd.exe命令,建立D:OracleOra81DATABASEPWDtest.ora

命令:D:OracleOra81inorapwd file=D:OracleOra81DATABASEPWDtest.ora password=ORACLE entries=5


5、透過oradim.exe命令,在服務裡生成一個新的例項管理服務,啟動方式為手工
set ORACLE_SID=test
D:OracleOra81inoradim -new -sid test -startmode manual -pfile "D:Oracleadmin estpfileinittest.ora"

6、生成各種資料庫物件
D:>svrmgrl

--建立資料庫
connect INTERNAL/oracle
startup nomount pfile="D:Oracleadmin estpfileinittest.ora"
CREATE DATABASE test
LOGFILE 'D:Oracleoradata est edo01.log' SIZE 2048K,
'D:Oracleoradata est edo02.log' SIZE 2048K,
'D:Oracleoradata est edo03.log' SIZE 2048K
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXLOGHISTORY 1
DATAFILE 'D:Oracleoradata estsystem01.dbf' SIZE 58M REUSE AUTOEXTEND ON NEXT 640K
MAXDATAFILES 254
MAXINSTANCES 1
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET ZHS16GBK;

控制檔案、日誌檔案在上面語句執行時生成


connect INTERNAL/oracle
--修改系統表空間
ALTER TABLESPACE SYSTEM DEFAULT STORAGE ( INITIAL 64K NEXT 64K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 50);
ALTER TABLESPACE SYSTEM MINIMUM EXTENT 64K;

--建立回滾表空間
CREATE TABLESPACE RBS DATAFILE 'D:Oracleoradata est bs01.dbf' SIZE 256M REUSE
AUTOEXTEND ON NEXT 5120K
MINIMUM EXTENT 512K
DEFAULT STORAGE ( INITIAL 512K NEXT 512K MINEXTENTS 8 MAXEXTENTS 4096);

--建立使用者表空間
CREATE TABLESPACE USERS DATAFILE 'D:Oracleoradata estusers01.dbf' SIZE 128M REUSE
AUTOEXTEND ON NEXT 1280K
MINIMUM EXTENT 128K
DEFAULT STORAGE ( INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);

--建立臨時表空間
CREATE TABLESPACE TEMP DATAFILE 'D:Oracleoradata est emp01.dbf' SIZE 32M REUSE
AUTOEXTEND ON NEXT 640K
MINIMUM EXTENT 64K
DEFAULT STORAGE ( INITIAL 64K NEXT 64K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0) TEMPORARY;

--建立工具表空間
CREATE TABLESPACE TOOLS DATAFILE 'D:Oracleoradata est ools01.dbf' SIZE 64M REUSE
AUTOEXTEND ON NEXT 320K
MINIMUM EXTENT 32K
DEFAULT STORAGE ( INITIAL 32K NEXT 32K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);

--建立索引表空間
CREATE TABLESPACE INDX DATAFILE 'D:Oracleoradata estindx01.dbf' SIZE 32M REUSE
AUTOEXTEND ON NEXT 1280K
MINIMUM EXTENT 128K
DEFAULT STORAGE ( INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);

--建立回滾段
CREATE PUBLIC ROLLBACK SEGMENT RBS0 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS1 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS2 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS3 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS4 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS5 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS6 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS7 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS8 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS9 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS10 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS11 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS12 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS13 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS14 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS15 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS16 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS17 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS18 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS19 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS20 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS21 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS22 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS23 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS24 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );

--使回滾段線上
ALTER ROLLBACK SEGMENT "RBS0" ONLINE;
ALTER ROLLBACK SEGMENT "RBS1" ONLINE;
ALTER ROLLBACK SEGMENT "RBS2" ONLINE;
ALTER ROLLBACK SEGMENT "RBS3" ONLINE;
ALTER ROLLBACK SEGMENT "RBS4" ONLINE;
ALTER ROLLBACK SEGMENT "RBS5" ONLINE;
ALTER ROLLBACK SEGMENT "RBS6" ONLINE;
ALTER ROLLBACK SEGMENT "RBS7" ONLINE;
ALTER ROLLBACK SEGMENT "RBS8" ONLINE;
ALTER ROLLBACK SEGMENT "RBS9" ONLINE;
ALTER ROLLBACK SEGMENT "RBS10" ONLINE;
ALTER ROLLBACK SEGMENT "RBS11" ONLINE;
ALTER ROLLBACK SEGMENT "RBS12" ONLINE;
ALTER ROLLBACK SEGMENT "RBS13" ONLINE;
ALTER ROLLBACK SEGMENT "RBS14" ONLINE;
ALTER ROLLBACK SEGMENT "RBS15" ONLINE;
ALTER ROLLBACK SEGMENT "RBS16" ONLINE;
ALTER ROLLBACK SEGMENT "RBS17" ONLINE;
ALTER ROLLBACK SEGMENT "RBS18" ONLINE;
ALTER ROLLBACK SEGMENT "RBS19" ONLINE;
ALTER ROLLBACK SEGMENT "RBS20" ONLINE;
ALTER ROLLBACK SEGMENT "RBS21" ONLINE;
ALTER ROLLBACK SEGMENT "RBS22" ONLINE;
ALTER ROLLBACK SEGMENT "RBS23" ONLINE;
ALTER ROLLBACK SEGMENT "RBS24" ONLINE;

--修改sys使用者的臨時表空間為TEMP
alter user sys temporary tablespace TEMP;

--建立資料字典表
@D:OracleOra81Rdbmsadmincatalog.sql;
@D:OracleOra81Rdbmsadmincatexp7.sql
@D:OracleOra81Rdbmsadmincatproc.sql
@D:OracleOra81Rdbmsadmincaths.sql

connect system/manager
@D:OracleOra81sqlplusadminpupbld.sql

connect internal/oracle
@D:OracleOra81Rdbmsadmincatrep.sql
exit

--生成SQL*Plus幫助系統
sqlplus SYSTEM/manager
@D:OracleOra81sqlplusadminhelphelpbld.sql helpus.sql
exit

--修改system使用者預設表空間和臨時表空間
svrmgrl
connect internal/oracle
alter user system default tablespace TOOLS;
alter user system temporary tablespace TEMP;
exit

7、將test例項啟動服務設定成自動啟動方式
D:OracleOra81inoradim -edit -sid test -startmode auto

//init.ora 內容

db_name = "test"
instance_name = test
service_names = test
db_files = 1024
control_files = ("D:Oracleoradata estcontrol01.ctl", "D:Oracleoradata estcontrol02.ctl", "D:Oracleoradata estcontrol03.ctl")
open_cursors = 200
max_enabled_roles = 30
db_file_multiblock_read_count = 8
db_block_buffers = 4096
shared_pool_size = 52428800
large_pool_size = 78643200
java_pool_size = 20971520
log_checkpoint_interval = 10000
log_checkpoint_timeout = 1800
processes = 115
parallel_max_servers = 5
log_buffer = 32768
max_dump_file_size = 10240
global_names = true
oracle_trace_collection_name = ""
background_dump_dest = D:Oracleadmin estdump
user_dump_dest = D:Oracleadmin estudump
db_block_size = 16384
remote_login_passwordfile = exclusive
os_authent_prefix = ""
job_queue_processes = 4
job_queue_interval = 60
open_links = 4
distributed_transactions = 10
mts_dispatchers = "(PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)"
mts_dispatchers = "(protocol=TCP)"
compatible = 8.1.0
sort_area_size = 65536
sort_area_retained_size = 65536

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

相關文章