由於是自己自學Oracle,如果有問題,請大家指出,謝謝!
Oracle提供了DBCA來創建數據庫,對於初學者來說使用DBCA創建數據庫簡化了很多工作和設置,直接在交互界面即可實現所有的功能。
然而對於實際的生產數據庫來說,使用DBCA來創建不切實際,建議按實際需求規划來創建數據庫。
Oracle數據庫的創建不像SQL server,直接使用CREATE DATABASEDB_NAME(僅作臨時,演示用)一條語句即可實現。
不管是SQL還是Oracle,對於創建生產型數據庫都需要進行需求分析、規划、創建等步驟。
創建數據庫的目的(高可用性、並發性、數據裝載) |
數據庫的應用類型(OLAP,OLTP) |
數據庫存儲結構的設計 |
數據庫的名稱、字符集 |
db_block 塊的大小 |
數據庫容量的初始大小及增幅 |
(創建后不可修改) | 可調整的設置,建議提前確定 | 其他注意事項 |
數據庫字符集(建議使用AL32UTF8,該字符集支持XML) |
SGA大小sga_max_size | 文件存儲方式(文件系統/RAW/ASM) |
數據庫的名稱(SID) | 日志緩沖區大小log_buffer日志緩沖區大小log_buffer | 數據文件、日志文件大小、存儲位置 |
數據塊的大小 | 最大允許進程數 | 表空間的構成 |
序號 | 方法 | 優點 | 缺點 |
1 | 使用DBCA創建數據庫: 通過安裝軟件后自動調用DBCA來創建; 運行Oracle Database Configuration Assistant ; 命令行下輸入dbca,手動調用DBCA創建(圖型化界面,跨平台); |
GUI方法使用方便; 建議不熟悉創建過程的DBA使用該方法 | 不過創建過程有些慢 |
2 | 用命令行的方式建立數據庫; | 可以熟悉創建指令,創建原理 | 配置簡單,要求熟記命令行指令 |
3 | 通過運行自定義的批處理腳本(或create_ORACLE_SID.bat(create_ORACLE_SID.sql))來創建配置或刪除數據庫 | - | - |
方法23具體實現:
2.用命令行的方式建立數據庫;
CONNECT / AS SYSDBA STARTUP PFILE= 'C:oracleadmininit_testorcl.ora' NOMOUNT; CREATE DATABASE testOrcl DATAFILE '/u02/oracle/testOrcl/system01.dbf' SIZE 100M LOGFILE GROUP1 ('/u01/oracle/testOrcl/redo1a.log', '/u02/oracle/testOrcl/redo1b.log') SIZE 500K, GROUP2 ('/u01/oracle/testOrcl/redo1a.log', '/u02/oracle/testOrcl/redo1b.log') SIZE 500K CHARACTER SET ZHS16CGB231280;
--將數據庫直接從未建置狀態轉換到打開狀態
ALTER DATABASE OPEN;
--刪除數據庫(Dropping a Database)
SPOOL C:DROP_DATABASE.BAT SELECT 'DEL '||NAME 刪除數據庫相關數據文件 FROM V$DATAFILE; SELECT 'DEL '||MEMBER 刪除數據重構日志文件 FROM V$LOGFILE; SPOOL OFF;
3.通過運行自定義的批處理腳本(或create_ORACLE_SID.bat(create_ORACLE_SID.sql))來創建配置或刪除數據庫。
--create_ORACLE_SID.bat
set ORACLE_SID= ORACLE_SID. del C:ORACLE8IdatabasepwdORACLE_SID.ora C:ORACLE8Ibinoradim -new -sid ORACLE_SID. -intpwd oracle -startmode manual -pfile C:ORACLE8IadminORACLE_SIDpfileinit.ora C:ORACLE8Ibinsvrmgrl @C:WINNTProfilesAdministratorLbORACLE_SIDrun.sql C:ORACLE8Ibinsvrmgrl @C:WINNTProfilesAdministratorLbORACLE_SIDrun1.sql C:ORACLE8Ibinoradim -edit -sid ORACLE_SID -startmode auto
--ORACLE_SIDrun.sql
spool C:ORACLE8IadminORACLE_SIDcreatecreatedb set echo on connect INTERNAL/oracle startup nomount pfile=C:ORACLE8IadminORACLE_SIDpfileinit.ora CREATE DATABASE ORACLE_SID LOGFILE 'C:ORACLE8IoradataORACLE_SIDredo01.log' SIZE 1024K, 'C:ORACLE8IoradataORACLE_SIDredo02.log' SIZE 1024K MAXLOGFILES 32 MAXLOGMEMBERS 2 MAXLOGHISTORY 1 DATAFILE 'C:ORACLE8IoradataORACLE_SIDsystem01.dbf' SIZE 50M REUSE MAXDATAFILES 254 MAXINSTANCES 1 CHARACTER SET ZHT16BIG5 NATIONAL CHARACTER SET ZHT16BIG5; spool off
--ORACLE_SIDrun1.sql
spool C:ORACLE8IadminORACLE_SIDcreatecreatedb1 set echo on connect INTERNAL/oracle ALTER DATABASE DATAFILE 'C:ORACLE8IoradataORACLE_SIDsystem01.dbf' AUTOEXTEND ON; CREATE ROLLBACK SEGMENT SYSROL TABLESPACE "SYSTEM" STORAGE (INITIAL 100K NEXT 100K); ALTER ROLLBACK SEGMENT "SYSROL" ONLINE;
另外我要說的是,新建全局數據庫后:
sys的口令是:change_on_install
system的口令是:manager
第一次啟動的服務器有:
OracleOraHome90Agent
OracleOraHome90TNSListener
OracleService(你數據庫名字:例如你建立的數據庫和SID名為:NEW,那這里就是NEW)
由於自己還是oracle小白,因此使用第一種方法創建數據庫,下面將詳述其過程:
1.【開始】/【程序】/【Oracle - OraDb10g_home1】/【配置和移植工具】/【Database Configuration Assistant】雙擊
或者打開命令提示符(運行中輸入CMD打開 ),輸入dbca,回車。
2.出現DBCA歡迎界面,點擊下一步。
3.選擇創建數據庫,點擊下一步。
4.選擇一般用途或事務處理,下一步。
5.輸入數據庫名稱,默認全局和SID 是一樣的,為mydb,點擊下一步。
6.配置EM,這里你可以去掉勾,不去配置。點下一步。
7.設置用戶口令,可根據自己需求新選擇,使用不同管理口令還是所有賬戶使用同一管理口令。
8.我選擇所有賬戶使用同一管理口令,密碼設為了123,點擊下一步,出現以下提示,
可以忽略,點擊是。
9.此后一直“下一步”即可。
字符集改為了AL32UTF8,可以根據需要修改
10.勾選生成數據庫創建腳本,點擊完成。
11.確認即可,生成腳本文件。
12.確定后,繼續創建數據庫。
由於Enterprise Manager配置出錯,如何解決該類問題。其實報錯已經說明是因為監聽程序未啟動,
1).可直接打開NET Configuration Assistant進行監聽程序配置。
2).重新配置EM