Vincent.Chan‘s Blog

          常用鏈接

          統計

          積分與排名

          網站

          最新評論

          手工創建數據庫

          第一次創建數據庫是用的DBCA,中間發生了錯誤。后來看書(機械工業Couchman的書)才知道,
          創建新數據庫時,必須將原來的數據庫shutdown,否則會出現錯誤。然后進SQLPLUS,一直提示
          ORA12560,監聽報錯。
          試了半天,又用DBCA把所有的數據庫都刪掉了,還是用DBCA重新創建了一個數據庫,這次沒有
          出現問題。覺得很奇怪。查了一下資料,可能是在上次創建的時候INIT.ORA文件破壞了。

          在網上找到了一個8I的手動配置過程,呵呵,真是如獲至寶啊。

          結合我自己的情況把經驗和大家共享,請大家給提提意見。

          系統環境:
          1、操作系統:Windows 2003 Server
          2、數據庫: Oracle9I Release 9.2.0.1.0
          3、安裝路徑:D:\ORACLE

          建庫步驟:
          1、手工創建相關目錄
          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

          ------------------------------------
          這幾步比較簡單,很快就完成了。覺得手動創建數據庫對理解結構還是很有幫助的。




          2、手工創建初始化啟動參數文件:D:\Oracle\admin\test\pfile\inittest.ora,內容:
          -------------------------------------
          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

          ------------------------------------------
          奇怪的是,我當時創建了空的init.ora,最后竟然也能成功創建,
          是不是因為OMF的原因?



          3、手工創建D:\Oracle\Ora92\DATABASE\inittest.ora文件,

          內容:IFILE='D:\Oracle\admin\test\pfile\inittest.ora'



          4、使用orapwd.exe命令,創建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命令,在服務里生成一個新的實例管理服務,啟動方式為手工
          set ORACLE_SID=test (這個很重要,否則出現ORA-12560錯誤)
          D:\Oracle\Ora92\bin\oradim -new -sid test -startmode manual -pfile

          "D:\Oracle\admin\test\pfile\inittest.ora"

          6、生成各種數據庫對象
          D:\>Oracle\Ora92\bin\sqlplus

          Connect:SYS as SYSDBA
          Password:Orace

          --創建數據庫

          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;

          控制文件、日志文件在上面語句執行時生成


          以下是網上資料中ORACEL 8I中Init.ora的其他部分,我因為是做實驗,所以省略了
          ***********************************************************************


          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:\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);

          --創建用戶表空間
          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);

          --創建臨時表空間
          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;

          --創建工具表空間
          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);

          --創建索引表空間
          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);

          --創建回滾段
          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:\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幫助系統
          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實例啟動服務設置成自動啟動方式

          D:\Oracle\Ora81\bin\oradim -edit -sid test -startmode auto
          看看服務里多了一項OracleServerTest.


          終于能看到Database Created,對于我這種初學者,還是很開心的一件事情。
          然后到OEM里看看自己新建的數據庫,同時在SQLPLUS創建了一個用戶,在OEM看到了,呵呵。
          證明確實是我剛才創建的數據庫。

          這個時候問題又出現了,在OEM里,我試著用SQLPLUS worksheet,
          connect sys as sysdba

          Enter password: ERROR:
          ORA-12560: TNS吐舌rotocol adapter error

          這是怎么回事呢?剛才用的DOS下的SQLPLUS沒有關,我在DOS下試著連接,很好啊,
          那問題出在哪里呢?于是把DOS窗口重新開了一次,再連SQLPLUS,
          呵呵,出現了和Worksheet一樣的錯誤。

          接著,又檢查了inittest.ora,沒有找到什么。
          反復的startup mount,start nomount pfile="..inittest.ora"
          shutdown normal,還是出現這個ORA-12560

          既然是監聽出現問題,是不是與SID有關呢?
          問題出在set ORACLE_SID=test.
          在DOS下,先SET ORACLE_SID,然后在SQLPLUS里面CONNECT,
          呵呵,SQLPLUS一切正常了。但是在OEM里還是使用不了SQLPLUS worksheet,這是為什么?

          步驟一:其實是不用手動創建的,在oracle\ora92\admin\sample目錄下有模版,直接考過來,將initsmp.ora改名即可。

          posted on 2006-03-13 21:01 Vincent.Chen 閱讀(597) 評論(0)  編輯  收藏 所屬分類: Database

          主站蜘蛛池模板: 安西县| 新兴县| 视频| 惠来县| 凌海市| 营山县| 家居| 西峡县| 县级市| 右玉县| 沁源县| 满洲里市| 滨州市| 来凤县| 双牌县| 泰宁县| 武夷山市| 清水河县| 湘西| 沐川县| 如皋市| 怀仁县| 吉隆县| 平原县| 罗城| 常州市| 息烽县| 依安县| 宣汉县| 肇源县| 兴山县| 武功县| 抚宁县| 云浮市| 延川县| 弥勒县| 青海省| 阿合奇县| 石河子市| 深泽县| 嘉荫县|