一、Oracle初識
1、oracle監聽配置 ----> 作用:類似於Mysql的連接
a、"開始" --> "所有程序" --> "Oracle..." --> "配置和移植工具" --> "Net manager"
b、Oracle Net配置" --> "本地" --> "服務命名" --> "+"
選項卡表單:網絡服務名: 連接時顯示的數據庫名 ---> 類似於別名
通常是tcp/Ip協議
主機名和端口 ---> 主機名爲Ip地址,端口默認1521
服務名 ---> 要連接的數據庫(一個oracle可以配置多個實例,擁有多個數據庫)
c、Oracle Net配置" --> "本地" --> "監聽程序" --> "+" --> "添加地址" -->
填寫地址表單(主機和端口) ---> 等價於Mysql連接表單 中的 主機和阜
端口 ---> mysql:3306
---> oracle:1521
---> sqlserver:1433
d、工具欄 ---> "文件" ---> "保存網絡設置"
注:一個orcale實例分一個oracleserviceorcl 和 一個監聽 oracleoradb10g_home......listener;
所以配置時,需要先配置一個oracle服務和一個監聽 第二步配置服務 第三部配置監聽
2、Oracle數據庫結構
a、所有的數據庫都有實例 ---> Sqlserver 我們使用的是默認實例
Mysql 使用的也是默認實例(就是mysql安裝完後 後面那些配置:比如日本語,classpath,賬戶密碼)
數據庫的實例 我當前的理解是一個工作空間配置信息的集合。
就像Myeclipse的配置一樣,每個工作空間有自己的配置, 並且可擁有多個工作空間(我們平常使用的默認工作空間); 數據庫也是一樣可以擁有多個實例.
b、Oracle 每個實例只有一個數據庫 默認數據庫爲orcl
c、表空間 ---> Oracle獨立提出概念,即多個表的集合 ====> 其他數據庫的 數據庫概念
d、Object ---> 跟其他數據庫一樣,就是表空間組成的對象,比如:表,視圖,索引,存儲工程,函數.......
注:oracle認爲以數據庫爲單位,浪費資源.所以將數據庫分成多個表空間,在按角色-權限分配給用戶使用
3、Oracle角色-權限-用戶 ----> 三者關係參考bug系統,一樣
a、角色:一些權限的集合 ---> 職位
b、權限:功能的映射(可以是多個功能映射一個權限) ---> 職位權力
權限分等級:角色權限
系統權限
對象權限
c、用戶:具體使用的賬戶(映射操作人) ---> 工作人員
d、系統自帶角色
sysdba 系統管理員身份 ---> 幾乎所有的權限 ---> 董事長
sysoper 系統操作員身份 ---> 比肩於系統管理員 ---> 總裁(總經理,除了不能利用公司的資金給自己開公司外...)
不能創建刪除數據庫
不能更改字符集 (類似總裁不能更改公司的經營範圍)
比如京東總裁不能說我京東不做電商了, 做房地產吧. 這事就不是他決定了
normal 普通操作員身份 ---> 自定義權限 ---> 職工(不同職員擁有不同的權限)
----------------------------------------- 上面爲登陸角色,下面爲授權角色 -----------------------------------------------------------
connect ---> 是授予最終用戶的典型權利,最基本的角色
ALTER SESSION --修改會話
CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK --建立數據庫鏈接
CREATE SEQUENCE --建立序列
CREATE SESSION --建立會話
CREATE SYNONYM --建立同義詞
CREATE VIEW --建立視圖
RESOURCE ---> 是授予開發人員的
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立過程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立觸發器
CREATE TYPE --建立類型
dba ---> 表空間的擁有者,表空間所有權限
e、系統自帶用戶
sys ---> oracle最高權限用戶,有sysdba,sysoper角色 ---> 公司所有者(簡稱老闆,boss)
登陸時也只能以sysdba,sysoper登陸,
不能使用normal角色登陸 (就像老闆不可能以職工的身份出現)
system ---> 有sysdba,sysoper角色 ---> ***總裁
正常是sysoper角色,也能以sysdba登陸 總裁替代老闆發佈施令
scott ---> 是個演示用戶,學習ORACLE用
4、Oracle使用技巧
a、創建用戶:create user 用戶名 identified by 密碼
b、分配權限:
grant connect,resource,dba to 用戶; --->
grant insert,delete,update on 用戶.對象 to 角色; ---> 將某用戶的某個對象的增刪改權限分配給某個角色
c、創建臨時表空間
create temporary tablespace 表空間名 tempfile '存放地址.dbf' size 初始大小 autoextend on next 遞增大小 maxsize 上限大小 extent management local;
存放地址: 絕對路徑,以.dbf爲後綴
創建表空間
create tablespace 表空間名 logging datafile '存放地址.dbf' size 初始大小 autoextend on next 遞增大小 maxsize 上限大小 extent management local;
刪除表空間
drop tablespace 表空間名 including contents and datafiles cascade constraints;
注:刪除表空間之前要確認該表空間沒有被其他用戶使用之後再做刪除
注:創建用戶前必須要先建好臨時表空間和數據表空間兩個表空間,否則用系統默認的表空間不好。
臨時表空間,暫時可理解成緩存
d、創建用戶並指定表空間
create user 用戶名 identified by 密碼 default tablespace 表空間 temporary tablespace 臨時表空間;
e、刪除用戶以及用戶所有的對象
drop user zfmi cascade;
5、導入導出命令 ---> oracle數據還原與備份
a、exp命令可以把數據從遠程數據庫服務器導出到本地的dmp文件
b、imp命令可以把dmp文件從本地導入到遠處的數據庫服務器中
c、利用這個功能可以構建兩個相同的數據庫,一個用來測試,一個用來正式使用。
d、數據導出:
將數據庫TEST完全導出,用戶名system 密碼manager 導出到D:daochu.dmp中
exp system/manager@TEST file=d:daochu.dmp full=y
將數據庫中system用戶與sys用戶的表導出
exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)
將數據庫中的表inner_notify、notify_staff_relat導出
exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)
將數據庫中的表table1中的字段filed1以"00"打頭的數據導出
exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"
e、數據的導入
將D:daochu.dmp 中的數據導入 TEST數據庫中。
imp system/manager@TEST file=d:daochu.dmp
imp aichannel/aichannel@HUST full=y file=d:datanewsmgnt.dmp ignore=y
上面可能有點問題,因爲有的表已經存在,然後它就報錯,對該表就不進行導入。在後面加上 ignore=y 就可以了。
將d:daochu.dmp中的表table1 導入
imp system/manager@TEST file=d:daochu.dmp tables=(table1)
f、注意
不少情況要先是將表徹底刪除,然後導入。
操作者要有足夠的權限,權限不夠它會提示。
g、授予用戶導入導出權限
grant create user,drop user,alter user ,create any view,drop any view,
EXP_FULL_DATABASE,IMP_FULL_DATABASE,
dba,connect,resource,create session to 用戶名字
二、ORACLE的數據類型
1、常用數據類型
字段類型 中文說明 限制條件 其它說明
------------------------------------------- 字符串數據類型 -------------------------------------------------------------
CHAR 固定長度字符串 最大長度2000 bytes 缺省爲1個字節(漢子2字節)
VARCHAR2 可變長度的字符串 最大長度4000 bytes 索引的最大長度3209
NCHAR 根據字符集而定的固定長度字符串 最大長度2000 bytes
NVARCHAR2 根據字符集而定的可變長度字符串 最大長度4000 bytes
------------------------------------------- 時間數據類型 ---------------------------------------------------------------
DATE 日期(日-月-年) DD-MM-YY(HH-MI-SS) 經過嚴格測試,無千蟲問題
(9I後數據)
TIMESTAMP 時間戳
INTERVAL YEAR TO MONTH 用於存儲一個時間段,由月份和年組成。需要 5B 來存儲
INTERVAL DAY TO SECOND 用於存儲一個時間段,由日和秒組成。需要 11B 來存儲
------------------------------------------- 數字數據類型 ---------------------------------------------------------------
NUMBER(P,S) 數字類型 P爲整數位,S爲小數位
DECIMAL(P,S) 數字類型 P爲整數位,S爲小數位
INTEGER 整數類型 小的整數
FLOAT 浮點數類型 NUMBER(38),雙精度
REAL 實數類型 NUMBER(63),精度更高
------------------------------------- 大型對象(LOB),用來保存較大的圖形文件或帶格式的文本文件 ---------------------------
BLOB 二進制數據 最大長度4G (大數據類型)
CLOB 字符數據 最大長度4G (大數據類型)
NCLOB 根據字符集而定的字符數據 最大長度4G (大數據類型)
------------------------------------------------ LOB數據類型 ------------------------------------------------------------
ROWID 數據表中記錄的唯一行號 10 bytes ********.****.****格式,*爲0或1
NROWID 二進制數據表中記錄的唯一行號 最大長度4000 bytes
------------------------------------------------ 外部數據 ---------------------------------------------------------------
BFILE 存放在數據庫外的二進制數據 最大長度4G
------------------------------------------- 老數據類型,將被大型對象替換 -------------------------------------------------
LONG 超長字符串,可變長字符列 最大長度2G(231-1) 足夠存儲大部頭著作(老數據類型)
RAW 固定長度的二進制數據 最大長度2000 bytes 可存放多媒體圖象聲音等(老數據類型)
LONG RAW 可變長度的二進制數據 最大長度2G 同上(老數據類型)
Oracle入門
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
震驚:蔡英文決定 為安倍「下半旗」,真的合理嗎?
SteveSapp9
2022-07-11 17:06:56
哪些因素会影响性欲?这些因素不容小觑
SteveSapp9
2022-07-04 20:32:20
台媒爆料“台版51區”興建“神秘”設施 “面積大到令人好奇”
SteveSapp9
2022-06-23 14:39:41
河北省公安廳發布關於陳某誌等涉嫌尋釁滋事、暴力毆打他人等案件偵辦進展情況的通報
LouisRodgers5773
2022-06-21 16:49:16
曼聯遇到障礙將克里斯蒂安·埃里克森帶到老特拉福德
ktn83
2022-06-18 07:55:27
如何提高性生活質量?這六個妙招快快學起來!
mugiseki2710
2022-06-17 15:34:42
UEFAチャンピオンズリーグ決勝戦、米で視聴者数が過去最高に
fikik75972
2022-06-16 23:48:20
wewerewrr werwerwer
pennyjhurd
2022-06-12 18:34:42
fds rew rewrewrewrew
mufajiqe
2022-06-12 18:04:40
Deep Lake Water Cooling System Market To Witness Huge Growth By 2030
chhidami.a.msg
2022-06-08 22:14:54
專家建議晚飯只吃七分飽,常見的胃病有哪些?
LouisRodgers5773
2022-06-08 15:16:23
肝臟不好怎麼調理?
LouisRodgers5773
2022-06-08 14:49:19
中国人民解放军的最高军事机关为中央机关为中央军事委员会
fikik75972
2022-06-08 00:31:46
台中叫/小/姐瀨tea232台中/外/約✔外拍麻豆✔校園系花✔專櫃正妹❤
lan520an109
2022-06-07 19:29:34