標籤:oracle
1、Oracle的Windows服務和連接埠
1.1、Oracle的Windows服務
Oracle安裝完成之後,會在Windows中註冊大概7個服務。
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/86/EE/wKiom1fO30mj0YxqAACNwG644hI512.png" title="001.PNG" alt="wKiom1fO30mj0YxqAACNwG644hI512.png" />
Oracle 資料庫是一個龐大的軟體. 啟動它會佔有大量的記憶體和 CPU 資源,特別是OracleServiceORCL服務非常耗時,建議改成手工啟動。 至於其它Oracle服務,不限。
啟動如下二個服務:【OracleServiceORCL(設定為手動啟動)和OracleOraDb11g_home1TNSListener(設定為自動啟動連接埠1521)】 類似於MySQL中的:use 資料庫名,即use orcl; 即啟動當前資料庫名:orcl
|
1.2、Oracle的連接埠
oracle資料庫的主連接埠:1521,通常固定不變。
前提是:開機時要啟動"OracleOraDb11g_home1TNSListener"服務
window7/8中,查詢連接埠的命名:netstat -a
2、Oracle伺服器、資料庫和執行個體
一個 Oracle 伺服器:是一個關聯式資料庫管理系統(RDBMS),它提供全面的, 近乎完整的資訊管理。
由Oracle 執行個體和Oracle 資料庫組成
Oracle伺服器由兩大部分組成:Oracle 資料庫 和 Oracle 執行個體。
Oracle資料庫: 位於硬碟上實際存放資料的檔案, 這些檔案組織在一起, 成為一個整體, 即為 Oracle 資料庫. 因此在 Oracle 看來, “資料庫” 是指硬碟上檔案的集合, 必須要與記憶體裡執行個體合作, 才能對外提供資料管理服務。
Oracle 執行個體: 位於記憶體裡,它由一個共用的記憶體池和多個進程所組成, 共用的記憶體池可以被所有進程訪問. 使用者如果要存取資料庫(也就是硬碟上的檔案) 裡的資料, 必須通過執行個體才能實現, 不能直接讀取硬碟上的檔案。
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/86/EE/wKiom1fO4PfiZLr1AAGpawrndxY546.png" title="003.PNG" alt="wKiom1fO4PfiZLr1AAGpawrndxY546.png" />
oracle資料庫伺服器由二部份組成 (A)執行個體:理解為對象,看不見的 (B)資料庫:理解為類,看得見的,D:\Software\OracleDB\oradata\orcl\*.DBF
三個目錄: (1)Oracle基目錄:D:\Software\OracleDB (2)軟體位置:D:\Software\OracleDB\product\11.2.0\dbhome_1 (3)資料庫檔案位置:D:\Software\OracleDB\oradata
|
2.1、Oracle伺服器與orcl資料庫的關係
一個oracle資料庫伺服器中包括多個資料庫,例如:orcl,orm,oa,bbs,tax,erp等等
在D:\Software\OracleDB\oradata\目錄下,有多少個檔案夾,就有多少個資料庫,例如:orcl檔案夾=orcl資料庫
我們向資料庫中儲存的所有資料庫,最終都會存放在對應庫的*.DBF檔案中,以二進位壓縮形式存放。
注意:我們在安裝oracle時,已經建立好了一個資料庫,預設名叫orcl,除非你當時改了資料庫名字。
650) this.width=650;" src="http://s5.51cto.com/wyfs02/M02/86/ED/wKioL1fO4IzwXGEBAABmU0OQ-Po459.png" title="002.PNG" alt="wKioL1fO4IzwXGEBAABmU0OQ-Po459.png" />
2.2、Oracle執行個體訪問工具:sqlplus和sqldeveloper
sqlplus是oracle11g內建的一個用戶端控制台工具,該工具可以串連到某個資料庫的執行個體上,從而操作資料庫
sqldeveloper是oracle11g內建的一個用戶端圖形介面工具,該工具可以串連到某個資料庫的執行個體上,從而操作資料庫
如果不喜歡這二款用戶端工具,可以上網下載第三方的用戶端工具。
3、OracleSQL和SQL92/99的關係
(1)第四代語言:SQL【結構化查詢語言 (SQL),面向關係的】
第一代:機器語言
第二代:彙編
第三代:C/C++/C#/Java/VB/...
第四代:SQL
(2)SQL92/【99】標準的四大分類
(A)DML(資料操縱語言):select,insert,update,delete
(B)DDL(資料定義語言 (Data Definition Language)):create table,alter table,drop table,truncate table等
(C)DCL(資料控制語言):grant 許可權 to scott,revoke 許可權 from scott 。。。
(D)TCL(事務控制語言):commit,rollback,rollback to savepoint 。。。
(3)OracleSQL與SQL92/99的關係
SQL92/99標準,訪問任何關係型資料庫的標準
OracleSQL語言,只訪問Oracle資料庫伺服器的專用語言
(4)Java技術和OracleSQL的關係
JDBC-->使用OracleSQL文法-->Oracle伺服器--->orcl資料庫-->表-->記錄
Hibernate-->使用OracleSQL文法-->Oracle伺服器
MyBatis-->使用OracleSQL文法-->Oracle伺服器
4、使用SQLPLUS工具
登入Oracle伺服器有兩種方法:
A)使用者名稱+角色
B)使用者名稱+密碼
Oracle存在一個超級管理員,使用者名稱為sys,角色為dba。
(1)使用用戶端sqlplus工具進入與退出orcl資料庫
------以超級管管理員角色進入
c:/>sqlplus / as sysdba
sql>exit
------以普通使用者進入
c:/>sqlplus scott/tiger
sql>exit
注意:我們通常以普通使用者的身份進入。
(2)解鎖使用者和設定密碼
以sys超級使用者名稱,dba角色,即超級管理員身份解鎖scott方案/使用者,並為scott設定一個密碼為tiger
解鎖使用者:alter user scott account unlock;
設定密碼:alter user scott identified by tiger;
普通使用者scott
密碼tiger
5、編碼和儲存
在Oracle資料庫中,一個漢字使用GBK編碼佔用2個位元組;使用UTF-8編碼佔用3個位元組。
6、Oracle的優點
優點:
(1)失敗轉移
(2)Server Load Balancer
理解失敗轉移和Server Load Balancer概念
失敗轉移:一個群集中的某個oracle伺服器壞掉,應該讓該台oracle伺服器上的使用者轉移到其它的幾台oracle伺服器上。這個過程對使用者來說,無需知道
Server Load Balancer:多個使用者來並發訪問時,叢集內的oracle伺服器共同承擔使用者並發訪問的壓力,但不一定是平均分配
上述二個概念,不光出現在資料庫領域,也能出現在WEB伺服器領域
Oracle系列:(3)Oracle預備知識