Oracle数据库常用技术
一、視圖(重點(diǎn))
什么是視圖?
·視圖由一個(gè)或多個(gè)表(或視圖)中提取數(shù)據(jù)而成
·視圖是一種虛擬表
·視圖一經(jīng)創(chuàng)建,可以當(dāng)作表來使用。
使用視圖的好處?
·?簡(jiǎn)化復(fù)雜數(shù)據(jù)查詢
·?提高運(yùn)行效率
·?屏蔽數(shù)據(jù)庫表結(jié)構(gòu),實(shí)現(xiàn)數(shù)據(jù)邏輯獨(dú)立性
·?限制數(shù)據(jù)庫訪問
·?在相同數(shù)據(jù)上提供不同的視圖,便于數(shù)據(jù)共享
命名規(guī)范:
???????·以V開頭,后加視圖名?:VEMP10
???????·以系統(tǒng)名v_+模塊名作為前綴?,例:V_SECTION
???????·VIEW_VDU_ADMINISTRATORS
???????·視圖名_VU:?user?view
創(chuàng)建視圖:
創(chuàng)建視圖的語法:
CREATE?VIEW?視圖名稱?AS?子查詢?;
創(chuàng)建視圖的步驟:
???????1:先把查詢語句寫正確
???????2:??然后在添加視圖語句
注意:在寫子查詢時(shí)不能使用??SELECT?*
???????程序員手則:嚴(yán)禁使用?SELECT?*?FROM?表名
刪除視圖
替換視圖:
CREATE?OR?REPLACE?視圖名稱?AS?子查詢?;
創(chuàng)建不可更新視圖:
·?WITH?CHECK?OPTION:不能更新視圖的創(chuàng)建條件
例:在視圖創(chuàng)建中使用此參數(shù)
1?CREATE?OR?REPLACE?VIEW?empv202?AS3???????SELECT?*?FROM?emp?WHERE?deptno=204?WITH?CHECK?OPTION?;
UPDATE?empv20?SET?deptno=30?WHERE?empno=7369?;
更新語句不起作用
創(chuàng)建視圖:
·?WITH?READ?ONLY:創(chuàng)建的視圖只讀
例:創(chuàng)建只讀視圖
1?CREATE?OR?REPLACE?VIEW?empv202?AS3?SELECT?*?FROM?emp?WHERE?deptno=204?WITH??READ??ONLY?;
二、存儲(chǔ)進(jìn)程Procedure
?
?
?
三、段user_segments和區(qū)user_extents
空間以段(segment)為單位分配給對(duì)象(如表、群集和索引),它們?cè)谖锢砩蠈?duì)應(yīng)于在數(shù)據(jù)庫中創(chuàng)建的邏輯對(duì)象
Oracle中的段(segment)是占用磁盤空間的一個(gè)對(duì)象,
常見段的類型有:
聚簇cluster
表table
表分區(qū)tablepartition
索引index
索引分區(qū)
Lob分區(qū)、Lob子分區(qū)、Lob索引、Lob段
嵌套表nestedtable
回滾段rollback。
select * from user_segments;
在11gR2中,一張表只有插入數(shù)據(jù)后才會(huì)分配段空間
一個(gè)段中可能有多種不同的表,段包含區(qū),區(qū)包含塊。同時(shí)表也包含區(qū)和塊。
段由稱為區(qū)(extent)的連續(xù)區(qū)域組成
?
四、SQLLoader
五、字符集
博客:http://blog.itpub.net/118838/viewspace-730214/
查看數(shù)據(jù)庫字符集
數(shù)據(jù)庫服務(wù)器字符集select * from nls_database_parameters,其來源于props$,是表示數(shù)據(jù)庫的字符集。
客戶端字符集環(huán)境select * from nls_instance_parameters,其來源于v$parameter,
客戶端的字符集要求與服務(wù)器一致,才能正確顯示數(shù)據(jù)庫的非Ascii字符。
修改數(shù)據(jù)庫UTF-8編碼
例如把字符集GB2312修改為UTF-8步驟:
1 1.在SQL*PLUS 中,以DBA登錄conn 用戶名 as sysdba 2 2.執(zhí)行轉(zhuǎn)換語句: 3 SHUTDOWN IMMEDIATE; 4 STARTUP MOUNT EXCLUSIVE; 5 ALTER SYSTEM ENABLE RESTRICTED SESSION; 6 ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; 7 ALTER SYSTEM SET AQ_TM_PROCESSES=0; 8 ALTER DATABASE OPEN; 9 ALTER DATABASE NATIONAL CHARACTER SET UTF8; 10 SHUTDOWN immediate; 11 startup;可能報(bào)錯(cuò):‘ORA-12717: Cannot ALTER DATABASE NATIONAL CHARACTER SET whenNCLOB data exists’
解決方法:
一、使用INTERNAL_USE 關(guān)鍵字修改區(qū)域設(shè)置
1 SHUTDOWN IMMEDIATE; 2 STARTUP MOUNT EXCLUSIVE; 3 ALTER SYSTEM ENABLE RESTRICTED SESSION; 4 ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; 5 ALTER SYSTEM SET AQ_TM_PROCESSES=0; 6 ALTER DATABASE OPEN; 7 ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8; 8 SHUTDOWN immediate; 9 startup;?
?
?
行式數(shù)據(jù)庫
列式數(shù)據(jù)庫
轉(zhuǎn)載于:https://www.cnblogs.com/wangwanchao/p/5364864.html
總結(jié)
以上是生活随笔為你收集整理的Oracle数据库常用技术的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 骚年请待我长发及要132个
- 下一篇: linux cmake编译源码,linu