標籤:uname including 刪除資料表空間 範圍 世紀 pad demo col sel
Oracle基本理論
l 主流資料庫
微軟公司:SQL Server ACCESS
IBM公司:DB2 infomix
Oracle公司:Oracle MySQL(AB公司)
小型資料庫 ACCESS FoxBase 開發人數:100人 訪問量:10人/秒 開發成本:1000元 |
中型資料庫 SQL Server My SQL Infomix 開發人數:1000人 訪問量:500人/秒 開發成本:10000元 |
大型資料庫 Oracle DB2 開發人數:3.6萬 訪問量:海量 開發成本:無上限 |
l 資料庫發展史
層次型資料庫網路型資料庫
關係型資料庫:
1970年 IBM公司研究員E.F.Codd博士奠定了關係型資料庫的理論基礎
1978年Oracle公司CEO 拉裡.艾利森開發了第一個商用大型關係型資料庫 Oracle
1983年 IBM公司推出DB2
l Oracle版本
Oracle9i(internet互連網)-Oracle10g(grid網格化)-Oracle11g-Oracle12c(Cloud雲) |
l Oracle平台工具
l Oracle服務 services.msc
OracleXXXXXXTNSListener—第三方工具監聽服務:1521 |
OracleServiceXXXX-核心服務(物理運行結構-SGA XXXX執行個體資料庫) |
l Oracle賬戶
n 系統賬戶
u sys 角色:sysdba 主人可以create database
u system 角色:sysoper大管家不可以create database
u scott角色:normal 執行個體使用者大管家給他什麼許可權,他就有什麼許可權
切換一個賬戶:
Conn scott/123456 Conn 使用者名稱/密碼 |
查看SCOTT使用者下表的資料字典:
查看SCOTT使用者下的表內容:
Select * from emp; Select * from 表名 |
l 自訂賬戶 conn system/123456;
建立賬戶 |
--建立一個使用者 createuser rose identified by123456 |
修改賬戶 |
--修改一個使用者的密碼 alter user rose identified by 123456; --解鎖一個使用者 alter user rose account unlock; --修改使用者向資料表空間插入資料的限制 alteruser rose quota 1m on users |
賬戶授權 |
--授予連結資料庫的許可權 grant create session to rose; grant createtableto rose; grant create session ,createtableto rose |
刪除賬戶 |
drop user rose; ORA-01940: 無法刪除當前串連的使用者 select username,sid,serial# from v$session; alter system kill session ‘8,836‘; ORA-01922: 必須指定 CASCADE 以刪除 ‘ROSE‘ drop user rose cascade; |
建立表 |
????? |
l 許可權
n 系統許可權select * from system_privilege_map;
文法:
授權:grant 系統許可權|角色|ALL to 使用者
撤銷許可權:revoke系統許可權|角色|ALLfrom使用者
n 對象許可權select * from table_privilege_map;
文法:
授權:grant 對象許可權|ALL on 對象 to 使用者
撤銷許可權:revoke對象許可權|ALL on 對象 from 使用者
案例一:學生管理系統student(stuno integer, stuname varchar2(10),stuBir date,stuSex char(3) );
步驟一:建立一個資料表空間
l --建立一個資料表空間 create tablespace demoschool datafile ‘D:/demoschool.dbf‘ size 5m autoextend on |
步驟二:建立一個執行個體賬戶,管理資料表空間
create user lily identified by 123456 default tablespace demoschool; alteruser lily identified by123456default tablespace demoschool |
步驟三:授予執行個體賬戶系統許可權
驟四:登入這個賬戶
步驟五:建立student表
步驟六:表中插入2條資料
步驟七:查詢學生名字
步驟八:修改學生資訊
步驟九:刪除學生
步驟十:把表刪除
執行實體路徑中的sql指令碼
@ D:/school.sql Start D:/school.sql |
刪除資料表空間
drop tablespace demoschool; --連硬碟中的物理檔案一起刪除 drop tablespace demoschool including contents and datafiles; |
Oracle資料庫的主要資料類型
一字串類型
Char 固定長度字元CHAR欄位最多可以儲存2,000位元組的資訊。
VARCHAR2類型可變長度類型VARCHAR2最多可以儲存4,000位元組的資訊。
二. 數字類型
NUMBER(P,S)是最常見的數字類型,可以存放資料範圍為10^130~10^126(不包含此值),需要1~22位元組(BYTE)不等的儲存空間。
P 是Precison的英文縮寫,即精度縮寫,表示有效數位位元,最多不能超過38個有效數字
S是Scale的英文縮寫,可以使用的範圍為-84~127。Scale為正數時,表示從小數點到最低有效數位位元,它為負數時,表示從最大有效數字到小數點的位元
INTEGER類型INTEGER是NUMBER的子類型,它等同於NUMBER(38,0),用來儲存整數。若插入、更新的數值有小數,則會被四捨五入。
FLOAT類型FLOAT類型也是NUMBER的子類型。
Float(n),數 n 指示位的精度,可以儲存的值的數目。N 值的範圍可以從 1 到 126。若要從二進位轉換為十進位的精度,請將 n 乘以 0.30103。要從十進位轉換為二進位的精度,請用 3.32193 乘小數精度。126 位二進位精度的最大值是大約相當於 38 位小數精度。
三. 日期類型
DATE是最常用的資料類型,日期資料類型儲存日期和時間資訊。雖然可以用字元或數字類型表示日期和時間資訊,但是日期資料類型具有特殊關聯的屬性。為每個日期值,Oracle儲存以下資訊:世紀、年、月、日期、小時、分鐘和秒。一般佔用7個位元組的儲存空間。
TIMESTAMP類型
這是一個7位元組或12位元組的定寬日期/時間資料類型。它與DATE資料類型不同,因為TIMESTAMP可以包含小數秒,帶小數秒的TIMESTAMP在小數點右邊最多可以保留9位
四. LOB類型
CLOB 資料類型
它儲存單位元組和多位元組字元資料。支援固定寬度和可變寬度的字元集。CLOB對象可以儲存最多 (4 gigabytes-1) * (databaseblock size) 大小的字元
BLOB 資料類型
它儲存非結構化的位元據大對象,它可以被認為是沒有字元集語義的位元流,一般是映像、聲音、視頻等檔案。BLOB對象最多儲存(4 gigabytes-1) * (database blocksize)的位元據。
五. RAW & LONG RAW類型
LONG類型它儲存變長字串,最多達2G的字元資料(2GB是指2千MB,而不是2千兆字元),與VARCHAR2或CHAR 類型一樣,儲存在LONG 類型中的文本要進行字元集轉換。
2017-10-31 18:30:59
Oracle 筆記(一)