oracle資料庫創建實例
A. 正在創建並啟動oracle實例 卡住了
在創建oracle資料庫的地方出現問題,刪除資料庫重新DBCA設置密碼的時候以字母開頭,不包含標點即可。以上是正在創建並啟動oracle實例卡住了解決方法。
B. Oracle資料庫怎麼添加新的實例
1.資料庫mybooks的創建。我用的是Oracle資料庫創建了mybooks資料庫,裡面含有books,lendRecord,returnRecord,users四個表格(在Oracle資料庫中,表空間與數據文件之間的關系十分密切,這二者相互依存,也就是說,創建表空間必須創建數據文件,增加數據文件時也必須指定表空間);到這里我不得不吐槽一下創建數據的時候的悲傷;第一步,因為可能裝sqldeveloper出現了一點問題,導致我不能連上Oracle,只能用搓逼的sqlplus寫入sql命令,勉勉強強創建了一個資料庫實例,接下來,本渣渣開始用select tablespace_name from user_tablespaces查看mybooks裡面的DBF文件,(因為渣渣認為 .DBF後綴的就是表空間的名稱,還有就是,我連接的資料庫實例是用system/******連接的是oracle默認的orcl資料庫實例
C. Oracle新建資料庫
Oracle新建資料庫可以參考以下操作方法:
1、首先點擊桌面左下角的開始圖標;
D. Oracle資料庫實例及其相關概念
完整的Oracle資料庫通常由兩部分組成 Oracle資料庫實例和資料庫
)資料庫是一系列物理文件的集合(數據文件 控制文件 聯機日誌 參數文件等)
)Oracle資料庫實例則是一組Oracle後台進程/線程以及在伺服器分配的共享內存區
在啟動Oracle資料庫伺服器時 實際上是在伺服器的內存中創建一個Oracle實例(即在伺服器內存中分配共享內存並創建相關的後台內存) 然後由這個Oracle資料庫實例來訪問和控制磁碟中的數據文件 Oracle有一個很大的內存快 成為全局區(SGA)
一 資料庫 表空間 數據文件
資料庫
資料庫是數據集合 Oracle是一種資料庫管理系統 是一種關系型的資料庫管理系統
通常情況了我們稱的 資料庫 並不僅指物理的數據集合 他包含物理數據 資料庫管理系統 也即物理數據 內存 操作系統進程的組合體
資料庫的數據存儲在表中 數據的關系由列來定義 即通常我們講的欄位 每個列都有一個列名 數據以行(我們通常稱為記錄)的方式存儲在表中 表之間可以相互關聯 以上就是關系模型資料庫的一個最簡單的描述
當然 Oracle也是提供對面象對象型的結構資料庫的最強大支持 對象既可以與其它對象建立關系 也可以包含其它對象 關於OO型資料庫 以後利用專門的篇幅來討論 一般情況下我們的討論都基於關系模型
表空間 文件
無論關系結構還是OO結構 Oracle資料庫都將其數據存儲在文件中 資料庫結構提供對數據文件的邏輯映射 允許不同類型的數據分開存儲 這些邏輯劃分稱作表空間
表空間(tablespace)是資料庫的邏輯劃分 每個資料庫至少有一個表空間(稱作SYSTEM表空間) 為了便於管理和提高運行效率 可以使用一些附加表空間來劃分用戶和應用程序 例如 USER表空間供一般用戶使用 RBS表空間供回滾段使用 一個表空間只能屬於一個資料庫
每個表空間由同一磁碟上的一個或多個文件組成 這些文件叫數據文件(datafile) 一個數據文件只能屬於一個表空間 在Oracle 以後 數據文件創建可以改變大小 創建新的表空間需要創建新的數據文件 數據文件一旦加入到表空間中 就不能從這個表空間中移走 也不能與其它表空間發生聯系
如果資料庫存儲在多個表空間中 可以將它們各自的數據文件存放在不同磁碟上來對其進行物理分割 在規劃和協調資料庫I/O請求的方法中 上述的數據分割是一種很重要的方法
Oracle資料庫的存儲結構分為邏輯存儲結構和物理存儲結構
)邏輯存儲結構 用於描述Oracle內部組織和管理數據的方式
)物理存儲結構 用於描述Oracle外部即操作系統中組織和管理數據的方式
二 Oracle資料庫實例
為了訪問資料庫中的數據 Oracle使用一組所有用戶共享的後台進程 此外 還有一些存儲結構(統稱為System Gloabl Area 即SGA) 用來存儲最近從資料庫查詢的數據 數據塊緩存區和SQL共享池(Shared SQL Pool)是SGA的最大部分 一般佔SGA內存的 %以上 通過減少對數據文件的I/O次數 這些存儲區域可以改善資料庫的性能
Oracle資料庫實例(instance)也稱作伺服器(server) 是用來訪問資料庫文件集的存儲結構及後台進程的集合 一個資料庫可以被多個實例訪問(這是Oracle並行伺服器選項)
lishixin/Article/program/Oracle/201311/17362
E. oracle11g怎麼建立實例資料庫
操作順序如下:
1.創建實例啟動用的參數文件。在程序默認的參數文件里修改即可:重命名規則 initSID.ora
/u01/oracle/proct/11.2.0/db_1/dbs/ 下,目錄盡量使用絕對路徑,採用ORACLE_BASE等環境變數有可能報錯。
例 initcrm.ora
db_name='crm' --修改
#memory_target=500m --注釋掉
sga_target=200m --添加
pga_aggregate_target=60m --添加
processes = 150
audit_file_dest='/u01/oracle/admin/crm/amp' --建立目錄
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.創建相應目錄:
mkdir -p /u01/oracle/admin/ora11g/amp
mkdir -p /u01/oracle/admin/ora11g/dpmp
mkdir -p /u01/oracle/flash_recovery_area
3.創建密碼文件:命名規則 orapwSID,目錄依舊是 /u01/oracle/proct/11.2.0/db_1/dbs/
Linux下orapw+實例名
Windows下pwd+實例名
$ orapwd file=orapwora11g password=oracle
4.創建資料庫實例
設置環境變數 export ORACLE_SID=crm
執行以下命令
sqlplus /nolog
conn / as sysdba
注意:本處可能報錯需要可能的原因: a)glibc-devel-2.5-58.el5_6.4、lio-0.3.106-5包是否已安裝,命令分別為rpm -q glibc-devel、rpm -q lio
b)oracle目錄許可權不足或屬組不對,chmod 6751 oracle 授權、chown -R oracle.oinstall /u01/oracle 修改屬組
執行建庫腳本:
startup nomount pfile="/u01/oracle/proct/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;
創建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/proct/11.2.0.1/db1/rdbms/admin/catalog.sql;
@/u01/oracle/proct/11.2.0.1/db1/rdbms/admin/catblock.sql;
@/u01/oracle/proct/11.2.0.1/db1/rdbms/admin/catproc.sql;
@/u01/oracle/proct/11.2.0.1/db1/rdbms/admin/catoctk.sql;
@/u01/oracle/proct/11.2.0.1/db1/rdbms/admin/owminst.plb;
使用system用戶編譯
@/u01/oracle/proct/11.2.0.1/db1/sqlplus/admin/pupbld.sql;
@/u01/oracle/proct/11.2.0.1/db1/sqlplus/admin/help/hlpbld.sql helpus.sql;
使用sys用戶編譯
@/u01/oracle/proct/11.2.0.1/db1/javavm/install/initjvm.sql;
@/u01/oracle/proct/11.2.0.1/db1/xdk/admin/initxml.sql;
@/u01/oracle/proct/11.2.0.1/db1/xdk/admin/xmlja.sql;
@/u01/oracle/proct/11.2.0.1/db1/rdbms/admin/catjava.sql;
@/u01/oracle/proct/11.2.0.1/db1/rdbms/admin/catexf.sql;
@/u01/oracle/proct/11.2.0.1/db1/rdbms/admin/catqm.sql change_on_install SYSAUX TEMP YES;
@/u01/oracle/proct/11.2.0.1/db1/rdbms/admin/catxdbj.sql;
@/u01/oracle/proct/11.2.0.1/db1/rdbms/admin/catrul.sql;
spool /oracle/admin/edidb/scripts/ordinst.log append
@/u01/oracle/proct/11.2.0.1/db1/ord/admin/ordinst.sql SYSAUX SYSAUX;
spool off
spool /u01/oracle/admin/ora11g/scripts/interMedia.log append
@/u01/oracle/proct/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
到此,資料庫實例建立完畢。
F. oracle為什麼創建實例,為何通過實例來訪問數據,這樣有什麼優點嗎
實例是一組內存緩沖區和後台進程的集合,用於管理資料庫中的文件。用戶對數據的所有訪問是在實例中的內存結構中進行。
通過實例訪問數據的優點有:
數據位於內存中,用戶對內存的讀寫速度遠高於對磁碟的讀寫速度,只要數據還在內存中,用戶隨後對數據的訪問都將在內存中進行;
內存中的數據可以在多個用戶之間共享,用戶事務在內存中對數據加鎖,從而提高了數據訪問的並發性。
G. oracle中如何新建一個資料庫
1、首先點擊桌面左下角的開始菜單按鈕在打開的選擇窗口中找到圖中的選項,點擊打開窗口界面即可。
H. windows下怎麼創建oracle的實例
創建oracle11g 資料庫方法:按住鍵盤上Windows鍵,打開開始菜單,找到Database Configuration Assitant並打開;
打開資料庫配置助手Database Configuration Assitant,單擊「下一步」;
選擇「創建資料庫」,單擊「下一步」
選擇「一般用途或事務處理」,單擊「下一步」;
設置資料庫的名稱和實例名,兩者可設置相同,也可以不同,單擊「下一步」
管理選項配置,不勾選配置Enterprise Manager,單擊「下一步」;
資料庫身份證明,可以為不同的賬戶分別設置不同的管理口令,也可以為所有賬戶設置同一口令,單擊「下一步」;
資料庫文件所在位置,默認存儲類型:文件系統,存儲位置:使用模版中的資料庫文件位置,也可以自己指定存儲路徑,單擊「下一步」;
恢復配置,指定快速恢復區;
資料庫內容,根據需要,選擇是否添加示例方案,單擊「下一步」;
初始化參數,設置內存、字元集等,單擊「下一步」;
資料庫存儲,控制文件、數據文件、重做日誌文件位置設置,單擊「下一步」;
創建選項,創建資料庫,生成腳本,單擊「完成」,開始創建資料庫。
I. oracle 如何在一個資料庫創建多個實例
首先「創建資料庫的時候起不同的名字」不是一個資料庫對應多個實例,概念不清~
如果就你的問題來看,你可以查閱關於Oracle rac 的信息,例如:雙節點rac 就是一個資料庫對應2個實例的情況;
嚴格的說:一個Oracle服務,只包括一個Oracle實例和一個資料庫(不考慮雙機並行等這樣的情況)。但是一個實例 只能 對應一個資料庫,一個資料庫有 可能 對應多個實例。除了並行O r a c l e伺服器,否則 每個O r a c l e資料庫都有一個實例與之相關,一個資料庫被唯一的一個實例裝載。