oracle資料庫試題
㈠ ORACLE選擇題
11) b) IS NULL
12) b) CREATE PUBLIC SYNONYM cust FOR mary.customer
13) c) PL/sql
14) c) test(『string',v-numl, v-str2)
15) c) set serverout on
我考過ORACLE的銅牌。有些問題我也幫你在網上查了一下。
㈡ 請幫忙解決一道Oracle資料庫試題:
用管道函數:
create or replace type rec_list is table of number;
CREATE OR REPLACE FUNCTION pipe_rec (pmax NUMBER)
RETURN rec_list PIPELINED
IS
BEGIN
FOR i IN 1 .. pmax
LOOP
PIPE ROW (i);
END LOOP;
RETURN;
END;
/
insert into a
select a.*,1 from table(pipe_rec(10000000)) b
㈢ oracle資料庫題,求答案
答案如下,正確為T,錯誤為F
1、 oracle資料庫系統中, 啟動資料庫的第一步是啟動一個資料庫實例。 ( T ) 2、Oracle伺服器端的監聽程序是駐留在伺服器上的單獨進程,專門負責響應客 戶機的連接請求。( F) 3、 oracle資料庫中實例和資料庫是一一對應的 (非ORACLE並行服務, 非集群) 。 ( T) 4、系統全局區SGA 是針對某一伺服器進程而保留的內存區域,它是不可以共享 的。( F ) 5、資料庫字典視圖ALL_***視圖只包含當前用戶擁有的資料庫對象信息。 ( F ) 8、數據字典中的內容都被保存在SYSTEM表空間中。( T ) 9、HAVING後面的條件中可以有聚集函數,比如SUM(),AVG()等, WHERE 後面的 條件中也可以有聚集函數。( F ) 10、"上海西北京" 可以通過like 『%上海_』查出來。( F
)
11、 表空間是oracle 最大的邏輯組成部分。Oracle資料庫由一個或多個表空間 組成。 一個表空間由一個或多個數據文件組成,但一個數據文件只能屬於一個表 空間。( T ) 12、表空間分為永久表空間和臨時表空間兩種類型。( T ) 13、truncate是DDL操作,不能 rollback。( T ) 14、 如果需要向表中插入一批已經存在的數據, 可以在INSERT語句中使用WHERE 語句。( F ) 15、Oracle資料庫中字元串和日期必須使用雙引號標識。( F ) 16、Oracle資料庫中字元串數據是區分大小寫的。( T )
17、Oracle資料庫中可以對約束進行禁用,禁用約束可以在執行一些特殊操作 時候保證操作能正常進行。( F )
18、為了節省存儲空間,定義表時應該將可能包含NULL值的欄位放在欄位列表 的末尾。( T ) 20、在連接操作中,如果左表和右表中不滿足連接條件的數據都出現在結果中, 那麼這種連接是全外連接。( T ) 21、自然連接是根據兩個表中同名的列而進行連接的,當列不同名時,自然連接 將失去意義。( T ) 23、PL/SQL代碼塊聲明區可有可無。( T ) 24、 隱式游標與顯式游標的不同在於顯式游標僅僅訪問一行, 隱式的可以訪問多
行。( F )
25、隱式游標由PL/SQL維護,當執行查詢時自動打開和關閉。( T ) 26、顯式游標在程序中顯式定義、打開、關閉,游標有一個名字。( T )
27、隱式游標的游標屬性前綴是SQL。( T ) 28、顯式游標的游標屬性的前綴是游標名。( T ) 29、隱式游標的屬性%ISOPEN總是為FALSE。(
T ) 30、顯式游標的%ISOPEN根據游標的狀態確定值(
F )
31、隱式游標的SELECT語句帶有INTO子串,只有一行數據被處理。( T ) 32、 顯式游標可以處理多行數據, 在程序中設置循環, 取出每一行數據。 ( T
)
34、可以在PL/SQL中使用GOTO語句使運行流程進行跳轉。( F )
35、因為存儲過程不返回值,使用時只能單獨調用;而函數卻能出現在能放置表 達式的任何位置。( Y )
查看頁面:http://wenku..com/view/d64574cd8bd63186bcebbc8c.html
㈣ 幫忙把下面的這幾個題解答一下 關於oracle 資料庫的 謝謝!
1、Web 其實寫B/S也可以的
2、主機地址(填ip地址也可以)和埠號
2、i代表Internet,g代表grid,也就是網格計算的意思
3、概念問題,不好說了
4、控制文件、數據文件
5、表空間、資料庫(沒聽說過其他的層次,Oracle官方的教材也只講資料庫、表空間、段、區、塊這五層)
6、資料庫對象
7、desc、select
8、http://地址:埠/em
9、
10、connect、resource、dba,dba角色許可權最大
選擇題
1、A
2、C
3、D
4、A
5、D
6、C
7、C
8、A
9、A
10、B
11、D
12、A
13、C
14、D
15、B
㈤ oracle資料庫面試題
1、b沒有訪問表employee的許可權,或者有許可權但是在做desc時沒有加用戶名在表前面。
2、在建表時設置了max extent參數導致了表extent數滿了之後不能再進行擴展。
3、tablespace full表示該表空間沒有可擴展的塊了,這是設置了datafile為autoextend off後或者系統中沒有可擴展的物理空間導致。
4、首先我需要有一張主表(pri)擁有關鍵欄位(id),然後分兩種情況,一種是目標表不存在的情況那麼我需要建立目標表,如:create table oerder(id not null,aa char(8),id_p int, primary key(id),forergn key (id_p) references pri(id));。另一種情況是目標表存在,則增加約束條件:alter table order add foreign key (id_p) references pri(id);
5、pct_increase代表的是表在做了第一次extent後,下次再擴展時的增量,它是一個百分比值,也就是說,如果你設置了該值為50那麼在表下一次擴展時擴展量就增加為150%。這是個很「恐怖」的設置,如果你使用了它那麼有可能你會發現你的表空間很快就沒有可擴展的地方了。
6、英文不好,題目意思沒讀懂。
7、這題還是分兩種情況,一種是nt server就是你的database server,那麼你可能需要先在nt server上確認listener已經啟動,然後進行ping和tracert看看是否是網路問題,最後檢查pc上的tnsnames.ora配置文件是否正確,在pc上做tracerc看網路鏈接是否正常?檢查pc上防火牆的設置等。如果nt server 不是你的database server那麼說明你的database server的網路鏈接是正常的,那麼需要的就是:檢查pc上的tnsnames.ora配置文件是否正確,在pc上做tracerc看網路鏈接是否正常,檢查pc上防火牆的設置等。當然還有一種比較特殊的情況,在pc安裝了64位win操作系統+32位的oracle時會發生在cmd下可以進行鏈接,但是使用oracle的其他連接方式如客戶端,oem等等就會報tns錯誤,這是oracle本身的bug。
8、char和varchar2最根本的區別就在於一個是固定長度,另一個是可變長度。它們對空間的佔用量是不同的,在同樣長度的字元下char類型的需要用空字元補充不足的字元數,而varchar2則不會。當然運行效率上char占優。
9、這個太長,懶得打了。
㈥ 甲骨文(Oracle)面試題目
甲骨文(Oracle)面試題目 這也許是你一直期待的文章,在關注這部分 技術 問題的同時,請務必閱讀有關 面試 中有關
個人的問題和解答。這里的回答並不是十分全面,這些問題可以通過多個角度來進行解釋
,也許你不必在面試過程中給出完全詳盡的答案,只需要通過你的解答使面試考官了解你
對ORACLE概念的熟悉程度。
1.解釋冷備份和熱備份的不同點以及各自的優點
解答:熱備份針對歸檔模式的資料庫,在資料庫仍舊處於工作狀態時進行備份。而冷
備份指在資料庫關閉後,進行備份,適用於所有模式的資料庫。熱備份的優點在於當備份
時,資料庫仍舊可以被使用並且可以將資料庫恢復到任意一個 時間 點。冷備份的優點在於
它的備份和恢復操作相當簡單,並且由於冷備份的資料庫可以工作在非歸檔模式下,資料庫
性能會比歸檔模式稍好。(因為不必將archive log寫入硬碟)
2.你必須利用備份恢復資料庫,但是你沒有控制文件,該如何解決問題呢?
解答:重建控制文件,用帶backup control file 子句的recover 命令恢復資料庫。
3.如何轉換init.ora到spfile?
解答:使用create spfile from pfile 命令.
4.解釋data block , extent 和 segment的區別(這里建議用英文術語)
解答:data block是資料庫中最小的邏輯存儲單元。當資料庫的對象需要更多的物理
存儲空間時,連續的data block就組成了extent . 一個資料庫對象擁有的所有extents被
稱為該對象的segment.
5.給出兩個檢查表結構的`方法
解答:1.DESCRIBE命令
2.DBMS_METADATA.GET_DDL 包
6.怎樣查看資料庫引擎的報錯
解答:alert log.
7.比較truncate和delete 命令
解答:兩者都可以用來刪除表中所有的記錄。區別在於:truncate是DDL操作,它移動
HWK,不需要rollback segment .而Delete是DML操作, 需要rollback segment 且花費較長
時間.
8.使用索引的理由
解答:快速訪問表中的data block
9.給出在STAR SCHEMA中的兩種表及它們分別含有的數據
解答:Fact tables 和dimension tables. fact table包含大量的主要的信息而dime
nsion tables 存放對fact table 某些屬性描述的信息
10.FACT Table上需要建立何種索引?
解答:點陣圖索引 (bitmap index)
11. 給出兩種相關約束?
解答:主鍵和外鍵
12. 如何在不影響子表的前提下,重建一個母表
解答:子表的外鍵強制實效,重建母表,激活外鍵
13. 解釋歸檔和非歸檔模式之間的不同和它們各自的優缺點
解答:歸檔模式是指你可以備份所有的資料庫 transactions並恢復到任意一個時間點
。非歸檔模式則相反,不能恢復到任意一個時間點。但是非歸檔模式可以帶來資料庫性能
上的少許提高.
14. 如何建立一個備份控制文件?
解答:Alter database backup control file to trace.
15. 給出資料庫正常啟動所 經歷 的幾種狀態 ?
解答:STARTUP NOMOUNT – 資料庫實例啟動
STARTUP MOUNT - 資料庫裝載
STARTUP OPEN – 資料庫打開
16. 哪個column可以用來區別V$視圖和GV$視圖?
解答:INST_ID 指明集群環境中具體的 某個instance 。
17. 如何生成explain plan?
解答:運行utlxplan.sql. 建立plan 表
針對特定SQL語句,使用 explain plan set statement_id = 'tst1' into pl
an_table ,運行utlxplp.sql 或 utlxpls.sql察看explain plan
18. 如何增加buffer cache的命中率?
解答:在資料庫較繁忙時,適用buffer cache advisory 工具,查詢v$db_cache_adv
ice.如果有必要更改,可以使用 alter system set db_cache_size 命令
19. ORA-01555的應對方法?
解答:具體的出錯信息是snapshot too old within rollback seg , 通常可以通過增
大rollback seg來解決問題。當然也需要察看一下具體造成錯誤的SQL文本
20. 解釋$ORACLE_HOME和$ORACLE_BASE的區別?
解答:ORACLE_BASE是oracle的根目錄,ORACLE_HOME是oracle產品的目錄。 ;
㈦ Oracle DBA創建資料庫試題精選
Q : This symbol When you put infront of a line in the parameter file signifies a ment $ @ # ! Q : When you change a parameter value in the parameter file when will that change takes affect? Immediately after saving the parameter file At the first CHECKPOINT after saving the paramter file When the DBWR finishes writing all the dirty buffers to the disk At the next instance startup Q : ALTER SYSTEM DEFFERED mand modifies the global parameters for existing sessions after a certain amount of time new sessions only existing and new sessions depends on the SPIN_COUNT initialization parameter Q : The location where debugging trace files for back ground processes are written is specified by LOGFILE_DEST ORACLE_HOME BACKGROUND_DUMP_DEST CORE_DUMP_DEST Q : In case of heavy contention for latches set the LOG_SIMULTANEOUS_COPIES initialization parameter to Twice the number of CPUs Same as the DB Block Buffers Same as the Shared Pool Size None of the above Q : What is the first step in manually creating a new database Startup an instance Start SQL*Plus and connect to Oracle as SYSDBA Check the instance identifier for your system Create a parameter file Q : Which of the following is true regarding control files Oracle remeds atleast o control files stored on o separate disks Oracle remeds atleast o control files stored on one disk Oracle remeds to store one control file One control file is not enough to run a database Q : Tom created a database with a DB_BLOCK_SIZE of k he wants to increase this to k what is his next step Issue ALTER SYSTEM SET DB_BLOCK_SIZE= k mand recreate the database with the new setting It can be done in both the ways the DB_BLOCK_SIZE cannot be k Q : Howmany rollback segments are required for Oracle to startup apart from SYSTEM rollback segment Oracle can start with just the system rollback segment Oracle Needs atleast rollback segments before it can start Oracle Needs a Temp Rollback Segment before it can start None of the above Q : The unit of measurement for DB_BLOCK_SIZE intialization parameter is BLOCKS BYTE PAGE ROW Q : This tablespace is a must before you run the database instance ROLLBACK TOOLS TEMP SYSTEM Q : Which initialization parameter determines the rollback segments that can be used by Oracle ROLLBACKS LOGFILE GROUP ROLLBACK_SEGMENTS DBA_ROLLBACK_SEGS Q : Which of the following is a valid but undocumented parameter in Oracle _CORRUPT_RBS _CORRUPT_REDO _CORRUPT_ROLLBACK_SEGMENTS None of the above lishixin/Article/program/Oracle/201311/17773
㈧ Oracle面試題(基礎篇)
Oracle面試題(基礎篇)
Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關系資料庫管理系統。以下是關於Oracle面試題(基礎篇),希望大家認真閱讀!
1. Oracle跟SQL Server 2005的區別?
宏觀上:
1). 最大的區別在於平台,oracle可以運行在不同的平台上,sql server只能運行在windows平台上,由於windows平台的穩定性和安全性影響了sql server的穩定性和安全性
2). oracle使用的腳本語言為PL-SQL,而sql server使用的腳本為T-SQL
微觀上: 從數據類型,資料庫的結構等等回答
2. 如何使用Oracle的游標?
1). oracle中的游標分為顯示游標和隱式游標
2). 顯示游標是用cursor...is命令定義的游標,它可以對查詢語句(select)返回的多條記錄進行處理;隱式游標是在執行插入 (insert)、刪除(delete)、修改(update)和返回單條記錄的查詢(select)語句時由PL/SQL自動定義的。
3). 顯式游標的操作:打開游標、操作游標、關閉游標;PL/SQL隱式地打開SQL游標,並在它內部處理SQL語句,然後關閉它
3. Oracle中function和procere的區別?
1). 可以理解函數是存儲過程的一種
2). 函數可以沒有參數,但是一定需要一個返回值,存儲過程可以沒有參數,不需要返回值
3). 函數return返回值沒有返回參數模式,存儲過程通過out參數返回值, 如果需要返回多個參數則建議使用存儲過程
4). 在sql數據操縱語句中只能調用函數而不能調用存儲過程
4. Oracle的導入導出有幾種方式,有何區別?
1). 使用oracle工具 exp/imp
2). 使用plsql相關工具
方法1. 導入/導出的是二進制的數據, 2.plsql導入/導出的是sql語句的文本文件
5. Oracle中有哪幾種文件?
數據文件(一般後綴為.dbf或者.ora),日誌文件(後綴名.log),控制文件(後綴名為.ctl)
6. 怎樣優化Oracle資料庫,有幾種方式?
個人理解,資料庫性能最關鍵的因素在於IO,因為操作內存是快速的,但是讀寫磁碟是速度很慢的,優化資料庫最關鍵的問題在於減少磁碟的IO,就個人理解應該分為物理的和邏輯的優化, 物理的是指oracle產品本身的一些優化,邏輯優化是指應用程序級別的優化
物理優化的一些原則:
1). Oracle的運行環境(網路,硬體等)
2). 使用合適的優化器
3). 合理配置oracle實例參數
4). 建立合適的索引(減少IO)
5). 將索引數據和表數據分開在不同的表空間上(降低IO沖突)
6). 建立表分區,將數據分別存儲在不同的分區上(以空間換取時間,減少IO)
邏輯上優化:
1). 可以對表進行邏輯分割,如中國移動用戶表,可以根據手機尾數分成10個表,這樣對性能會有一定的作用
2). Sql語句使用佔位符語句,並且開發時候必須按照規定編寫sql語句(如全部大寫,全部小寫等)oracle解析語句後會放置到共享池中
如: select * from Emp where name=? 這個語句只會在共享池中有一條,而如果是字元串的話,那就根據不同名字存在不同的語句,所以佔位符效率較好
3). 資料庫不僅僅是一個存儲數據的地方,同樣是一個編程的地方,一些耗時的操作,可以通過存儲過程等在用戶較少的情況下執行,從而錯開系統使用的高峰時間,提高資料庫性能
4). 盡量不使用*號,如select * from Emp,因為要轉化為具體的列名是要查數據字典,比較耗時
5). 選擇有效的表名
對於多表連接查詢,可能oracle的優化器並不會優化到這個程度, oracle 中多表查詢是根據FROM字句從右到左的數據進行的,那麼最好右邊的表(也就是基礎表)選擇數據較少的表,這樣排序更快速,如果有link表(多對多中間表),那麼將link表放最右邊作為基礎表,在默認情況下oracle會自動優化,但是如果配置了優化器的情況下,可能不會自動優化,所以平時最好能按照這個方式編寫sql
6). Where字句 規則
Oracle 中Where字句時從右往左處理的,表之間的連接寫在其他條件之前,能過濾掉非常多的數據的條件,放在where的末尾, 另外!=符號比較的列將不使用索引,列經過了計算(如變大寫等)不會使用索引(需要建立起函數), is null、is not null等優化器不會使用索引
7). 使用Exits Not Exits 替代 In Not in
8). 合理使用事務,合理設置事務隔離性
資料庫的數據操作比較消耗資料庫資源的,盡量使用批量處理,以降低事務操作次數
7. Oracle中字元串用什麼符號鏈接?
Oracle中使用 || 這個符號連接字元串 如 ‘abc’ || ‘d’
8. Oracle分區是怎樣優化資料庫的`?
Oracle的分區可以分為:列表分區、范圍分區、散列分區、復合分區。
1). 增強可用性:如果表的一個分區由於系統故障而不能使用,表的其餘好的分區仍可以使用;
2). 減少關閉時間:如果系統故障隻影響表的一部份分區,那麼只有這部份分區需要修復,可能比整個大表修復花的時間更少;
3). 維護輕松:如果需要得建表,獨產管理每個公區比管理單個大表要輕松得多;
4). 均衡I/O:可以把表的不同分區分配到不同的磁碟來平衡I/O改善性能;
5). 改善性能:對大表的查詢、增加、修改等操作可以分解到表的不同分區來並行執行,可使運行速度更快
6). 分區對用戶透明,最終用戶感覺不到分區的存在。
9. Oracle是怎樣分頁的?
Oracle中使用rownum來進行分頁, 這個是效率最好的分頁方法,hibernate也是使用rownum來進行oralce分頁的
select * from
( select rownum r,a from tabName where rownum <= 20 )
where r > 10
10. Oralce怎樣存儲文件,能夠存儲哪些文件?
Oracle 能存儲 clob、nclob、 blob、 bfile
Clob 可變長度的字元型數據,也就是其他資料庫中提到的文本型數據類型
Nclob 可變字元類型的數據,不過其存儲的是Unicode字元集的字元數據
Blob 可變長度的二進制數據
Bfile 資料庫外面存儲的可變二進制數據
11. Oracle中使用了索引的列,對該列進行where條件查詢、分組、排序、使用聚集函數,哪些用到了索引?
均會使用索引, 值得注意的是復合索引(如在列A和列B上建立的索引)可能會有不同情況
12. 資料庫怎樣實現每隔30分鍾備份一次?
通過操作系統的定時任務調用腳本導出資料庫
13. Oracle中where條件查詢和排序的性能比較?
Order by使用索引的條件極為嚴格,只有滿足如下情況才可以使用索引,
1). order by中的列必須包含相同的索引並且索引順序和排序順序一致
2). 不能有null值的列
所以排序的性能往往並不高,所以建議盡量避免order by
14. 解釋冷備份和熱備份的不同點以及各自的優點?
冷備份發生在資料庫已經正常關閉的情況下,將關鍵性文件拷貝到另外位置的一種說法
熱備份是在資料庫運行的情況下,採用歸檔方式備份數據的方法
冷備的優缺點:
1).是非常快速的備份方法(只需拷貝文件)
2).容易歸檔(簡單拷貝即可)
3).容易恢復到某個時間點上(只需將文件再拷貝回去)
4).能與歸檔方法相結合,作資料庫“最新狀態”的恢復。
5).低度維護,高度安全。
冷備份不足:
1).單獨使用時,只能提供到“某一時間點上”的恢復。
2).在實施備份的全過程中,資料庫必須要作備份而不能作其它工作。也就是說,在冷備份過程中,資料庫必須是關閉狀態。
3).若磁碟空間有限,只能拷貝到磁帶等其它外部存儲設備上,速度會很慢。
4).不能按表或按用戶恢復。
熱備的優缺點
1).可在表空間或數據文件級備份,備份時間短。
2).備份時資料庫仍可使用。
3).可達到秒級恢復(恢復到某一時間點上)。
4).可對幾乎所有資料庫實體作恢復。
5).恢復是快速的,在大多數情況下在資料庫仍工作時恢復。
熱備份的不足是:
1).不能出錯,否則後果嚴重。
2).若熱備份不成功,所得結果不可用於時間點的恢復。
3).因難於維護,所以要特別仔細小心,不允許“以失敗而告終”。
15. 解釋data block , extent 和 segment的區別?
data block 數據塊,是oracle最小的邏輯單位,通常oracle從磁碟讀寫的就是塊
extent 區,是由若干個相鄰的block組成
segment段,是有一組區組成
tablespace表空間,資料庫中數據邏輯存儲的地方,一個tablespace可以包含多個數據文件
;