oracle資料庫習題
⑴ 幫忙把下面的這幾個題解答一下 關於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選擇題
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創建學生選課資料庫。完成下列要求:
學生表 student
課程表 course
學生選課關系表 stucourse
create table student(sno number primary key,sname varchar2(20));
insert into student values(1,'alley');
insert into student values(2,'bob');
commit;
create table course(cno number primary key,cname varchar2(20));
insert into course values(1,'語文');
insert into course values(2,'數學');
commit;
create table stucourse(sno number,cno number);
alter table stucourse add constraint pk_stucource primary key(sno,cno);
insert into stucourse values(1,1);
insert into stucourse values(1,2);
insert into stucourse values(2,1);
commit;
2. select a.sname,c.cname
from student a,stucourse b,coursec
where a.sno = b.sno and b.cno=c.no;
3. 查詢選修一門以上的學生,按學號從小到大排序
select a.sno, a.sname
from student a,stucourse b,course c
where a.sno = b.sno and b.cno=c.no
group by a.sno,a.sname
having count(1)>=1
order by a.sno;
4、各用一條語句實現下列功能:添加表的列、更新表的某一欄位值、刪除表的列、刪除表數據、修改表的名稱。
alter table student add ssex varchar2(2);
update student set ssex='女';
alter table student drop column ssex;
delete from student where sno=1;
alter table student rename to studentnew;
5、在PL/SQL中執行SELECT語句:在某一實體表中,查詢符合某一條件的記錄,並顯示相應的幾個欄位值
select sno, sname
from student
where sno=1;
6、用CASE語句實現一多分支結構
select case when sno=1 then '學號1『 when sno=2 then '學號2' else '其他學號' end
from student;
⑷ 請幫忙解決一道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資料庫面試題
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的題目:===========================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 包含大量的主要的信息而 dimension 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 plan_table
運行utlxplp.sql 或 utlxpls.sql察看explain plan 18. 如何增加buffer cache的命中率?
解答:在資料庫較繁忙時,適用buffer cache advisory 工具,查詢v$db_cache_advice . 如果有必要更改,可以使用 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產品的目錄。
21. 如何判斷資料庫的時區?
解答:SELECT DBTIMEZONE FROM DUAL;22. 解釋GLOBAL_NAMES設為TRUE的用途
解答:GLOBAL_NAMES指明聯接資料庫的方式。如果這個參數設置為TRUE,在建立資料庫鏈接時就必須用相同的名字連結遠程資料庫23。如何加密PL/SQL程序?
解答:WRAP24. 解釋FUNCTION,PROCEDURE和PACKAGE區別
解答:function 和procere是PL/SQL代碼的集合,通常為了完成一個任務。procere 不需要返回任何值而function將返回一個值在另一方面,Package是為了完成一個商業功能的一組function和proceudre的集合25. 解釋TABLE Function的用途
解答:TABLE Function是通過PL/SQL邏輯返回一組紀錄,用於普通的表/視圖。他們也用於pipeline和ETL過程。26. 舉出3種可以收集three advisory statistics
解答:Buffer Cache Advice, Segment Level Statistics, Timed Statistics27. Audit trace 存放在哪個oracle目錄結構中?
解答:unix $ORACLE_HOME/rdbms/audit Windows the event viewer28. 解釋materialized views的作用
解答:Materialized views 用於減少那些匯總,集合和分組的信息的集合數量。它們通常適合於數據倉庫和DSS系統。29. 當用戶進程出錯,哪個後台進程負責清理它
解答: PMON30. 哪個後台進程刷新materialized views?
解答:The Job Queue Processes.31. 如何判斷哪個session正在連結以及它們等待的資源?
解答:V$SESSION / V$SESSION_WAIT32. 描述什麼是 redo logs
解答:Redo Logs 是用於存放資料庫數據改動狀況的物理和邏輯結構。可以用來修復資料庫.
33. 如何進行強制LOG SWITCH?
解答:ALTER SYSTEM SWITCH LOGFILE;34. 舉出兩個判斷DDL改動的方法?
解答:你可以使用 Logminer 或 Streams35. Coalescing做了什麼?
解答:Coalescing針對於字典管理的tablespace進行碎片整理,將臨近的小extents合並成單個的大extent.36. TEMPORARY tablespace和PERMANENT tablespace 的區別是?
解答:A temporary tablespace 用於臨時對象例如排序結構而 permanent tablespaces用來存儲那些'真實'的對象(例如表,回滾段等)37. 創建資料庫時自動建立的tablespace名稱?
解答:SYSTEM tablespace.38. 創建用戶時,需要賦予新用戶什麼許可權才能使它聯上資料庫。
解答:CONNECT39. 如何在tablespace里增加數據文件?
解答:ALTER TABLESPACE <tablespace_name> ADD DATAFILE <datafile_name> SIZE <size>40. 如何變動數據文件的大小?
解答:ALTER DATABASE DATAFILE <datafile_name> RESIZE <new_size>;41. 哪個VIEW用來檢查數據文件的大小?
解答: DBA_DATA_FILES42. 哪個VIEW用來判斷tablespace的剩餘空間
解答:DBA_FREE_SPACE43. 如何判斷誰往表裡增加了一條紀錄?
解答:auditing 44. 如何重構索引?
解答: ALTER INDEX <index_name> REBUILD;45. 解釋什麼是Partitioning(分區)以及它的優點。
解答:Partition將大表和索引分割成更小,易於管理的分區。46. 你剛剛編譯了一個PL/SQL Package但是有錯誤報道,如何顯示出錯信息?
解答:SHOW ERRORS47. 如何搜集表的各種狀態數據?
解答: ANALYZE
The ANALYZE command.48. 如何啟動SESSION級別的TRACE
解答: DBMS_SESSION.SET_SQL_TRACE
ALTER SESSION SET SQL_TRACE = TRUE;49. IMPORT和SQL*LOADER 這2個工具的不同點
解答:這兩個ORACLE工具都是用來將數據導入資料庫的。
區別是:IMPORT工具只能處理由另一個ORACLE工具EXPORT生成
的數據。而SQL*LOADER可以導入不同的ASCII格式的數據源50。用於網路連接的2個文件?
解答: TNSNAMES.ORA and SQLNET.ORA=======================================================================
⑺ 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