Oracle面試題彙總
1,delete 與Truncate差別?
1)Truncate 是DDL 語句,DELETE 是DML語句。
2) Truncate 的速度遠快於DELETE;
原因是: 當執行DELETE操作時所有表格資料先被COPY到回滾表空間,資料量不同花費時間長短不一。而TRUNCATE 是直接刪除資料不進回滾表空間。
3) delete 資料可以運行Rollback 進行資料回滾。而Truncate 則是永久刪除不能回滾。
4) Truncate 操作不會觸發表上的delete觸發器,而delete 會正常觸發。
5) Truncate 語句不能帶where 條件表示只能全部資料刪除,而DELETE可帶where 條件刪除資料。
6) Truncate 操作會重置表的高水位線(High Water Mark),而delete 不會。
【專題推薦】:2020年oracle面試題彙整(最新)
2,集合運算子
Union : 不包含重複值,預設依第一個查詢的第一列升序排列。
Union All : 完全並集包含重複值。不排序。
Minus 不包含重複值,不排序。
3,資料庫的三大範式是什麼?
1) 第一範式:原子件,要求每一列的值不能再拆分了。
2) 第二範式: 一張表只描述一個實體(若列中有冗餘數據,則不滿足)
3)第三範式: 所有列與主鍵值直接相關。
4 事務的特性(ACID)是指什麼?
1)原子性(Atomic): 事務中的各項操作,要麼全做要麼全不做,任何一項操作的失敗都會導致整個事務的失敗。
2) 一致性(Consistent): 交易結束後系統狀態是一樣的。
3)隔離性(Isolated): 並發執行的交易彼此無法看到對方的中間狀態。
4) 持久性(Durable):交易完成後,即使發生災難性故障,透過日誌和同步備份可以在故障發生後重建資料。
5 Mysql資料庫與Oracle 資料庫有什麼不同?
1,應用程式方面,Mysql 是中小型應用的資料庫。一般用於個人和中小型企業。 Oracle 屬於大型資料庫,一般用於具有相當規模的企業應用。
2, 自動成長的資料類型面向: MySQL有自動成長的資料型態。 Oracle 沒有自動成長的資料型態。需要建立一個自增序列。
3,group by 用法: Mysql 中group by 在SELECT 語句中可以隨意使用,但在ORACLE 中如果查詢語句中有群組函數,那麼其他欄位必須是群組函數處理過的或是group by子句中的列,否則會報錯。
4,引導方面: MySQL中可以用單引號、雙引號包起字串,Oracle 中只可以用單引號包起字串
6 Oracle跟SQL Server 2005的差別?
宏觀:
1). 最大的區別在於平台,oracle可以運行在不同的平台上,sql server只能運行在windows平台上,由於windows平台的穩定性和安全性影響了sql server的穩定性和安全性
2). oracle使用的腳本語言為PL-SQL,而sql server使用的腳本為T-SQL
微觀上: 從資料類型,資料庫的結構等等回答
7 . 如何使用Oracle的遊標?
1). oracle中的遊標分為顯示遊標和隱式遊標
2). 顯示遊標是用cursor...is指令定義的遊標,它可以對查詢語句(select)傳回的多筆記錄進行處理;隱含遊標是在執行插入(insert)、刪除(delete)、修改(update)和傳回單一記錄的查詢(select)語句時由PL/SQL自動定義的。
3). 明確遊標的操作:開啟遊標、操作遊標、關閉遊標;PL/SQL隱含地開啟SQL遊標,並在它內部處理SQL語句,然後關閉它
#8 Oracle中function和procedure的差別?
1). 可以理解函數是預存程序的一種
2). 函數可以沒有參數,但是一定需要一個回傳值,預存程序可以沒有參數,不需要回傳值
3). 函數return回傳值沒有回傳參數模式,預存程序透過out參數傳回值, 如果需要傳回多個參數則建議使用預存程序
4). 在sql資料操縱語句中只能呼叫函數而不能呼叫預存程序
9 Oracle的導入匯出有幾種方式,有何不同?
1). 使用oracle工具exp/imp
2). 使用plsql相關工具
方法1. 導入/導出的是二進位的數據, 2.plsql導入/導出的是sql語句的文字檔
3) sqlloader
4) dblink
10 . 解釋冷備份和熱備份的不同點以及各自的優點?
冷備份發生在資料庫已經正常關閉的情況下,將關鍵性檔案拷貝到另一個位置的一種說法
熱備份是在資料庫運作的情況下,採用歸檔方式備份資料的方法
冷備的優點和缺點:
#1).是非常快速的備份方法(只需拷貝文件)
2).容易歸檔(簡單拷貝即可)
3).容易恢復到某個時間點上(只要將文件再拷貝回去)
#4).能與歸檔方法結合,作資料庫「最新狀態」的恢復。
5).低度維護,高度安全。
冷備份不足:
1).單獨使用時,只能提供到「某一時間點上」的恢復。
2).在實作備份的整個過程中,資料庫必須要作備份而不能作其它工作。也就是說,在冷備份過程中,資料庫必須是關閉狀態。
3).若磁碟空間有限,只能拷貝到磁帶等其它外部儲存裝置上,速度會很慢。
4).不能按表或依使用者恢復。
熱備的優缺點
1).可在表空間或資料檔案層級備份,備份時間短。
2).備份時資料庫仍可使用。
3).可達到秒級恢復(恢復到某一時間點)。
4).可對幾乎所有資料庫實體作復原。
5).恢復是快速的,在大多數情況下在資料庫仍工作時恢復。
熱備份的缺點是:
1).不能出錯,否則後果嚴重。
2).若熱備份不成功,所得結果不可用於時間點的復原。
3).因難於維護,所以要特別仔細小心,不允許「以失敗而告終」。
11 解釋data block , extent 與 segment的差異?
data block 資料塊,是oracle最小的邏輯單位,通常oracle從磁碟讀寫的就是塊
extent 區,是由若干個相鄰的block組成
segment段,是有一組區組成
tablespace表空間,資料庫中資料邏輯儲存的地方,一個tablespace可以包含多個資料檔
12. 解釋什麼是死鎖,如何解決Oracle中的死鎖?
簡言之就是存在加了鎖而沒有解鎖,可能是使用鎖沒有提交或者回滾事務,如果是表級鎖則不能操作表,客戶端處於等在狀態,如果是行級鎖定則無法操作鎖定行
解決方法:
1). 找出已鎖定的表
select b.owner,b.object_name ,a.session_id,a.locked_mode
from v$locked_object a,dba_objects b
where b.object_id = a.object_id;
,logon_time
from v$locked_object a,v$session b
where a.session_id = b.sid order by b.logon_time;
2). 殺害進程中的會話
alter system kill session "sid,serial#";簡述oracle中dml、ddl、dcl的使用
14 如何建立一個索引,索引使用的原則,有什麼優點和缺點
建立標準索引:
CREATE INDEX 索引名ON表名(列名) TABLESPACE 表空間名;
建立唯一索引:
CREATE unique INDEX 索引名ON 表名(列名) TABLESPACE 表空間名;
15 oracle的鎖定又幾種,定義分別是什麼;
1. 行共享鎖定(ROW SHARE)
#2. 行排他鎖(ROW EXCLUSIVE)
3 . 共享鎖(SHARE)
4. 共享行排他鎖(SHARE ROW EXCLUSIVE)
5. 排他鎖(EXCLUSIVE)
使用方法:
SELECT * FROM order_master WHERE vencode="V002"
FOR UPDATE WAIT 5;
LOCK TABLE order_master IN SHARE MODE;
LOCK TABLE itemfile# IN EXCLUSIVE MODE #IT; ##ORACLE鎖定具體分為以下幾類:
1.依使用者與系統劃分,可分為自動鎖定與顯示鎖定
自動鎖定:當進行一項資料庫操作時,預設情況下,系統會自動為此資料庫操作取得所有必要的鎖定。
顯示鎖定:某些情況下,需要使用者顯示的鎖定資料庫操作要用到的數據,才能使資料庫操作執行得更好,顯示鎖定是使用者為資料庫物件設定的。
2 . 以鎖定層級劃分,可分為共享鎖定與排它鎖定
共享鎖定:共享鎖定使一個事務對特定資料庫資源進行共享存取— —另一事務也可對此資源進行存取或取得相同共用鎖定。共享鎖為交易提供高並發性,但如拙劣的事務設計 共享鎖容易造成死鎖或資料更新遺失。
排它鎖定:事務設定排它鎖定後,該事務單獨取得此資源,另一事務不能在此事務提交之前獲得相同物件的共享鎖定或排它鎖定。
3.依作業劃分,可分為DML鎖定、DDL鎖定
#DML鎖定又可分為,行鎖定、表鎖定、死鎖
行鎖定:當交易執行資料庫插入、更新、刪除操作時,該交易會自動取得操作表中操作行的排它鎖定。
表格層級鎖定:當交易取得行鎖定後,此交易也會自動取得該行的表鎖定(共用鎖定),以防止其它交易進行DDL語句影響記錄行的更新。事務也可以在進行過程中獲得共享鎖或排它鎖,只有當事務顯示使用LOCK TABLE語句顯示的定義一個排它鎖時,事務才會獲得表上的排它鎖,也可使用LOCK TABLE顯示的定義一個表級的共享鎖(LOCK TABLE具體用法請參考相關文件)。
死鎖:當兩個事務需要一組有衝突的鎖,而不能將事務繼續下去的話,就出現死鎖。
如事務1在表A行記錄#3中有一排它鎖,並等待事務2在表A中記錄#4中排它鎖的釋放,而事務2在表A記錄行#4中有一排它鎖,並等待事務; 1在表A中記錄#3中排它鎖的釋放,事務1與事務2彼此等待,因此就造成了死鎖。死鎖一般是因拙劣的事務設計而產生。死鎖只能使用SQL下:alter system kill session "sid,serial#";或使用相關作業系統kill進程的指令,如UNIX下kill -9 sid,或使用其它工具殺掉死鎖程序。 DDL鎖定又可以分為:排它DDL鎖定、共享DDL鎖定、分析鎖定
排它DDL鎖定:建立、修改、刪除一個資料庫物件的DDL語句獲得操作物件的排它鎖。如使用alter table語句時,為了維護資料的完成性、一致性、合法性,該事務獲得一排它DDL鎖定。
共享DDL鎖定:需在資料庫物件之間建立相互依賴關係的DDL語句通常需共享取得DDL鎖定。
如建立一個包,該包中的過程與函數引用了不同的資料庫表,當編譯此包時,該事務就獲得了引用表的共享DDL鎖定。 分析鎖定:
ORACLE使用共享池儲存分析與最佳化的SQL語句及PL/SQL程序,讓執行相同語句的應用速度更快。一個在共享池中緩存的物件獲得它所引用資料庫物件的分析鎖。分析鎖是一種獨特的DDL鎖類型,ORACLE使用它追蹤共享池物件及它所引用資料庫物件之間的依賴關係。當一個事務修改或刪除了共享池持有分析鎖的資料庫物件時,ORACLE使共享池中的物件作廢,下次在引用這條SQL/PLSQL語句時,ORACLE重新分析編譯此語句。
4.內部閂鎖
#內部閂鎖:這是ORACLE中的一種特殊鎖,用於順序存取內部系統結構。當事務需向緩衝區寫入資訊時,為了使用此區塊記憶體區域,ORACLE首先必須取得這塊記憶體區域的閂鎖,才能向此區塊記憶體寫入資訊。
#相關學習推薦:oracle資料庫學習教學
以上是Oracle面試題彙總的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Oracle不僅是數據庫公司,還是雲計算和ERP系統的領導者。 1.Oracle提供從數據庫到雲服務和ERP系統的全面解決方案。 2.OracleCloud挑戰AWS和Azure,提供IaaS、PaaS和SaaS服務。 3.Oracle的ERP系統如E-BusinessSuite和FusionApplications幫助企業優化運營。

