久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      Oracle面試題匯總

      Oracle面試題匯總

      1,delete 與Truncate區(qū)別?

      1)Truncate 是DDL 語句,DELETE 是DML語句。

      2) Truncate 的速度遠快于DELETE;

      原因是: 當執(zhí)行DELETE操作時所有表數(shù)據(jù)先被COPY到回滾表空間,數(shù)據(jù)量不同花費時間長短不一。而TRUNCATE 是直接刪除數(shù)據(jù)不進回滾表空間。

      3) delete 數(shù)據(jù)可以運行Rollback 進行數(shù)據(jù)回滾。而Truncate 則是永久刪除不能回滾。

      4) Truncate 操作不會觸發(fā)表上的delete觸發(fā)器,而delete 會正常觸發(fā)。

      5) Truncate 語句不能帶where 條件意味著只能全部數(shù)據(jù)刪除,而DELETE可帶where 條件進行刪除數(shù)據(jù)。

      6) Truncate 操作會重置表的高水位線(High Water Mark),而delete 不會。

      【專題推薦】:2020年oracle面試題匯總(最新)

      2,集合操作符

      Union : 不包含重復值,默認按第一個查詢的第一列升序排列。

      Union All : 完全并集包含重復值。不排序。

      Minus 不包含重復值,不排序。

      3,數(shù)據(jù)庫的三大范式是什么?

      1) 第一范式:原子件,要求每一列的值不能再拆分了。

      2) 第二范式: 一張表只描述一個實體(若列中有冗余數(shù)據(jù),則不滿足)

      3)第三范式: 所有列與主鍵值直接相關(guān)。

      4 事務的特性(ACID)是指什么?

      1)原子性(Atomic): 事務中的各項操作,要么全做要么全不做,任何一項操作的失敗都會導致整個事務的失敗。

      2) 一致性(Consistent): 事務結(jié)束后系統(tǒng)狀態(tài)是一樣的。

      3)隔離性(Isolated): 并發(fā)執(zhí)行的事務彼此無法看到對方的中間狀態(tài)。

      4) 持久性(Durable):事務完成后,即使發(fā)生災難性故障,通過日志和同步備份可以在故障發(fā)生后重建數(shù)據(jù)。

      5 Mysql數(shù)據(jù)庫與Oracle 數(shù)據(jù)庫有什么區(qū)別?

      1,應用方面,Mysql 是中小型應用的數(shù)據(jù)庫。一般用于個人和中小型企業(yè)。Oracle 屬于大型數(shù)據(jù)庫,一般用于具有相當規(guī)模的企業(yè)應用。

      2, 自動增長的數(shù)據(jù)類型方面: MySQL有自動增長的數(shù)據(jù)類型。Oracle 沒有自動增長的數(shù)據(jù)類型。需要建立一個自增序列。

      3,group by 用法: Mysql 中g(shù)roup by 在SELECT 語句中可以隨意使用,但在ORACLE 中如果查詢語句中有組函數(shù),那么其他列必須是組函數(shù)處理過的或者是group by子句中的列,否則會報錯。

      4,引導方面: MySQL中可以用單引號、雙引號包起字符串,Oracle 中只可以用單引號包起字符串

      6 Oracle跟SQL Server 2005的區(qū)別?

      宏觀上:
      1). 最大的區(qū)別在于平臺,oracle可以運行在不同的平臺上,sql server只能運行在windows平臺上,由于windows平臺的穩(wěn)定性和安全性影響了sql server的穩(wěn)定性和安全性
      2). oracle使用的腳本語言為PL-SQL,而sql server使用的腳本為T-SQL
      微觀上: 從數(shù)據(jù)類型,數(shù)據(jù)庫的結(jié)構(gòu)等等回答

      7 . 如何使用Oracle的游標?

      1). oracle中的游標分為顯示游標和隱式游標
      2). 顯示游標是用cursor…is命令定義的游標,它可以對查詢語句(select)返回的多條記錄進行處理;隱式游標是在執(zhí)行插入 (insert)、刪除(delete)、修改(update)和返回單條記錄的查詢(select)語句時由PL/SQL自動定義的。
      3). 顯式游標的操作:打開游標、操作游標、關(guān)閉游標;PL/SQL隱式地打開SQL游標,并在它內(nèi)部處理SQL語句,然后關(guān)閉它

      8 Oracle中function和procedure的區(qū)別?

      1). 可以理解函數(shù)是存儲過程的一種
      2). 函數(shù)可以沒有參數(shù),但是一定需要一個返回值,存儲過程可以沒有參數(shù),不需要返回值
      3). 函數(shù)return返回值沒有返回參數(shù)模式,存儲過程通過out參數(shù)返回值, 如果需要返回多個參數(shù)則建議使用存儲過程
      4). 在sql數(shù)據(jù)操縱語句中只能調(diào)用函數(shù)而不能調(diào)用存儲過程

      9 Oracle的導入導出有幾種方式,有何區(qū)別?

      1). 使用oracle工具 exp/imp
      2). 使用plsql相關(guān)工具
      方法1. 導入/導出的是二進制的數(shù)據(jù), 2.plsql導入/導出的是sql語句的文本文件

      3) sqlloader

      4) dblink

      10 . 解釋冷備份和熱備份的不同點以及各自的優(yōu)點?

      冷備份發(fā)生在數(shù)據(jù)庫已經(jīng)正常關(guān)閉的情況下,將關(guān)鍵性文件拷貝到另外位置的一種說法
      熱備份是在數(shù)據(jù)庫運行的情況下,采用歸檔方式備份數(shù)據(jù)的方法

      冷備的優(yōu)缺點:
      1).是非??焖俚膫浞莘椒ǎㄖ恍杩截愇募?
      2).容易歸檔(簡單拷貝即可)
      3).容易恢復到某個時間點上(只需將文件再拷貝回去)
      4).能與歸檔方法相結(jié)合,作數(shù)據(jù)庫“最新狀態(tài)”的恢復。
      5).低度維護,高度安全。
      冷備份不足:
      1).單獨使用時,只能提供到“某一時間點上”的恢復。
      2).在實施備份的全過程中,數(shù)據(jù)庫必須要作備份而不能作其它工作。也就是說,在冷備份過程中,數(shù)據(jù)庫必須是關(guān)閉狀態(tài)。
      3).若磁盤空間有限,只能拷貝到磁帶等其它外部存儲設(shè)備上,速度會很慢。
      4).不能按表或按用戶恢復。

      熱備的優(yōu)缺點
      1).可在表空間或數(shù)據(jù)文件級備份,備份時間短。
      2).備份時數(shù)據(jù)庫仍可使用。
      3).可達到秒級恢復(恢復到某一時間點上)。
      4).可對幾乎所有數(shù)據(jù)庫實體作恢復。
      5).恢復是快速的,在大多數(shù)情況下在數(shù)據(jù)庫仍工作時恢復。
      熱備份的不足是:
      1).不能出錯,否則后果嚴重。
      2).若熱備份不成功,所得結(jié)果不可用于時間點的恢復。
      3).因難于維護,所以要特別仔細小心,不允許“以失敗而告終”。

      11 解釋data block , extent 和 segment的區(qū)別?

      data block 數(shù)據(jù)塊,是oracle最小的邏輯單位,通常oracle從磁盤讀寫的就是塊
      extent 區(qū),是由若干個相鄰的block組成
      segment段,是有一組區(qū)組成
      tablespace表空間,數(shù)據(jù)庫中數(shù)據(jù)邏輯存儲的地方,一個tablespace可以包含多個數(shù)據(jù)文件

      12. 解釋什么是死鎖,如何解決Oracle中的死鎖?

      簡言之就是存在加了鎖而沒有解鎖,可能是使用鎖沒有提交或者回滾事務,如果是表級鎖則不能操作表,客戶端處于等在狀態(tài),如果是行級鎖則不能操作鎖定行

      解決辦法:
      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;

      select b.username,b.sid,b.serial#,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#";

      13 簡述oracle中 dml、ddl、dcl的使用

      Dml 數(shù)據(jù)操縱語言,如select、update、delete,insert
      Ddl 數(shù)據(jù)定義語言,如create table 、drop table 等等
      Dcl 數(shù)據(jù)控制語言, 如 commit、 rollback、grant、 invoke等

      14 怎樣創(chuàng)建一個一個索引,索引使用的原則,有什么優(yōu)點和缺點

      創(chuàng)建標準索引:
      CREATE INDEX 索引名 ON 表名 (列名) TABLESPACE 表空間名;
      創(chuàng)建唯一索引:
      CREATE unique INDEX 索引名 ON 表名 (列名) TABLESPACE 表空間名;
      創(chuàng)建組合索引:
      CREATE INDEX 索引名 ON 表名 (列名1,列名2) TABLESPACE 表空間名;
      創(chuàng)建反向鍵索引:
      CREATE INDEX 索引名 ON 表名 (列名) reverse TABLESPACE 表空間名;
      索引使用原則:
      索引字段建議建立NOT NULL約束
      經(jīng)常與其他表進行連接的表,在連接字段上應該建立索引;
      經(jīng)常出現(xiàn)在Where子句中的字段且過濾性很強的,特別是大表的字段,應該建立索引;
      可選擇性高的關(guān)鍵字 ,應該建立索引;
      可選擇性低的關(guān)鍵字,但數(shù)據(jù)的值分布差異很大時,選擇性數(shù)據(jù)比較少時仍然可以利用索引提高效率
      復合索引的建立需要進行仔細分析;盡量考慮用單字段索引代替:
      A、正確選擇復合索引中的第一個字段,一般是選擇性較好的且在where子句中常用的字段上;
      B、復合索引的幾個字段經(jīng)常同時以AND方式出現(xiàn)在Where子句中可以建立復合索引;否則單字段索引;
      C、如果復合索引中包含的字段經(jīng)常單獨出現(xiàn)在Where子句中,則分解為多個單字段索引;
      D、如果復合索引所包含的字段超過3個,那么仔細考慮其必要性,考慮減少復合的字段;
      E、如果既有單字段索引,又有這幾個字段上的復合索引,一般可以刪除復合索引;
      頻繁DML的表,不要建立太多的索引;
      不要將那些頻繁修改的列作為索引列;
      索引的優(yōu)缺點:
      有點:
      1. 創(chuàng)建唯一性索引,保證數(shù)據(jù)庫表中每一行數(shù)據(jù)的唯一性
      2. 大大加快數(shù)據(jù)的檢索速度,這也是創(chuàng)建索引的最主要的原因
      3. 加速表和表之間的連接,特別是在實現(xiàn)數(shù)據(jù)的參考完整性方面特別有意義。
      4. 在使用分組和排序子句進行數(shù)據(jù)檢索時,同樣可以顯著減少查詢中分組和排序的時間。
      缺點:
      1. 索引創(chuàng)建在表上,不能創(chuàng)建在視圖上
      2. 創(chuàng)建索引和維護索引要耗費時間,這種時間隨著數(shù)據(jù)量的增加而增加
      3. 索引需要占物理空間,除了數(shù)據(jù)表占數(shù)據(jù)空間之外,每一個索引還要占一定的物理空間,如果要建立聚簇索引,那么需要的空間就會更大
      4. 當對表中的數(shù)據(jù)進行增加、刪除和修改的時候,索引也要動態(tài)的維護,降低了數(shù)據(jù)的維護速度

      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 NOWAIT;
      ORACLE鎖具體分為以下幾類:
      1.按用戶與系統(tǒng)劃分,可以分為自動鎖與顯示鎖
      自動鎖:當進行一項數(shù)據(jù)庫操作時,缺省情況下,系統(tǒng)自動為此數(shù)據(jù)庫操作獲得所有有必要的鎖。
      顯示鎖:某些情況下,需要用戶顯示的鎖定數(shù)據(jù)庫操作要用到的數(shù)據(jù),才能使數(shù)據(jù)庫操作執(zhí)行得更好,顯示鎖是用戶為數(shù)據(jù)庫對象設(shè)定的。
      2 . 按鎖級別劃分,可分為共享鎖與排它鎖
      共享鎖:共享鎖使一個事務對特定數(shù)據(jù)庫資源進行共享訪問——另一事務也可對此資源進行訪問或獲得相同共享鎖。共享鎖為事務提供高并發(fā)性,但如拙劣的事務設(shè)計+共享鎖容易造成死鎖或數(shù)據(jù)更新丟失。
      排它鎖:事務設(shè)置排它鎖后,該事務單獨獲得此資源,另一事務不能在此事務提交之前獲得相同對象的共享鎖或排它鎖。
      3.按操作劃分,可分為DML鎖、DDL鎖
      DML鎖又可以分為,行鎖、表鎖、死鎖
      行鎖:當事務執(zhí)行數(shù)據(jù)庫插入、更新、刪除操作時,該事務自動獲得操作表中操作行的排它鎖。
      表級鎖:當事務獲得行鎖后,此事務也將自動獲得該行的表鎖(共享鎖),以防止其它事務進行DDL語句影響記錄行的更新。事務也可以在進行過程中獲得共享鎖或排它鎖,只有當事務顯示使用LOCK TABLE語句顯示的定義一個排它鎖時,事務才會獲得表上的排它鎖,也可使用LOCK TABLE顯示的定義一個表級的共享鎖(LOCK TABLE具體用法請參考相關(guān)文檔)。
      死鎖:當兩個事務需要一組有沖突的鎖,而不能將事務繼續(xù)下去的話,就出現(xiàn)死鎖。
      如事務1在表A行記錄#3中有一排它鎖,并等待事務2在表A中記錄#4中排它鎖的釋放,而事務2在表A記錄行#4中有一排它鎖,并等待事務; 1在表A中記錄#3中排它鎖的釋放,事務1與事務2彼此等待,因此就造成了死鎖。死鎖一般是因拙劣的事務設(shè)計而產(chǎn)生。死鎖只能使用SQL下:alter system kill session "sid,serial#";或者使用相關(guān)操作系統(tǒng)kill進程的命令,如UNIX下kill -9 sid,或者使用其它工具殺掉死鎖進程。
      DDL鎖又可以分為:排它DDL鎖、共享DDL鎖、分析鎖
      排它DDL鎖:創(chuàng)建、修改、刪除一個數(shù)據(jù)庫對象的DDL語句獲得操作對象的 排它鎖。如使用alter table語句時,為了維護數(shù)據(jù)的完成性、一致性、合法性,該事務獲得一排它DDL鎖。
      共享DDL鎖:需在數(shù)據(jù)庫對象之間建立相互依賴關(guān)系的DDL語句通常需共享獲得DDL鎖。
      如創(chuàng)建一個包,該包中的過程與函數(shù)引用了不同的數(shù)據(jù)庫表,當編譯此包時,該事務就獲得了引用表的共享DDL鎖。
      分析鎖:ORACLE使用共享池存儲分析與優(yōu)化過的SQL語句及PL/SQL程序,使運行相同語句的應用速度更快。一個在共享池中緩存的對象獲得它所引用數(shù)據(jù)庫對象的分析鎖。分析鎖是一種獨特的DDL鎖類型,ORACLE使用它追蹤共享池對象及它所引用數(shù)據(jù)庫對象之間的依賴關(guān)系。當一個事務修改或刪除了共享池持有分析鎖的數(shù)據(jù)庫對象時,ORACLE使共享池中的對象作廢,下次在引用這條SQL/PLSQL語句時,ORACLE重新分析編譯此語句。
      4.內(nèi)部閂鎖
      內(nèi)部閂鎖:這是ORACLE中的一種特殊鎖,用于順序訪問內(nèi)部系統(tǒng)結(jié)構(gòu)。當事務需向緩沖區(qū)寫入信息時,為了使用此塊內(nèi)存區(qū)域,ORACLE首先必須取得這塊內(nèi)存區(qū)域的閂鎖,才能向此塊內(nèi)存寫入信息。

      相關(guān)學習推薦:oracle數(shù)據(jù)庫學習教程

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號