Oracle程式設計開發面試題

2021-05-14 09:41:49 字數 5412 閱讀 5599

1.請說明例項與資料庫的關係;表空間和資料檔案的關係

2.請闡述同議詞的作用.你認為情況下要使用同義詞.

3.varchar2,char兩種資料型別有什麼區別,如果庫表某欄位輸入"abc"後儲存,該字段數

據型別分別為varchar2(10,char(10)儲存位元組長度以及內容有何區別?

4. talbe :

pub(pub_code char(2),pub_name varchar2(32))

book(book_code char(8),book_name varhcar2(128),pub_code char92),author_code

char(4),book_mem varchar2(128))

author(author_code char(4),author_name varchar2(10),*** char(1), age

number(3),dir varchar2(64))

auth_list(auth_date date,author_code char(4))

在pl/sql中有以下兩種字義

v_book_row book%rowtype;

v_book_code book.bank_code%type;

請說明v_book_row,v_book_code變數的含義以及資料型別

5.tnsnames.ora,listener.ora兩個檔案作用?

6.請看以下儲存過程

begin

begin

《語句1>

exception

when others

dbms_output.put_line("錯誤1");

end;

begin

《語句2>

dbms_output.putline("錯誤2");

end;

exception

when others then

dbms_output.put_line("錯誤3");

end;

請問,當《語句1>,《語句2>出錯時,該儲存過程輸出字串分別是什麼?

7.找出"作者"庫表中沒有出現在"獲獎名單"庫表中的所有作者資訊的sql語句,(提示:使用

not in,not exists,以及外部連線(+)三種方法),並說明那種方法是不優化的

出版社: 出版社** char(2),出版社名稱 varchar2(32)

圖書: 圖書編號 char(8),圖書名稱 varchar2(128),出版社** char(2),作者代號

char(4),圖書簡介 varchar2(128)

作者: 作者代號 char(4),作者名稱 varchar2(10),性別 char(1),年齡 number(3),文學

方向 varchar2(64)

獲獎名單: 獲獎日期 date,獲獎人員 char(4)

8.請闡述歸檔日誌模式與非歸檔日誌模式的區別以及對資料庫備份恢復能力的影響.

9.oracle資料庫表meter中存在偽列rowid,請利用rowid來編寫以下語句:從以下記錄中找

到唯一的任一條記錄並更新該記錄flag為"y".

month user_no assst_no flag

2004-7-1 1000009 10a0001 n

2004-7-1 1000009 10a0001 n

2004-7-1 1000009 10a0001 n

10.改寫函式為儲存過程

create or replace function two_number(v_one number,v_two number)

return number is

begin

return v_one*v_two

end;

請將該函式改寫為儲存過程,注意傳值引數如何設定

11.請說明冷備份的步驟和備份內容。

1、資料庫是一組磁碟或檔案的集合。例項物理記憶體中的資料結構和一組後台程序組成。乙個資料庫可以被多個例項所裝載,但乙個例項只能裝載乙個資料庫。

表空間是乙個邏輯概念,表空間包含段,段包含盤區,區包含資料塊。乙個段可以來自不同的資料檔案,區不能跨越資料檔案,乙個表空間可以包括多個資料檔案,但乙個資料檔案只能屬於乙個表空間。

2、同義詞是資料庫方案物件的乙個別名,經常用於簡化物件訪問和提高物件訪問的安全性。優點:首先,應用程式開發可以不管資料庫的具體物件名;其次,避免應用程式直接訪問資料庫物件,提高資料庫安全性;最後,簡化資料庫物件的訪問。

3、varchar2是這按字串的實際長度儲存,但char是按定義的長度儲存,如果字串長度不夠,則在其後使用空格填充。所以同樣儲存"abc",varchar2的儲存為'abc',長度為3,char儲存'abc ',字串後有7個空格符,長度為10。

4、v_book_row book%rowtype表示宣告了乙個變數v_book_row,它是乙個能儲存book表記錄的行記錄型別,v_book_code book.bank_code%type表示宣告了乙個變數v_book_code,與book表的bank_code欄位的型別一致,為char(8)型別。

5、tnsnames.ora用於客戶端,配置連線服務端的引數檔案,主要引數有伺服器、服務名、埠等,其中每個配置有乙個名稱,然後通過該名稱連線指定的資料庫;listener.ora是資料庫監聽配置檔案,在資料服務端,配置資料庫的監聽引數主要包括伺服器所在計算機、服務名、監聽埠號等。

配置好後需要啟動服務來監聽客戶端的連線請求。

6、語句一出錯輸出「錯誤1」,」錯誤2」,語句二出錯輸出「錯誤3」。

7、一般來說not exists高效,not in最差

select * from 作者 a where not exists (select 1 from 獲獎名單 b where a.作者代號 = b.獲獎人員);

select * from 作者 a where a.作者代號 not in (select 獲獎人員 from 獲獎名單 b);

select *

from (select * from 作者 a left join 獲獎名單 b on (a.作者代號 = b.獲獎人員))

where 獲獎人員 is null;

