oracle rdbms 占内存_027、Oracle数据库
1、數據庫相關概念
(1)什么是數據庫
所謂的數據庫其實就是數據的集合。用戶可以對集合中的數據進行新增、查詢、更新、
刪除等操作。數據庫是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、
與應用程序彼此獨立的數據集合。
(2)數據庫類型
分為關系型和非關系型
關系型: Oracle 、Mysql 、PostgreSQL 、DB2 、Microsoft SQL Server 、Microsoft Access
非關系型:Redis 、Mongodb 、Big Table
關系型數據庫與非關系型數據之間的區別
關系型數據庫的特點及優缺點:
特點:關系型數據庫最典型的數據結構是表,由二維表及其之間的聯系所組成的一個數據組織。支持事務一致特性。
優點:易于維護:都是使用表結構,格式一致;
使用方便:SQL 語言通用;
復雜操作:支持 SQL,可用于一個表以及多個表之間非常復雜的查詢;
缺點:性能差:讀寫性能比較差,尤其是海量數據的高效率讀寫,傳統關系型數據庫來 說,硬盤 I/O 是一個很大的瓶頸;
存儲方式不靈活:固定的表結構,靈活度稍欠;
非關系型數據庫的特點及優缺點:
特點:非關系型數據庫嚴格上不是一種數據庫,應該是一種數據結構化存儲方法的集合,可以是文檔或者鍵值對等。不支持事務一致特性。
優點:格式靈活:存儲數據的格式可以是 key,value 形式、文檔形式、圖片形式等等;
高擴展性:基于鍵值對,數據沒有耦合性,容易擴展;
速度快:無需經過 sql 層的解析,讀寫性能很高;
缺點:不支持 SQL:不提供 sql 支持,學習和使用成本較高;
不支持事務:無事務處理能力;
不支持復雜查詢:數據結構相對復雜,復雜查詢方面稍欠;
2、Oracle 入門
Oracle 數據庫
所有的關系型數據庫存儲數據的集合就是磁盤中的文件。Oracle 數據庫其實就是一組文
件的集合。Oracle 數據庫分別由:數據文件、控制文件、日志文件所構成。
數據文件(.DBF)
數據文件是一個二進制文件,是用于保存用戶應用程序數據和 Oracle 系統內部數據的
文件,這些文件在操作系統中就是普通的操作系統文件。Oracle 在創建表空間的同時會創建
數據文件。
控制文件(.CTL)
控制文件是一個二進制文件,它主要記錄數據庫的名稱、數據庫的數據文件存放位置等
信息。一個控制文件只能屬于一個數據庫。如果控制文件丟失,這數據庫就無法操作。
日志文件(.LOG)
日志文件在 Oracle 數據庫中分為重做日志(Redo Log File)文件和歸檔日志文件兩種。重
做日志文件是 Oracle 數據庫正常運行不可缺少的文件。重做日志文件主要記錄了數據庫操
作過程。用于備份和還原數據庫,以達到數據庫的最新狀態。
Oracle 實例
實例就是數據庫啟動后分配的內存和建立的后臺進程. 數據庫關閉后,物理上的文件還
存在,但實例(分配的內存和建立的進程)就沒有了
Oracle 實例與數據庫的關系
實例就是一組操作系統進程(或者是一個多線程的進程)以及一些內存。這些進程可以
操作數據庫;而數據庫只是一個文件集合(包括數據文件、臨時文件、重做日志文件和控制
文件)。
在任何時刻,一個實例只能有一組相關的文件(與一個數據庫關聯)。大多數情況下,
反過來也成立:一個數據庫上只有一個實例對其進行操作。
Oracle 版本說明
Oracle 8i
Oracle 9i
Oracle 10g
Oracle 11g
Oracle 12c
I:i 代表 Internet。8i 版本開啟對 Internet 的支持。所以,在版本號之后,添加了標識 i。
G:g 代表 Grid 網格。10g 加入了網格計算的功能,因此版本號之后的標識使用了字母
g。
C:c 代表云(cloud)計算設計。12c 版本表示對云計算的支持。
3、Oracle 的安裝與卸載
Oracle 安裝步驟
Oracle 卸載步驟
停用 oracle 服務,進入計算機管理,在服務中,找到 oracle 開頭的所有服務,右擊選擇
停止。
在開始菜單中找到 Oracle 安裝產品,點擊運行 Oracle 自帶的卸載程序 Universal Installer工具卸載。
開始菜單中,找到 Universal Installer,運行 Oracle Universal Installer,單擊卸載產品,在產品清單窗口中,單擊全部展開,除了 OraDb11g_home1 外,勾選其他項目,單擊刪除,根據軟件提示單擊下一步最終完成卸載。
刪除注冊表中 Oracle 相關項
在 命 令 窗 口 , 輸 入 regedit , 打 開 注 冊 表 , 依 次 展 開
HKEY_LOCAL_MACHINESOFTWARE,找到 oracle,刪除之。
依次展開 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 中,刪除所有oracle 開頭的項。
依 次 展 開 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplication,刪除所有 oracle 開頭的項。
擴展刪除(以下不是必須的注冊表刪除項),如果安裝不成功可以自己也把這些刪除了
在 HKEY_CLASSES_ROOT,刪除以 Ora、Oracle、Orcl 或 EnumOra 為前綴的鍵刪 除
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerMenuOrderStart MenuPrograms 中所有以 oracle 開頭的鍵。
刪 除 HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INI 中 除 Microsoft
ODBC for Oracle 注冊表鍵以外的所有含有 Oracle 的鍵。
右鍵點擊我的電腦-->屬性-->高級-->環境變量,刪除環境變量 ORACLE_HOME、
TNS_ADMIN 等環境變量,刪除 PATH 中等環境變量有關 Oracle 的設定的路徑信息。
打開資源管理器,在地址欄中輸入“%userprofile%「開始」菜單程序”回車,刪除安
裝的 Oracle 目錄。然后再到地址欄中輸入“%allusersprofile%「開始」菜單程序”回車,
刪除安裝的 Oracle 目錄。
重啟電腦。
4、Oracle 目錄結構與系統用戶
(1)Oracle 目錄結構
admin 目錄:記錄 Oracle 實例的配置,運行日志等文件。每個實例一個目錄。
cfgtoollogs 目錄:下面子目錄分別存放當運行 dbca,emca,netca 等圖形化配置程序時的 log。
checkpoints 目錄:存放檢查點文件
diag 目錄:Oracle11g 新添加的一個重組目錄。
flash_recovery_area(閃回區)目錄:閃回區:分配一個特定的目錄位置來存放一些特定的恢復文件,用于集中和簡化管理數據庫恢復工作。閃回區可存儲完全的數據文件備份、增量備份、數據文件副本、當前的控制文件、備份的控制文件、spfile 文件、快照控制文件、聯機日志文件、歸檔日志、塊跟蹤文件、閃回日志。
oradata 目錄:存放數據文件。
(2)數據庫中的文件介紹
CONTROL01.CTL :Oracle 數據庫的控制文件。
EXAMPLE01.DBF :Oracle 數據庫表空間文件。
REDO01.LOG:Oracle 數據庫的重做日志文件。
SYSAUX01.DBF:11g 新增加的表空間。主要存儲除數據字典以外的其他數據對象。由系統內部自動維護。
SYSTEM01.DBF:用于存放 Oracle 系統內部表和數據字典的數據。比如,表名、列名、用戶名等。
TEMP01.DBF:臨時表空間文件。
UNDOTBS01.DBF:撤銷表空間文件。用來保存回滾數據。
USERS01.DBF :用戶表空間。
product 目錄:Oracle RDBMS 的軟件存放目錄。RDBMS 即關系數據庫管理系統(Relational Database Management System)。
(3)Oracle 系統用戶
sys 用戶:sys 是 Oracle 中的超級賬戶,擁有的權限最大??梢酝瓿蓴祿斓乃泄芾砣蝿?。
system 用戶:沒有 sys 權限大,通常用來創建一些用戶查看管理信息的表或視圖。不建議使
用 system 用戶來創建一些與管理無關的表或者視圖。
二者在登錄時的區別
sys 和 system 在登錄 Oracle 時,sys 只能以系統管理員(sysdba)或系統操作員(sysoper)的權限登錄,而 system 可以直接登錄(normal)。
scott 用戶:是 oracle 提供的示例用戶,提供了一些學習 oracle 操作的數據表。如:emp、dept、salgrade、bonus 表
5、Oracle 的啟動與關閉
OracleServiceORCL(必須啟動):數據庫服務(數據庫實例),核心服務
OracleOraDb11g_home1TNSListener(必須啟動):監聽器服務
Oracle ORCL VSS Writer Service(非必須啟動) :Oracle 卷映射拷貝寫入服務
OracleDBConsoleorcl(非必須啟動):Oracle 數據庫控制臺服務
OracleJobSchedulerORCL(非必須啟動):Oracle 作業調度(定時器)服務,ORCL 是 Oracle 實例標識。
OracleMTSRecoveryService(非必須啟動) :服務端控制。
Oracle 關閉:只需要將服務停止即可。
6、Oracle 客戶端工具介紹
sys 用戶登錄命令: sys as sysdba|sysoper
system 用戶登錄命令:system
7、Oracle 第三方工具 PL/SQL Developer
安裝 PL/SQL Developer
安裝過程只需next即可,最后點擊finish按鈕完成安裝
Command Window
Sql Window
創建永久表空間命令
create tablespace 永 久 表 空 間 名 稱 datafile ' 永 久 表 空 間 物 理 文 件 位 置 ' size 15M autoextend on next 10M permanent online;
創建用戶
分配用戶權限
對象權限(Object privileges):對象權限是指在指定的表,視圖,序列上制定執行動作的權限或權利。
角色權限(Role privileges):角色是可以授予用戶的相關權限的組,該方法使權限的授予,撤回更加容易管理。
系統權限(System privileges) :為用戶分配創建表、創建用戶、創建視圖、創建存儲過程等權限。
分配鏈接權限
為當前用戶分配一個 connect 鏈接角色
分配系統權限
Oracle 的鏈接配置
文件位置:Oracle 目錄product11.2.0dbhome_1NETWORKADMIN
sqlnet.ora:名稱解析。通過這個文件來決定怎么樣找一個連接中出現的連接字符串。
tnsnames.ora:用在 oracle client 端,用戶配置連接數據庫的別名參數,就像系統中的 hosts 文件一樣。
<1>ORCL :客戶端連接服務器端使用的服務別名。注意一定要頂行書寫,否則會無法識別服務別名。
<2>PROTOCOL:客戶端與服務器端通訊的協議,一般為 TCP,該內容一般不用改。
<3>HOST:ORACLE 服務器端 IP 地址或者 hostname。確保服務器端的監聽啟動正常。
<4>PORT:數據庫偵聽正在偵聽的端口,此處 port 的值一定要與數據庫偵聽正在偵聽的端口一樣。
listener.ora :用在 oracle server 端,可配置 Oracle 的監聽端口
<1>LISTENER :監聽名稱,可以配置多個監聽,多個監聽的端口號要區分開來。
<2>PROTOCOL:監聽協議,一般都使用 TCP 。
<3>HOST:本機 IP 地址或者 localhostname。
<4>PORT:監聽的端口號。
8、Oracle 基本操作
Oracle 中的數據類型
字符類型:
字符串數據類型還可以依據存儲空間分為固定長度類型(CHAR) 和可變長度類型
(VARCHAR2/NVARCHAR2)兩種。
CHAR 類型:
CHAR 類型,定長字符串,會用空格填充來達到其最大長度。非 NULL 的 CHAR(12)
總是包含 12 字節信息。CHAR 字段最多可以存儲 2,000 字節的信息。如果創建表時,不指
定 CHAR 長度,則默認為 1。
VARCHAR2 類型 :
變長字符串,與 CHAR 類型不同,它不會使用空格填充至最大長度。VARCHAR2 最多
可以存儲 4,000 字節的信息。
NVARCHAR2 類型:
這是一個包含 UNICODE 格式數據的變長字符串。 NVARCHAR2 最多可以存儲 4,000
字節的信息。
數字類型:
NUMBER 類型:
NUMBER(P,S)是最常見的數字類型。
P 是 Precision 的英文縮寫,即精度縮寫,表示有效數字的位數,最多不能超過 38 個有
效數字。
S 是 Scale 的英文縮寫,表示小數點數字的位數。
INTEGER 類型:
INTEGER 是 NUMBER 的子類型,它等同于 NUMBER(38,0),用來存儲整數。若插
入、更新的數值有小數,則會被四舍五入。
浮點數:
BINARY_FLOAT 類型:
BINARY_FLOAT 是 32 位、 單精度浮點數字數據類型??梢灾С种辽?6 位精度,每個
BINARY_FLOAT 的值需要 5 個字節,包括長度字節。
BINARY_DOUBLE:
BINARY_DOUBLE 是為 64 位,雙精度浮點數字數據類型。每個 BINARY_DOUBLE
的值需要 9 個字節,包括長度字節。
日期類型 :
DATE 類型:
DATE 是最常用的數據類型,日期數據類型存儲日期和時間信息。雖然可以用字符或數
字類型表示日期和時間信息,但是日期數據類型具有特殊關聯的屬性。為每個日期值,Oracle
存儲以下信息: 世紀、 年、 月、 日期、 小時、 分鐘和秒。一般占用 7 個字節的存儲空間。
TIMESTAMP 類型:
這是一個 7 字節或 12 字節的定寬日期/時間數據類型。它與 DATE 數據類型不同,因為
TIMESTAMP 可以包含小數秒,帶小數秒的 TIMESTAMP 在小數點右邊最多可以保留 9 位。
TIMESTAMP WITH TIME ZONE 類型:
這是 TIMESTAMP 類型的變種,它包含了時區偏移量的值。
TIMESTAMP WITH LOCAL TIME ZONE 類型 :
將時間數據以數據庫時區進行規范化后進行存儲
LOB 類型:
CLOB 類型(Character Large Object):
二進制數據,存儲單字節和多字節字符數據。最大長度 4G。
BLOB 類型(Binary Large Object):
它存儲非結構化的二進制數據大對象,它可以被認為是沒有字符集語義的比特流,一般是圖像、聲音、視頻等文件。最大長度 4G。
NCLOB 數據類型:存儲 UNICODE 類型的數據 ,最大長度 4G。
LONG 類型:它存儲變長字符串(超長字符串)
LONG RAW 類型:能存儲 2GB 的原始二進制數據,可存放多媒體圖象聲音等。
RAW 類型:用于存儲二進制或字符類型數據,必須制定長度。
9、在 Oracle 中創建表
Oracle 表名命名規則
1.必須以字母開頭
2.長度不能超過 30 個字符
3.避免使用 Oracle 的關鍵字
4.只能使用 A-Z、a-z、0-9、_#$
使用帶有特殊符號的表名
Oracle 在創建表時,表名會自動轉換大寫。Oracle 對表名大小寫不敏感。
如果在定義表名時含有特殊符號,或者用小寫字母來定義表名則需要在表名兩側添加雙
引號。
10、數據庫中的約束
約束的作用
約束用于規定表中的數據規則,如果存在違反約束的數據行為,行為會被約束終止。
約束類型
主鍵約束(Primay Key Constraint):唯一性,非空性。
唯一約束 (Unique Constraint):唯一性,可以空,但只能有一個。
檢查約束 (Check Constraint):對該列數據的范圍、格式的限制(如:年齡、性別等)。
非空約束 (Not Null Constraint) :該列不允許包含空值。
外鍵約束 (Foreign Key Constraint) :需要建立兩表間的關系并引用主表的列。
11、數據庫中表關系
表與表之間一般存在三種關系,即一對一,一對多,多對多關系。
一對多 :
一對多關系是建立在兩張表之間的關系。一個表中的一條數據可以對應另一個表中的多
條數據。記住:外鍵永遠在多方。外鍵允許重復,允許含有空值。
T_CLASSROOM 表
T_STUDENT 表
一對一:
一對一關系是建立在一對多的基礎之上,外鍵可以在任何一方,需要讓外鍵一方具備唯
一約束。
T_USER 表
多對多 :
需要建立一個中間表,中間表里建立兩個列,然后需要用這兩個列作為這個表的聯合主
鍵,然后每個列在作為外鍵參照各自的表的主鍵
T_ORDER 表
T_ITEM 表
T_ORDER_ITEM 表
總結
以上是生活随笔為你收集整理的oracle rdbms 占内存_027、Oracle数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】if __name__
- 下一篇: c语言mysql自动重连接_c++操作m