Oracle在数据管理和企业应用领域具有深远影响,其数据库以可靠性、可扩展性和安全性著称,广泛应用于金融、医疗和政府等行业。Oracle的影响力还扩展到中间件和云计算领域,如WebLogicServer和OracleCloudInfrastructure(OCI),提供创新解决方案。尽管面临开源数据库和云计算市场竞争,Oracle通过不断创新保持领先地位。

Oracle軟件除了數據庫管理外,還用於JavaEE應用、數據網格和高性能計算。 1.OracleWebLogicServer用於部署和管理JavaEE應用。 2.OracleCoherence提供高性能的數據存儲和緩存服務。 3.OracleExadata用於高性能計算。這些工具使得Oracle在企業IT架構中扮演了更加多元化的角色。

Oracle被稱為數據庫管理的“Powerhouse”是因為其高性能、可靠性和安全性。 1.Oracle是一個關係數據庫管理系統,支持多種操作系統。 2.它提供強大的數據管理平台,具有可擴展性、安全性和高可用性。 3.Oracle的工作原理包括數據存儲、查詢處理和事務管理,支持性能優化技術如索引、分區和緩存。 4.使用示例包括創建表、插入數據和編寫存儲過程。 5.性能優化策略包括索引優化、分區表、緩存管理和查詢優化。