8、歸檔模式是指你可以備份所有的資料庫 transactions並恢復到任意乙個時間點。非歸檔模式則相反,不能恢復到任意乙個時間點。但是非歸檔模式可以帶來資料庫效能上的少許提高.

9、update meter a set a.flag = 'y' where rowid = (select max(rowid) from meter);

或update meter a set a.flag = 'y' where rowid = (select min(rowid) from meter);

10、create or replace procedure two_number(v_one number,v_two number, v_result number) is

begin

v_result := v_one*v_two;

end;

1.建立使用者時,需要賦予新使用者什麼許可權才能使它聯上資料庫。 connect

2. 如何在tablespace裡增加資料檔案?

alter tablespace add datafile size

3. 如何變動資料檔案的大小?

alter database datafile resize

4. 哪個view用來檢查資料檔案的大小?

dba_data_files

5. 哪個view用來判斷tablespace的剩餘空間?

dba_free_space

6. 如何判斷誰往表裡增加了一條紀錄?

auditing

7. 如何重構索引?

alter index index-name rebuild ;

8. 解釋什麼是partitioning(分割槽)以及它的優點。

patition將大表或者索引分割成更小,易與管理。

9. 你剛剛編譯了乙個pl/sql package但是有錯誤報道,如何顯示出錯資訊?

show errors

10. 如何蒐集表的各種狀態資料?

analyze

11. 如何啟動session級別的trace

dbms_session.set_sql_trace

alter session set sql_trace=true

12. import和sql*loader 這2個工具的不同點

import只能匯入由另乙個資料庫工具export匯出的資料;

sql*loader 可以匯入不同的ascii格式的資料來源。

13.用於網路連線的2個檔案?

tnsnames.ora sqlnet.ora black_snail

14.請說明例項與資料庫的關係;表空間和資料檔案的關係?

資料庫:顧名思義是資料的集合,而oracle則是管理這些資料集合的軟體系統,它是乙個物件關係型的資料庫管理系統。

資料庫例項:資料庫啟動時,分配sga並啟動後台程序。後台程序和記憶體緩衝的集合合稱為資料庫例項。

表空間: 表空間是oracle對物理資料庫上相關資料的邏輯對映。乙個資料庫在邏輯上被劃分成一到若干個表空間,每個表空間包含了在邏輯上相關聯的一組結構。

每個資料庫至少有乙個表空間(稱之為system表空間)。

資料檔案:每個表空間由同一磁碟上的乙個或多個檔案組成,這些檔案叫資料檔案(datafile)。資料檔案的大小之和即為表空間的儲存能力。

15.請闡述同議詞的作用.你認為情況下要使用同義詞.?

建立同義詞語句:

create public synonym table_name for user.table_name

其中第乙個user_table和第二個user_table可以不一樣。 此外如果要建立乙個遠端的資料庫上的某張表的同義詞,需要先建立乙個database link(資料庫連線)來擴充套件訪問,然後在使用如下語句建立資料庫同義詞:

create synonym table_name for table_name@db_link;

當然,你可能需要在user使用者中給當前使用者(user2)授權:

grant select/delete/update on user2

刪除同義詞:

drop public synonym table_name;

16.檢視所有同義詞:

select * from dba_synonyms

好處:節省大量的資料庫空間,對不同使用者的操作同一張表沒有多少差別;擴充套件的資料庫的使用範圍,能夠在不同的資料庫使用者之間實現無縫互動;同義詞可以建立在不同乙個資料庫伺服器上,通過網路實現連線

17.解釋冷備份和熱備份的不同點以及各自的優點:

答:熱備份針對歸檔模式的資料庫,在資料庫任然處於工作狀態時進行備份。而冷備份是在資料庫關閉後進行備份,適合所有模式的資料庫。

軟體研發面試題

2 從以上分析可以看出,把區域性變數改變為靜態變數後是改變了它的儲存方式即改變了它的生存期。把全域性變數改變為靜態變數後是改變了它的作用域,限制了它的使用範圍。3 static函式與普通函式作用域不同,僅在本檔案。只在當前原始檔中使用的函式應該說明為內部函式 static 內部函式應該在當前原始檔中...

軟體研發面試題

2 從以上分析可以看出,把區域性變數改變為靜態變數後是改變了它的儲存方式即改變了它的生存期。把全域性變數改變為靜態變數後是改變了它的作用域,限制了它的使用範圍。3 static函式與普通函式作用域不同,僅在本檔案。只在當前原始檔中使用的函式應該說明為內部函式 static 內部函式應該在當前原始檔中...

Oracle 開發工程師面試題必備

1.解釋冷備份和熱備份的不同點以及各自的優點 解答 熱備份針對歸檔模式的資料庫,在資料庫仍舊處於工作狀態時進行備份。而冷備份指在資料庫關閉後,進行備份,適用於所有模式的資料庫。熱備份的優點在於當備份時,資料庫仍舊可以被使用並且可以將資料庫恢復到任意乙個時間點。冷備份的優點在於它的備份和恢復操作相當簡...