[b]1.建立使用者時,需要賦予新使用者什麼許可權才能使它聯上資料庫。[/b] connect
[b]2. 如何在tablespace裡增加資料檔案?[/b]
alter tablespace add datafile size
[b]3. 如何變動資料檔案的大小?[/b]
alter database datafile resize
[b]4. 哪個view用來檢查資料檔案的大小?[/b]
dba_data_files
[b]5. 哪個view用來判斷tablespace的剩餘空間?[/b]
dba_free_space
[b]6. 如何判斷誰往表裡增加了一條紀錄?[/b]
auditing
[b]7. 如何重構索引?[/b]
alter index index-name rebuild ;
[b]8. 解釋什麼是partitioning(分割槽)以及它的優點。[/b]
patition將大表或者索引分割成更小,易與管理。
[b]9. 你剛剛編譯了乙個pl/sql package但是有錯誤報道,如何顯示出錯資訊?[/b]
show errors
[b]10. 如何蒐集表的各種狀態資料?[/b]
analyze
[b]11. 如何啟動session級別的trace[/b]
dbms_session.set_sql_trace
alter session set sql_trace=true
[b]12. import和sql*loader 這2個工具的不同點[/b]
import只能匯入由另乙個資料庫工具export匯出的資料;
sql*loader 可以匯入不同的ascii格式的資料來源。
[b]13.用於網路連線的2個檔案?[/b]
tnsnames.ora sqlnet.ora black_snail
[b]14.請說明例項與資料庫的關係;表空間和資料檔案的關係?[/b]
資料庫:顧名思義是資料的集合,而oracle則是管理這些資料集合的軟體系統,它是乙個物件關係型的資料庫管理系統。
資料庫例項:資料庫啟動時,分配sga並啟動後台程序。後台程序和記憶體緩衝的集合合稱為資料庫例項。
表空間: 表空間是oracle對物理資料庫上相關資料的邏輯對映。乙個資料庫在邏輯上被劃分成一到若干個表空間,每個表空間包含了在邏輯上相關聯的一組結構。每個資料庫至少有乙個表空間(稱之為system表空間)。
資料檔案:每個表空間由同一磁碟上的乙個或多個檔案組成,這些檔案叫資料檔案(datafile)。資料檔案的大小之和即為表空間的儲存能力。
[b]15.請闡述同議詞的作用.你認為情況下要使用同義詞.?[/b]
建立同義詞語句:
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;
[b]16.檢視所有同義詞: [/b]
select * from dba_synonyms
好處:節省大量的資料庫空間,對不同使用者的操作同一張表沒有多少差別;擴充套件的資料庫的使用範圍,能夠在不同的資料庫使用者之間實現無縫互動;同義詞可以建立在不同乙個資料庫伺服器上,通過網路實現連線
[b]17.解釋冷備份和熱備份的不同點以及各自的優點:[/b]
答:熱備份針對歸檔模式的資料庫,在資料庫任然處於工作狀態時進行備份。而冷備份是在資料庫關閉後進行備份,適合所有模式的資料庫。
熱備份優點:備份期間資料庫仍然可用,可以將資料庫恢復到任意乙個時間點。
[b]18. 你必須利用備份恢復資料庫,但是你沒有控制檔案,該如何解決問題呢?[/b]
自己建立乙個控制檔案,用帶backup control file 子句的recover命令恢復資料庫。
[b]19. 如何轉換init.ora到spfile?[/b]
使用create spfile form pfile 命令。
[b]20. 解釋data block , extent 和 segment的區別[/b]
data block是資料庫中最小的邏輯儲存單元。
當資料庫的物件需要更多的物理儲存空間時,連續的data block就組成了extent,乙個資料庫物件擁有的所有extends被稱為該物件的segment.
[b]21. 給出兩個檢查表結構的方法 [/b]
desc
dbms_metadata.get_ddl
[b]22. 怎樣檢視資料庫引擎的報錯[/b]
alert log.
[b]23. 比較truncate和delete 命令[/b]
二者都用來刪除表中所有的記錄。區別在於:truncate 是ddl操作,不需要rollback segment ,而delete是dml操作,需要rollback segement且花費較長時間。
[b]24. 使用索引的理由[/b]
快速訪問表中的data block
[b]25. 如何在不影響子表的前提下,重建乙個母表[/b]
子表的外來鍵強制實效,重建母表,啟用外來鍵
[b]26. 給出資料庫正常啟動所經歷的幾種狀態 ?[/b]
startup nomount 資料庫例項啟動
startup mount 資料庫裝載
startup open 資料庫開啟
[b]27. 哪個column可以用來區別v$檢視和gv$檢視?[/b]
inst_id 指明集群環境中具體的某個instance .
17. 如何生成explain plan?
[b]28. 如何增加buffer cache的命中率?[/b]
解答:在資料庫較繁忙時,適用buffer cache advisory 工具,查詢v$db_cache_advice . 如果有必要更改,可以使用 alter system set db_cache_size 命令
[b]28.ora-01555的應對方法?[/b]
解答:具體的出錯資訊是snapshot too old within rollback seg , 通常可以通過增大rollback seg來解決問題。當然也需要察看一下具體造成錯誤的sql。
[b]29. 解釋$oracle_home和$oracle_base的區別?[/b]
echo $oracle_home
要用oracle使用者,你看一下/home/oracle目錄下的.profile檔案裡面有沒有
oracle_home=......
export oracle_home 之類的東西。
還要確保/home/oracle/.dtprofile檔案裡面最後一行dtsourceprofile=true沒有被注釋掉。
需要oracle使用者執行
[b]su – oracle[/b]
unix區分大小寫的:su - oracle和su oracle的效果完全不一樣,su - oracle會執行oracle的.profile檔案,su oracle不會。
oracle_base下是admin和product
oracle_home下則是oracle的命令、連線庫、安裝助手、listener等等。
oracle_home比oracle_base目錄要更深一些。也就是:oracle_home=$oracle_base/product/version
oracle_base是oracle的根目錄,oracle_home是oracle產品的目錄。
簡單說,你如果裝了2個版本的oracle,那麼oracle_base可以是乙個,但oracle_home是2個
全域性資料庫名用於區別分布式資料庫各個不同機器上的例項。 sid用於區別同一臺機器上的不同例項, 即乙個用於外部區分;乙個用於內部區分。
[b]30如何判斷資料庫的時區?[/b]
解答:select dbtimezone from dual;
筆試題 資料庫 1
1.資料庫正確執行的四個基本要素是什麼?acid特性 原子性 atomicity 一致性 consistency 隔離性 isolation 永續性 durability 2.b 儲存所有的臨時表和臨時儲存過程。a.master資料庫b.tempdb資料庫c.model資料庫d.msdb資料庫 sq...
orale資料庫試題(1)
1 解釋function,procedure和package區別 答 function 和procedure是pl sql 的集合,通常為了完成乙個任務。procedure 不需要返回任何值而function將返回乙個值在另一方面,package是為了完成乙個商業功能的一組function和proc...
資料庫試題
資料庫方面 1.儲存過程和函式的區別 儲存過程是使用者定義的一系列sql語句的集合,涉及特定表或其它物件的任務,使用者可以呼叫儲存過程,而函式通常是資料庫已定義的方法,它接收引數並返回某種型別的值並且不涉及特定使用者表。2.事務是什麼?事務是作為乙個邏輯單元執行的一系列操作,乙個邏輯工作單元必須有四...