OracleOfferSacomprehensUIteOfproductSandServicesservicesCludingDatabasemangemention,CloudComputing,Enterprisesoftware,AndhardWaresolutions.1)oracledatabaseuppasesuppassuppassuppersupportsvariousdatamodelswithefffiteFticsFeatures.2)

MySQL和Oracle在性能和可擴展性上的區別在於:1.MySQL在小型到中型數據集上表現更好,適合快速擴展和高效讀寫;2.Oracle在處理大型數據集和復雜查詢時更具優勢,適合高可用性和復雜業務邏輯。 MySQL通過主從復制和分片技術實現擴展,而Oracle通過RAC實現高可用性和擴展性。

Oracle軟件在現實世界中的應用包括電商平台和製造業。 1)在電商平台,OracleDatabase用於存儲和查詢用戶信息。 2)在製造業,OracleE-BusinessSuite用於優化庫存和生產計劃。

Oracle軟件的發展歷程從數據庫到雲計算,具體包括:1.起源於1977年,最初專注於關係數據庫管理系統(RDBMS),迅速成為企業級應用的首選;2.擴展到中間件、開發工具和ERP系統,形成全套企業解決方案;3.Oracle數據庫支持SQL,提供高性能和可擴展性,適用於從小型到大型企業系統;4.雲計算服務的崛起,進一步拓展了Oracle的產品線,滿足企業IT需求的方方面面。
