oracle里面有一個(gè)自帶的軟件DBCA(Database Configuration Assistant)的,里面可以創(chuàng)建數(shù)據(jù)庫(kù)。如果是要用腳本創(chuàng)建的話:ORADIM -NEW -SID SID -INTPWD PASSWORD [-STARTMODE AUTO|MANUAL] [-SRVCSTART SYSTEM|DEMAND]這個(gè)語(yǔ)句是用于定義實(shí)例的,我不知道你是不是要這個(gè),定義實(shí)例之后,要啟動(dòng)實(shí)例,即在內(nèi)存中獎(jiǎng)勵(lì)SGA結(jié)構(gòu)和啟動(dòng)必須要的后臺(tái)進(jìn)程,需要一系列參數(shù)的設(shè)定的。
創(chuàng)新互聯(lián)建站專注于高青企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開(kāi)發(fā),商城系統(tǒng)網(wǎng)站開(kāi)發(fā)。高青網(wǎng)站建設(shè)公司,為高青等地區(qū)提供建站服務(wù)。全流程按需設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
除非使用并行Oracle服務(wù)器選項(xiàng),否則每個(gè)Oracle數(shù)據(jù)庫(kù)都有一個(gè)實(shí)例與之相關(guān),一個(gè)數(shù)據(jù)庫(kù)被唯一的一個(gè)實(shí)例裝載。實(shí)例結(jié)構(gòu)允許RDBMS同時(shí)對(duì)來(lái)自多個(gè)用戶的不同種類事務(wù)的請(qǐng)求提供服務(wù),與此同時(shí)提供一流的性能、容錯(cuò)性、數(shù)據(jù)的一致性和安全性。 值得注意的是,這里定義的術(shù)語(yǔ)“進(jìn)程”是指在沒(méi)有用戶干預(yù)的情況下正在運(yùn)行的任務(wù)。你的操作系統(tǒng)可能將之稱作“進(jìn)程”,或者使用其他術(shù)語(yǔ),例如任務(wù)、作業(yè)、線程和其他類似的術(shù)語(yǔ)。 在UNIX實(shí)現(xiàn)多任務(wù)操作系統(tǒng)后,實(shí)例是松散的結(jié)構(gòu)方式。在一起工作的離散的進(jìn)程在實(shí)現(xiàn)實(shí)例的目標(biāo)的RDBMS中完成指定的任務(wù)。每一個(gè)進(jìn)程都有各自的一個(gè)內(nèi)存塊,該內(nèi)存塊用于保存私有變量、地址堆棧和其他運(yùn)行時(shí)的信息。進(jìn)程間使用公共共享區(qū)并在公共共享區(qū)內(nèi)完成它們的工作。公共共享區(qū)是能夠在同一時(shí)間內(nèi)被不同程序和不同進(jìn)程讀寫的一塊內(nèi)存區(qū)。該內(nèi)存塊稱為系統(tǒng)全局區(qū)(SGA)。因?yàn)镾GA駐留在一個(gè)共享內(nèi)存段中,所以它經(jīng)常被稱作共享全局區(qū)。 你可以認(rèn)為后臺(tái)進(jìn)程就像數(shù)據(jù)庫(kù)的手,直接處理數(shù)據(jù)庫(kù)的組件;你也可以認(rèn)為SGA就像大腦,在必要時(shí)間接地調(diào)度手處理它們的信息與存儲(chǔ)檢索。SGA參與發(fā)生在數(shù)據(jù)庫(kù)中全部的信息和服務(wù)器的處理。單用戶的Oracle配置(例如PersonalOracleLite),不使用多進(jìn)程執(zhí)行數(shù)據(jù)庫(kù)的功能。相反,所有的數(shù)據(jù)庫(kù)功能由一個(gè)Oracle進(jìn)程完成。由于這個(gè)原因,單用戶也稱為單進(jìn)程Oracle。 1)創(chuàng)建一個(gè)Oracle實(shí)例(非安裝階段)。 2)由實(shí)例安裝數(shù)據(jù)庫(kù)(安裝階段)。 3)打開(kāi)數(shù)據(jù)庫(kù)(打開(kāi)階段)。 Oracle實(shí)例在數(shù)據(jù)庫(kù)啟動(dòng)的非安裝階段創(chuàng)建,當(dāng)數(shù)據(jù)庫(kù)經(jīng)過(guò)非安裝階段,讀取init.ora參數(shù)文件,啟動(dòng)后臺(tái)進(jìn)程,初始化系統(tǒng)全局區(qū)(SGA)。init.ora文件定義了實(shí)例的配置,包括內(nèi)存結(jié)構(gòu)的大小和啟動(dòng)后臺(tái)進(jìn)程的數(shù)量和類型等。實(shí)例名根據(jù)環(huán)境變量OracleSID設(shè)置,它不一定要與打開(kāi)的數(shù)據(jù)庫(kù)名稱相同(但是習(xí)慣上通常如此)。 下一階段稱為安裝階段。init.ora文件中的控制文件參數(shù)值決定數(shù)據(jù)庫(kù)的安裝實(shí)例。在安裝階段,讀取控制文件并使其成為可訪問(wèn)的,可以對(duì)控制文件內(nèi)存儲(chǔ)的數(shù)據(jù)進(jìn)行查詢和修改。 最后的階段就是打開(kāi)數(shù)據(jù)庫(kù)。在這一階段,其名字存儲(chǔ)在控制文件中的數(shù)據(jù)庫(kù)文件以排它使用方式被實(shí)例鎖定,使數(shù)據(jù)庫(kù)能夠被普通用戶訪問(wèn)。打開(kāi)是數(shù)據(jù)庫(kù)的正常操作狀態(tài)。在數(shù)據(jù)庫(kù)打開(kāi)之前,只有DBA能訪問(wèn)數(shù)據(jù)庫(kù),且只能通過(guò)服務(wù)器管理器對(duì)其進(jìn)行訪問(wèn)。 為了改變數(shù)據(jù)庫(kù)的操作狀態(tài),必須作為內(nèi)部連接到數(shù)據(jù)庫(kù),或擁有SYSDBA特權(quán)。當(dāng)數(shù)據(jù)庫(kù)從關(guān)閉狀態(tài)到打開(kāi)狀態(tài)時(shí),你可以明確地單步調(diào)試數(shù)據(jù)庫(kù)的每一個(gè)操作狀態(tài),但當(dāng)關(guān)閉數(shù)據(jù)庫(kù)時(shí),只能從當(dāng)前運(yùn)行狀態(tài)轉(zhuǎn)到完全關(guān)閉狀態(tài)。例如,可以在服務(wù)器管理器工具中執(zhí)行STARTUP NOMOUNT命令,這將使數(shù)據(jù)庫(kù)處在非安裝階段,接下來(lái)可以運(yùn)行ALTER DATABASE MOUNT或者運(yùn)行ALTER DATABASE OPEN命令以單步調(diào)試到操作階段。無(wú)論是在何種操作狀態(tài)下,如果執(zhí)行SHUTDOWN命令,將完全關(guān)閉數(shù)據(jù)庫(kù)。例如,數(shù)據(jù)庫(kù)不能從打開(kāi)狀態(tài)轉(zhuǎn)到安裝狀態(tài)。 沒(méi)有安裝數(shù)據(jù)庫(kù)的實(shí)例被稱為空閑的—它使用內(nèi)存,但不做任何工作。一個(gè)實(shí)例只能唯一地與一個(gè)數(shù)據(jù)庫(kù)連接源碼天空 ,而且除非使用并行服務(wù)器,否則對(duì)一個(gè)數(shù)據(jù)庫(kù)也只分配一個(gè)實(shí)例。實(shí)例是數(shù)據(jù)管理的核心—它做所有的工作,而數(shù)據(jù)庫(kù)存儲(chǔ)所有的數(shù)據(jù)。
設(shè)置方法如下:
1、找到$ORACLE_HOME/client_1/network/admin目錄下的tnsnames.ora文件,并用文本模式打開(kāi)。
2、添加以下內(nèi)容:
本地實(shí)例名=
(DESCRIPTION?=
(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?數(shù)據(jù)庫(kù)IP地址)(PORT?=?端口號(hào)))
(CONNECT_DATA?=
(SERVER?=?DEDICATED)
(SERVICE_NAME?=?服務(wù)名)
)
)
3、用PL/SQL客戶端工具登錄即可。
操作順序如下:
1.創(chuàng)建實(shí)例啟動(dòng)用的參數(shù)文件。在程序默認(rèn)的參數(shù)文件里修改即可:重命名規(guī)則 initSID.ora
/u01/oracle/product/11.2.0/db_1/dbs/ 下,目錄盡量使用絕對(duì)路徑,采用ORACLE_BASE等環(huán)境變量有可能報(bào)錯(cuò)。
例 initcrm.ora
db_name='crm' --修改
#memory_target=500m --注釋掉
sga_target=200m --添加
pga_aggregate_target=60m --添加
processes = 150
audit_file_dest='/u01/oracle/admin/crm/adump' --建立目錄
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/u01/oracle/flash_recovery_area' --建立目錄
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/oracle' ---修改
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
2.創(chuàng)建相應(yīng)目錄:
mkdir -p /u01/oracle/admin/ora11g/adump
mkdir -p /u01/oracle/admin/ora11g/dpdump
mkdir -p /u01/oracle/flash_recovery_area
3.創(chuàng)建密碼文件:命名規(guī)則 orapwSID,目錄依舊是 /u01/oracle/product/11.2.0/db_1/dbs/
Linux下orapw+實(shí)例名
Windows下pwd+實(shí)例名
$ orapwd file=orapwora11g password=oracle
4.創(chuàng)建數(shù)據(jù)庫(kù)實(shí)例
設(shè)置環(huán)境變量 export ORACLE_SID=crm
執(zhí)行以下命令
sqlplus /nolog
conn / as sysdba
注意:本處可能報(bào)錯(cuò)需要可能的原因: a)glibc-devel-2.5-58.el5_6.4、libaio-0.3.106-5包是否已安裝,命令分別為rpm -q glibc-devel、rpm -q libaio
b)oracle目錄權(quán)限不足或?qū)俳M不對(duì),chmod 6751 oracle 授權(quán)、chown -R oracle.oinstall /u01/oracle 修改屬組
執(zhí)行建庫(kù)腳本:
startup nomount pfile="/u01/oracle/product/11.2.0.1/db1/dbs/initcrm.ora";
CREATE DATABASE "crm"
MAXINSTANCES 8
MAXLOGHISTORY 1
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
DATAFILE '/u01/oracle/oradata/system01.dbf' SIZE 1024M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/u01/oracle/oradata/sysaux01.dbf' SIZE 500M REUSE
SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/u01/oracle/oradata/temp01.dbf' SIZE 20M REUSE
SMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE '/u01/oracle/oradata/undo01.dbf' SIZE 300M REUSE
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
LOGFILE GROUP 1 ('/u01/oracle/oradata/log01.dbf') SIZE 50M,
GROUP 2 ('/u01/oracle/oradata/log02.dbf') SIZE 50M,
GROUP 3 ('/u01/oracle/oradata/log03.dbf') SIZE 50M;
創(chuàng)建USERS表空間
CREATE SMALLFILE TABLESPACE "USERS" LOGGING DATAFILE '/u01/app/oradata/user01.dbf' SIZE 1000M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
ALTER DATABASE DEFAULT TABLESPACE "USERS";
------------------------------------------
SQL create spfile from pfile;
File created.
-----------------------------------------
sqlplus / as sysdba
SQL show user;
@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catalog.sql;
@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catblock.sql;
@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catproc.sql;
@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catoctk.sql;
@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/owminst.plb;
使用system用戶編譯
@/u01/oracle/product/11.2.0.1/db1/sqlplus/admin/pupbld.sql;
@/u01/oracle/product/11.2.0.1/db1/sqlplus/admin/help/hlpbld.sql helpus.sql;
使用sys用戶編譯
@/u01/oracle/product/11.2.0.1/db1/javavm/install/initjvm.sql;
@/u01/oracle/product/11.2.0.1/db1/xdk/admin/initxml.sql;
@/u01/oracle/product/11.2.0.1/db1/xdk/admin/xmlja.sql;
@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catjava.sql;
@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catexf.sql;
@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catqm.sql change_on_install SYSAUX TEMP YES;
@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catxdbj.sql;
@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catrul.sql;
spool /oracle/admin/edidb/scripts/ordinst.log append
@/u01/oracle/product/11.2.0.1/db1/ord/admin/ordinst.sql SYSAUX SYSAUX;
spool off
spool /u01/oracle/admin/ora11g/scripts/interMedia.log append
@/u01/oracle/product/11.2.0.1/db1/ord/im/admin/iminst.sql;
spool off
set echo on
spool /oracle/admin/edidb/scripts/lockAccount.log append
BEGIN
FOR item IN ( SELECT USERNAME FROM DBA_USERS WHERE ACCOUNT_STATUS IN ('OPEN', 'LOCKED', 'EXPIRED') AND USERNAME NOT IN (
'SYS','SYSTEM') )
LOOP
dbms_output.put_line('Locking and Expiring: ' || item.USERNAME);
execute immediate 'alter user ' ||
sys.dbms_assert.enquote_name(
sys.dbms_assert.schema_name(
item.USERNAME),false) || ' password expire account lock' ;
END LOOP;
END;
/
spool off
到此,數(shù)據(jù)庫(kù)實(shí)例建立完畢。
主要有兩種方法:1. 使用Oracle自帶的DBCA工具(推薦) 2. 通過(guò)自己寫腳本來(lái)創(chuàng)建(比較麻煩)
不同的操作系統(tǒng)平臺(tái),使用dbca的方法
如果你的操作系統(tǒng)是windows的話那比較好辦,因?yàn)樵诎惭boracle軟件的時(shí)候,他會(huì)自動(dòng)的把ORACLE_HOME , ORACLE_BASE 寫入系統(tǒng)環(huán)境變量里,所以你只需要在【開(kāi)始】- 【cmd】 在命令行里輸入:dbca 便可啟動(dòng)Oracle自帶的DBCA工具 (Database Configuration Assistant )
如果你的操作系統(tǒng)是Linux的話需要手動(dòng)在操作系統(tǒng)上
1)? su - oracle
2)vi .bash_profile? 編輯環(huán)境變量文件
3) 加入 ORACLE_HOME , ORACLE_BASE 目錄聲明
在ORACLE_HOME/bin 目錄下有個(gè)dbca命令,啟動(dòng)該命令就可以開(kāi)始安裝數(shù)據(jù)庫(kù)實(shí)例了
望采納哦~~?
創(chuàng)建oracle11g 數(shù)據(jù)庫(kù)方法:按住鍵盤上Windows鍵,打開(kāi)開(kāi)始菜單,找到Database Configuration Assitant并打開(kāi);
打開(kāi)數(shù)據(jù)庫(kù)配置助手Database Configuration Assitant,單擊“下一步”;
選擇“創(chuàng)建數(shù)據(jù)庫(kù)”,單擊“下一步”
選擇“一般用途或事務(wù)處理”,單擊“下一步”;
設(shè)置數(shù)據(jù)庫(kù)的名稱和實(shí)例名,兩者可設(shè)置相同,也可以不同,單擊“下一步”
管理選項(xiàng)配置,不勾選配置Enterprise Manager,單擊“下一步”;
數(shù)據(jù)庫(kù)身份證明,可以為不同的賬戶分別設(shè)置不同的管理口令,也可以為所有賬戶設(shè)置同一口令,單擊“下一步”;
數(shù)據(jù)庫(kù)文件所在位置,默認(rèn)存儲(chǔ)類型:文件系統(tǒng),存儲(chǔ)位置:使用模版中的數(shù)據(jù)庫(kù)文件位置,也可以自己指定存儲(chǔ)路徑,單擊“下一步”;
恢復(fù)配置,指定快速恢復(fù)區(qū);
數(shù)據(jù)庫(kù)內(nèi)容,根據(jù)需要,選擇是否添加示例方案,單擊“下一步”;
初始化參數(shù),設(shè)置內(nèi)存、字符集等,單擊“下一步”;
數(shù)據(jù)庫(kù)存儲(chǔ),控制文件、數(shù)據(jù)文件、重做日志文件位置設(shè)置,單擊“下一步”;
創(chuàng)建選項(xiàng),創(chuàng)建數(shù)據(jù)庫(kù),生成腳本,單擊“完成”,開(kāi)始創(chuàng)建數(shù)據(jù)庫(kù)。