手工創(chuàng)建數(shù)據(jù)庫
第一次創(chuàng)建數(shù)據(jù)庫是用的DBCA,中間發(fā)生了錯誤。后來看書(機械工業(yè)Couchman的書)才知道,創(chuàng)建新數(shù)據(jù)庫時,必須將原來的數(shù)據(jù)庫shutdown,否則會出現(xiàn)錯誤。然后進SQLPLUS,一直提示
ORA12560,監(jiān)聽報錯。
試了半天,又用DBCA把所有的數(shù)據(jù)庫都刪掉了,還是用DBCA重新創(chuàng)建了一個數(shù)據(jù)庫,這次沒有
出現(xiàn)問題。覺得很奇怪。查了一下資料,可能是在上次創(chuàng)建的時候INIT.ORA文件破壞了。
在網(wǎng)上找到了一個8I的手動配置過程,呵呵,真是如獲至寶啊。
結(jié)合我自己的情況把經(jīng)驗和大家共享,請大家給提提意見。
系統(tǒng)環(huán)境:
1、操作系統(tǒng):Windows 2003 Server
2、數(shù)據(jù)庫: Oracle9I Release 9.2.0.1.0
3、安裝路徑:D:\ORACLE
建庫步驟:
1、手工創(chuàng)建相關(guān)目錄
D:\Oracle\admin\test
D:\Oracle\admin\test\adhoc
D:\Oracle\admin\test\bdump
D:\Oracle\admin\test\cdump
D:\Oracle\admin\test\create
D:\Oracle\admin\test\exp
D:\Oracle\admin\test\pfile
D:\Oracle\admin\test\udump
D:\Oracle\oradata\test
D:\Oracle\oradata\test\archive
------------------------------------
這幾步比較簡單,很快就完成了。覺得手動創(chuàng)建數(shù)據(jù)庫對理解結(jié)構(gòu)還是很有幫助的。
2、手工創(chuàng)建初始化啟動參數(shù)文件:D:\Oracle\admin\test\pfile\inittest.ora,內(nèi)容:
-------------------------------------
db_name = "test"
instance_name = test
service_names = test
db_files = 1024
control_files = ("D:\Oracle\oradata\test\control01.ctl",
"D:\Oracle\oradata\test\control02.ctl", "D:\Oracle\oradata\test\control03.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:\Oracle\admin\test\bdump
user_dump_dest = D:\Oracle\admin\test\udump
db_block_size = 16384
remote_login_passwordfile = exclusive
os_authent_prefix = ""
job_queue_processes = 4
job_queue_interval = 60
open_links = 4
# log_archive_start = true
# log_archive_dest_1 = "location=D:\Oracle\oradata\oradb\archive"
# log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
------------------------------------------
奇怪的是,我當時創(chuàng)建了空的init.ora,最后竟然也能成功創(chuàng)建,
是不是因為OMF的原因?
3、手工創(chuàng)建D:\Oracle\Ora92\DATABASE\inittest.ora文件,
內(nèi)容:IFILE='D:\Oracle\admin\test\pfile\inittest.ora'
4、使用orapwd.exe命令,創(chuàng)建D:\Oracle\Ora92\DATABASE\PWDtest.ora
命令:D:\Oracle\Ora92\bin\orapwd file=D:\Oracle\Ora81\DATABASE\PWDtest.ora
password=ORACLE entries=5
5、通過oradim.exe命令,在服務(wù)里生成一個新的實例管理服務(wù),啟動方式為手工
set ORACLE_SID=test (這個很重要,否則出現(xiàn)ORA-12560錯誤)
D:\Oracle\Ora92\bin\oradim -new -sid test -startmode manual -pfile
"D:\Oracle\admin\test\pfile\inittest.ora"
6、生成各種數(shù)據(jù)庫對象
D:\>Oracle\Ora92\bin\sqlplus
Connect:SYS as SYSDBA
Password:Orace
--創(chuàng)建數(shù)據(jù)庫
startup nomount pfile="D:\Oracle\admin\test\pfile\inittest.ora"
CREATE DATABASE test
LOGFILE 'D:\Oracle\oradata\test\redo01.log' SIZE 2048K,
'D:\Oracle\oradata\test\redo02.log' SIZE 2048K,
'D:\Oracle\oradata\test\redo03.log' SIZE 2048K
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXLOGHISTORY 1
DATAFILE 'D:\Oracle\oradata\test\system01.dbf' SIZE 58M REUSE AUTOEXTEND ON NEXT 640K
MAXDATAFILES 254
MAXINSTANCES 1
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET ZHS16GBK;
控制文件、日志文件在上面語句執(zhí)行時生成
以下是網(wǎng)上資料中ORACEL 8I中Init.ora的其他部分,我因為是做實驗,所以省略了
***********************************************************************
connect INTERNAL/oracle
--修改系統(tǒng)表空間
ALTER TABLESPACE SYSTEM DEFAULT STORAGE ( INITIAL 64K NEXT 64K MINEXTENTS 1 MAXEXTENTS
UNLIMITED PCTINCREASE 50);
ALTER TABLESPACE SYSTEM MINIMUM EXTENT 64K;
--創(chuàng)建回滾表空間
CREATE TABLESPACE RBS DATAFILE 'D:\Oracle\oradata\test\rbs01.dbf' SIZE 256M REUSE
AUTOEXTEND ON NEXT 5120K
MINIMUM EXTENT 512K
DEFAULT STORAGE ( INITIAL 512K NEXT 512K MINEXTENTS 8 MAXEXTENTS 4096);
--創(chuàng)建用戶表空間
CREATE TABLESPACE USERS DATAFILE 'D:\Oracle\oradata\test\users01.dbf' SIZE 128M REUSE
AUTOEXTEND ON NEXT 1280K
MINIMUM EXTENT 128K
DEFAULT STORAGE ( INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);
--創(chuàng)建臨時表空間
CREATE TABLESPACE TEMP DATAFILE 'D:\Oracle\oradata\test\temp01.dbf' SIZE 32M REUSE
AUTOEXTEND ON NEXT 640K
MINIMUM EXTENT 64K
DEFAULT STORAGE ( INITIAL 64K NEXT 64K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0)
TEMPORARY;
--創(chuàng)建工具表空間
CREATE TABLESPACE TOOLS DATAFILE 'D:\Oracle\oradata\test\tools01.dbf' SIZE 64M REUSE
AUTOEXTEND ON NEXT 320K
MINIMUM EXTENT 32K
DEFAULT STORAGE ( INITIAL 32K NEXT 32K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);
--創(chuàng)建索引表空間
CREATE TABLESPACE INDX DATAFILE 'D:\Oracle\oradata\test\indx01.dbf' SIZE 32M REUSE
AUTOEXTEND ON NEXT 1280K
MINIMUM EXTENT 128K
DEFAULT STORAGE ( INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);
--創(chuàng)建回滾段
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;
--創(chuàng)建數(shù)據(jù)字典表
@D:\Oracle\Ora81\Rdbms\admin\catalog.sql;
@D:\Oracle\Ora81\Rdbms\admin\catexp7.sql
@D:\Oracle\Ora81\Rdbms\admin\catproc.sql
@D:\Oracle\Ora81\Rdbms\admin\caths.sql
connect system/manager
@D:\Oracle\Ora81\sqlplus\admin\pupbld.sql
connect internal/oracle
@D:\Oracle\Ora81\Rdbms\admin\catrep.sql
exit
--生成SQL*Plus幫助系統(tǒng)
sqlplus SYSTEM/manager
@D:\Oracle\Ora81\sqlplus\admin\help\helpbld.sql helpus.sql
exit
--修改system用戶默認表空間和臨時表空間
svrmgrl
connect internal/oracle
alter user system default tablespace TOOLS;
alter user system temporary tablespace TEMP;
exit
**************************************************************
7、將test實例啟動服務(wù)設(shè)置成自動啟動方式
D:\Oracle\Ora81\bin\oradim -edit -sid test -startmode auto
看看服務(wù)里多了一項OracleServerTest.
終于能看到Database Created,對于我這種初學(xué)者,還是很開心的一件事情。
然后到OEM里看看自己新建的數(shù)據(jù)庫,同時在SQLPLUS創(chuàng)建了一個用戶,在OEM看到了,呵呵。
證明確實是我剛才創(chuàng)建的數(shù)據(jù)庫。
這個時候問題又出現(xiàn)了,在OEM里,我試著用SQLPLUS worksheet,
connect sys as sysdba
Enter password: ERROR:
ORA-12560: TNS

這是怎么回事呢?剛才用的DOS下的SQLPLUS沒有關(guān),我在DOS下試著連接,很好啊,
那問題出在哪里呢?于是把DOS窗口重新開了一次,再連SQLPLUS,
呵呵,出現(xiàn)了和Worksheet一樣的錯誤。
接著,又檢查了inittest.ora,沒有找到什么。
反復(fù)的startup mount,start nomount pfile="..inittest.ora"
shutdown normal,還是出現(xiàn)這個ORA-12560
既然是監(jiān)聽出現(xiàn)問題,是不是與SID有關(guān)呢?
問題出在set ORACLE_SID=test.
在DOS下,先SET ORACLE_SID,然后在SQLPLUS里面CONNECT,
呵呵,SQLPLUS一切正常了。但是在OEM里還是使用不了SQLPLUS worksheet,這是為什么?
步驟一:其實是不用手動創(chuàng)建的,在oracle\ora92\admin\sample目錄下有模版,直接考過來,將initsmp.ora改名即可。
posted on 2006-03-13 21:01 Vincent.Chen 閱讀(599) 評論(0) 編輯 收藏 所屬分類: Database