Vincent.Chan‘s Blog

          常用鏈接

          統(tǒng)計

          積分與排名

          網(wǎng)站

          最新評論

          手工創(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吐舌rotocol adapter error

          這是怎么回事呢?剛才用的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

          主站蜘蛛池模板: 万盛区| 黄山市| 龙川县| 牡丹江市| 博乐市| 天全县| 武宁县| 三穗县| 绿春县| 玉屏| 朝阳县| 乐平市| 进贤县| 剑阁县| 綦江县| 夏邑县| 隆安县| 桃江县| 太仆寺旗| 科技| 昌宁县| 厦门市| 清水河县| 长子县| 乐至县| 哈尔滨市| 铜川市| 友谊县| 宜兰市| 安吉县| 盈江县| 五台县| 宜州市| 横山县| 吴桥县| 盘锦市| 衡阳市| 龙山县| 东莞市| 紫金县| 奉节县|