Oracle入门(一)之入门级知识详解
轉載自?Oracle入門級知識詳解
一.?Oracle基本介紹
1. 什么時候用Oracle數據庫?
SQL SERVER 號稱百萬級數據(一個表的數據),但是其實做多20萬條數據
超過20萬條數據就用Oracle
2. Oracle的版本
Oracle8i/9i(internet)基于網絡的;
Oracle10g/11g基于網絡,oracle10g/11g (grid)基于網格的,它的客戶端就是個web程序了,可以在IE里打開的:oracle->Database Control - orcl點下就會在IE中打開,如果找不到地址就是沒開動OracleDBConsoleorcl服務(DBC控制器),該功能就相當于SQL Server;
orcale12c;
3. Oracle 12c --oracle 11g的升級版,應用服務器方面,很炫,但對初學者來說,然并卵
4.
二.啟動的服務
1.//oracle核心服務
OracleServiceORCL
2. //oracle監聽服務
OracleOraDb11g_home1TNSListener
3.//oracle數據庫工作日程調度,沒有工作日程安排不用啟動,占資源
OracleJobSchedulerORCL
二.?Oracle默認的賬戶scott
密碼:tiger(安裝時設置)
他下面存在幾個常用的表:emp,dept,salgrade等表
三.Sql與Oracle最大的不同:
Sql中可以隨時隨意的創建數據庫;
但Oracle只有一個數據庫,一臺電腦只會安裝一個數據庫。
Oracle只有創建賬戶,
四.賬戶、表空間、數據庫
案例:兩個同學創建2個不同的數據庫
這兩個同學都要在Oracle中找自己的數據庫,剛說了一個Oracle只有一個數據庫,怎么辦?為兩個同學各創建一個賬戶,給賬戶開辟數據庫空間----表空間(TableSpace)。
表空間代替了數據庫,創建數據庫就是開辟賬戶空間。
注意:Oracle為A賬戶開辟個空間,為B賬戶開辟個空間,請問A和B是不是在用同一個數據庫?
不同賬號之間能不能互訪?
同一個數據庫;不能互訪,除非開了訪問權限
五.?創建數據庫和賬戶
數據庫
物理的:數據庫文件.dbf; 日志文.log; 控制文件.ctl;
虛擬的:表空間(可以用戶開辟)
問先創建表空間還是賬戶?
答:先創建表空間,再給用戶
關于賬戶
Sys、system管理員賬戶,在裝軟件時就已分配好的,因此可以用這賬戶開辟空間。
Scott(釋放賬戶:給我們看和用的)密碼是tiger。
注意:千萬不要去改這賬戶和密碼,全球都是一樣的。(最好不要改,以防裝逼失敗,無法進入數據庫)
關于賬戶登錄
可以用sys或system管理員賬號登錄,也可以用scott賬戶登錄
1.在開始菜單中選擇oracle目錄--應用程序開發--sql plus
2.在cmd狀態下,直接通過命令sqlplus來登錄。
當然cmd下的用戶界面差,我們用PL-SQL第三方來操作oracle,但是不能說sqlplus就不用了,以后在unix下面就只能用sqlplus寫代碼,比較悲催
思考:
A.管理員賬戶可以調用一般賬戶的表嗎?
select * from scott.emp;
答:可以
B.一般賬戶可以調一般賬戶的表嗎?
答:授權之后才可以訪問
C.代表代碼寫完的標志是?
‘;’,用分號代表代碼寫完了,可以執行
D.模式是什么?
模式是賬戶的另一個名稱
比如scott就是一個賬戶,比如其它的對象就是個模式
每個對象都是個模式
六.創建表空間
基于應用性能和管理方面的考慮,最好為不同的用戶創建獨立的表空間。
創建表空間的語法:
create tablespace 表空間名
例:
Create tablespace ts_1
Datafile ’e:111.dbf’ --數據庫文件地址
Size 100M --文件初始值大小
--只要以上三行就行了
autoextend on next 32 maxsize unlimited
logging
extent management local
segment space management auto;
七. My Objects(我的對象)
Functions 函數-
Procedures 存儲過程-
Packages 包-
Package bodies 包體-
Types 類型-
Type bodies 類型體-
Triggers 觸發器-
Java?sources
Jobs 工作
Queues 隊列
Queue table 隊列表格
Libraries
Directories
Tables 表格-
Views 視圖-
Materialized views
Sequences 序列-
Users 用戶-
Profiles 控制文件-
Reles 角色-
Synonyms 同義詞-
Database links
Tablespaces 表空間-
Clusters
八.給表空間分配賬戶,給賬戶角色授權
1.首先創建賬戶,指定訪問表空間,但是未給它賦值任何權限,登錄時是等不了的!
Create user 用戶名
identified by 123
Default tablespace 表空間 --指定改用戶管理的表空間
案例:create user u_dml
identified by 123
Default tablespace ts_1
2.給賬戶授予角色
(把賬戶和角色分清楚)
角色:李鵬飛是個學生 角色:學生
賬戶:李鵬飛是個學生 賬戶:李鵬飛
角色分類:
Connect:臨時用戶角色
Resource:正式用戶角色
DBA:管理員(一般不用)
授予角色:
Grant connect , resource to 賬戶
撤銷角色:
Revoke connect,resource from 賬戶
刪除(撤銷)用戶:
DROP USER 用戶名
DROP user 用戶名 CASCAED
--CASCAED表示刪除用戶的同時刪除其建立的實體
操作授權:
案例:將查詢scott用戶的stu表的權限授予test用戶
Grant select on scott.stu to test
九.建表
建的表都在tables里面
兩種建表方式:
1.視圖
2.代碼
Create table tb_1(
Sid number, --int類型用number
Sname varchar2(20) --沒有varchar
Sex varchar2(4)
);
表中的約束寫法
PK
FK
default
unique
check
not null
--查看表中的數據
Select *from tb_1;
問:Orecle中有沒有表示列?
oracle沒有表示列,不過有一個替代品(觸發器+序列)
--插入數據
Insert into tb_1(sid,sname,sex)
Values(10,’張天’,’男’)
--視圖版的創建表
--視圖版的添加表:
右擊Tables--新建--主鍵:在鍵里,名稱自己取,類型primary,選定哪個列做主鍵,聯合主鍵就選兩個,請問有幾個主鍵?1個主鍵,多個聯合主鍵
刪除列:右側的減號
--怎么把建表的腳本給我?
右下角--view SQL
--建完表后點“應用”
--指定表和字段的注釋
COMMENT ON TABLE PET IS ‘寵物’;
COMMENT on COLUMN pet.name is’寵物昵稱’
注意:不要物理刪除硬盤上的dbf文件,oracle啟動時到時找不到文件,oracle也啟動不了,需要重裝oracle。
刪用戶:
Drop user 用戶名;
刪表空間:
Drop tablespace 表空間;
視圖也可以刪,但別去無聊操作,要用就用代碼。
?
?
?
總結
以上是生活随笔為你收集整理的Oracle入门(一)之入门级知识详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GoDaddy vs Bluehost的
- 下一篇: 漫画:什么是拜占庭将军问题