當前位置:首頁 » 數據倉庫 » 資料庫管理員dba面試題
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫管理員dba面試題

發布時間: 2023-01-16 22:52:55

⑴ Oracle資料庫面試題 用戶的許可權都有哪些

系統許可權: 允許用戶執行特定的資料庫動作,如創建表、創建索引、連接實例等(對用戶而言)
對象許可權: 允許用戶操縱一些特定的對象,如讀取視圖,可更新某些列、執行存儲過程等(是針對表或視圖而言的)
1.系統許可權
超過一百多種有效的許可權(SELECT * FROM SYSTEM_PRIVILEGE_MAP查)
資料庫管理員具有高級許可權以完成管理任務,例如:
–創建新用戶
–刪除用戶
–刪除表
–備份表
系統許可權分類:
DBA: 擁有全部特權,是系統最高許可權,只有DBA才可以創建資料庫結構。
RESOURCE:擁有Resource許可權的用戶只可以創建實體,不可以創建資料庫結構。
CONNECT:擁有Connect許可權的用戶只可以登錄Oracle,不可以創建實體,不可以創建資料庫結構。
對於普通用戶:授予connect, resource許可權。
對於DBA管理用戶:授予connect,resource, dba許可權。
a.常用的系統許可權:
CREATE SESSION 創建會話
CREATE SEQUENCE 創建序列
CREATE SYNONYM 創建同名對象
CREATE TABLE 在用戶模式中創建表
CREATE ANY TABLE 在任何模式中創建表
DROP TABLE 在用戶模式中刪除表
DROP ANY TABLE 在任何模式中刪除表
CREATE PROCEDURE 創建存儲過程
EXECUTE ANY PROCEDURE 執行任何模式的存儲過程
CREATE USER 創建用戶
DROP USER 刪除用戶
CREATE VIEW 創建視圖
2.對象許可權
不同的對象具有不同的對象許可權
對象的擁有者擁有所有許可權
對象的擁有者可以向外分配許可權
ORACLE一共有種對象許可權
對象許可權 表 視圖 序列 過程
修改(alter) √ √
刪除(delete) √ √
執行(execute) √
索引(index) √
插入(insert) √ √
關聯(references) √ √
選擇(select) √ √ √
更新(update) √ √

⑵ 萬得資訊數據處理員的復試,主要是什麼樣的流程、會問什麼

復試一般都是管理層的直接對你面試。談的大概是薪酬、以及你對自己將來職業生涯的規劃等等一些問題,再有,不了解你那個公司大不大。一般公司不大的話復試不會特別嚴格,自由發揮就好,大公司更要講究應變了,對著他笑絕對有用,一下是資料庫管理員的職責。供參考

資料庫管理員的職責:

一、 一般監視
1. 監控資料庫的警告日誌。Alert<sid>.log,定期做備份刪除。
2. Linstener.log的監控,/network/admin/linstener.ora。
3. 重做日誌狀態監視,留意視圖v$log,v$logfile,該兩個視圖存儲重做日誌的信息。
4. 監控資料庫的日常會話情況。
5. 碎片、剩餘表空間監控,及時了解表空間的擴展情況、以及剩餘空間分布情況,如果有連續的自由空間,手工合並。
6. 監控回滾段的使用情況。生產系統中,要做比較大的維護和資料庫結構更改時,用rbs_big01來做。
7. 監控擴展段是否存在不滿足擴展的表。
8. 監控臨時表空間。
9. 監視對象的修改。定期列出所有變化的對象。
10. 跟蹤文件,有初始化參數文件、用戶後台文件、系統後台文件

二、 對資料庫的備份監控和管理
資料庫的備份至關重要,對資料庫的備份策略要根據實際要求進行更改,數據的日常備份情況進行監控。由於我們使用了磁帶庫,所以要對legato備份軟體進行監控,同時也要對rman備份資料庫進行監控。

三、 規范資料庫用戶的管理
定期對管理員等重要用戶密碼進行修改。對於每一個項目,應該建立一個用戶。DBA應該和相應的項目管理人員或者是程序員溝通,確定怎樣建立相應的資料庫底層模型,最後由DBA統一管理,建立和維護。任何資料庫對象的更改,應該由DBA根據需求來操作。

四、 對sql語句的書寫規范的要求
一個SQL語句,如果寫得不理想,對資料庫的影響是很大的。所以,每一個程序員或相應的工作人員在寫相應的SQL語句時,應該嚴格按照《SQL書寫規范》一文。最後要有DBA檢查才可以正式運行。

五、 DBA深層次要求
一個資料庫能否健康有效的運行,僅靠這些日常的維護還是不夠的,還應該致力於資料庫的更深一層次的管理和研究:資料庫本身的優化,開發上的性能優化;項目的合理化;安全化審計方面的工作;資料庫的底層建模研究、規劃設計;各種數據類型的處理;內部機制的研究;ora-600錯誤的研究、故障排除,等等很多值得探討的問題。

⑶ 15個 MySQL 基礎面試題,DBA 們准備好了嗎

問題1:你如何確定 MySQL 是否處於運行狀態?
答案: 在Debian 上運行命令 service mysql status,然後看輸出即可。
在 RedHat 或者 centos 上運行命令 service mysqld status,然後看看輸出即可。

問題2:如何開啟或停止 MySQL 服務?
答案:運行命令 service mysqld start 開啟服務;
運行命令 service mysqld stop 停止服務。

問題3:如何通過 Shell 登入 MySQL?
答案:運行命令 mysql -u用戶名 -p登陸密碼

問題4:如何列出所有資料庫?
答案:運行命令 show databases;

問題5: 如何切換到某個資料庫並在上面工作?
答案:(1)運行命令 use database_name;
(2)進入名為 database_name 的資料庫。

問題6:如何列出某個資料庫內所有表?
答案:在當前資料庫運行命令 show tables;

問題7:如何獲取表內所有 Field 對象的名稱和類型?
答案:運行命令 describe 表名;
簡寫為desc 表名;

問題8:如何刪除表?
答案:運行命令 drop table 表名;

問題9:如何刪除資料庫?
答案:運行命令 drop database 資料庫名;

問題10:如何查看錶內所有數據?
答案:運行命令 select * from 表名;

問題11:如何從表(比如 oc_users )中獲取一個 field 對象(比如 uid)的所有數據?
答案:運行命令 select uid from oc_users;

問題12:假設你有一個名為 『xyz』 的表,它存在多個欄位,如 『createtime』和 『engine』,
名為 engine 的欄位由 『Memoty』 和 『MyIsam』 兩種數值組成。
如何只列出 『createtime』 和 『engine』 這兩列,並且 engine 的值為 『MyIsam』?
答案:運行命令 select create_time, engine from xyz where engine = 「MyIsam」 ;

問題13:如何列出表 『xrt』 內 name 域值為 『tecmint』,web_address 域值為 『tecmint.com』 的所有數據?
答案:運行命令 select * from xrt where name = 「tecmint」 and web_address = 「tecmint.com」 ;

問題14:如何列出表 『xrt』 內 name 域值不為 『tecmint』,web_address 域值為 『tecmint.com』 的所有數據?
答案:運行命令 select * from xrt where name != 「tecmint」 and web_address = 「tecmint.com」;

問題15:如何知道表內行數?
答案:運行命令 select count(*) from 表名;

⑷ 求資料庫高手或者DBA幫寫sql。

DECLARE @sSql varchar(30)
set @sSql='深圳市思源軟體有限公司'
--1.1
select LEN(@sSql)
--1.2
select SUBSTRING(@sSql,4,2)
--1.3
select REPLACE(@sSql,'思源軟體','思源計算機軟體')
--1.4
select CONVERT(varchar(20),GETDATE(),23)
--1.5
DECLARE @Date1 date,@Date2 date
select @Date1='2008-03-01',@Date2='2007-12-31'
select DATEDIFF(DAY,@Date2,@Date1)

⑸ 面試的時候問你熟悉oracle資料庫嗎

如果是開發的話,那還是基於SQL這種語言的語法了,要多自己使用才能熟悉的。 對於oracle資料庫來說,PL/SQL delelopment是重點,除了SQL,還要了解觸發器trigger,存儲過程procere,任務job,視圖view等等。

⑹ 想從事DBA的工作即資料庫管理員,但是實力不夠,需要怎樣做呢

DBA資料庫管理員要求:
近年來,我一直在和資料庫管理員打交道,並直接面試了很多DBA職位。本文想概括一下IT行業對DBA的要求,以及國內DBA的新資現狀。可以肯定地說,做一個高級DBA是很不錯的職業。如果你打算成為一名DBA,那麼希望本文起到拋磚引玉的作用。

什麼是DBA

資料庫管理員,英文是Database Administrator,簡稱DBA。這個職位對不同的人意味著不同的意義。一個小的軟體開發工作室和一個分工高度明細的大公司相比,DBA的職責來得更加寬泛一些。一個公司,不管它是自己開發應用軟體,還是購買第三方的應用軟體,只要涉及到資料庫(有多少不涉及資料庫的應用軟體呢?資料庫是商業的靈魂和大腦啊),就需要確定是否僱傭一個或幾個DBA。知道DBA這個職位有哪些要求,對於企業內部這個職位的定義或者對於那些未來的DBA將是至關重要的。下面我列出了DBA的一些職責:

安裝和升級資料庫伺服器(如Oracle、Microsoft SQL server),以及應用程序工具。 資料庫設計系統存儲方案,並制定未來的存儲需求計劃。 一旦開發人員設計了一個應用,就需要DBA來創建資料庫存儲結構(tablespaces)。 一旦開發人員設計了一個應用,就需要DBA來創建資料庫對象(tables,views,indexes)。 根據開發人員的反饋信息,必要的時候,修改資料庫的結構。 登記資料庫的用戶,維護資料庫的安全性。 保證資料庫的使用符合知識產權相關法規。 控制和監控用戶對資料庫的存取訪問。 監控和優化資料庫的性能。 制定資料庫備份計劃,災難出現時對資料庫信息進行恢復 維護適當介質上的存檔或者備份數據 備份和恢復資料庫 聯系資料庫系統的生產廠商,跟蹤技術信息。 DBA的個性特點

很多時候管理人員都忽視了DBA的個性特點,他們只關注DBA的技術能力。實際上,上面談到的每個職責都意味著:DBA需要跟各種人員打交道,這些人員可能是銷售商、用戶、開發人員或者管理人員。這說明:DBA必須具有下面的個性特點:

自信心 好奇心 堅韌的意志力 老練 自我驅動 注意細節 為什麼這些個性特點很重要呢?

我就有幾個缺乏自信心的部下,他們反復問我一些事無巨細的問題,他們沒有信心哪怕做最小的決定。他們也缺乏工作的主動性。這對於初級DBA來說可能問題不太大,但對於那些高級DBA來說,如果他們缺乏自信心,他們又可以依賴誰幫他們決策呢?在DBA的面試中,即使你不能回答某個技術問題,你也要表現出足夠的自信心。最致命的不是不知道問題的答案,而是不知道從哪兒得到答案。

幾乎所有的資料庫系統都在不停地更新。但並不是所有的更新都有技術文檔。對於好的DBA來說,好奇心是必需的。沒有好奇心和求知慾的DBA總是等待有人告訴他們答案。而一個求知慾強的DBA將安裝最新版本的資料庫系統,並立即開始搜尋那些哪怕是細微的功能和性能上的差異和增強,從而改進自己的工作。應試時一個必然問及的問題是:你手頭有哪些參考資料?你如何使用它們?毫無疑問,如果你只回答了資料庫的文檔,或者你甚至沒有讀過他們,你的"股票市值"將大大下降。好奇心會驅使DBA們理解數據字典(Data Dictionary)、管理工具(Tools)或者其他支持包(Packages)。

DBA常常會碰到棘手的問題。尋找答案是一個需要堅韌意志力、可以經受摔打的個性特點。我常常在一些討論組或者論壇上看到DBA們提出的問題,這些問題往往是提問者自己可以解決的,如果他們具有堅韌的個性特點,並努力尋求問題的答案。

自我驅動對每個人都是很重要的,對DBA尤其如此。DBA要能想辦法使問題出現,而不是等待問題的出現。自驅力強的DBA常常設法取得或者自己寫一些必要的腳本(Script)來監控包括數據表大小(Table Size)、表空間使用(Tablespace Usage)等項目,這些項目如果被忽視,他們將遇到麻煩。應試的時候DBA們常常被問及在PL/SQL、SQL或者SQL*PLUS方面的經驗,這些問題將把你從從來沒有編寫過自己需要的腳本的那些DBA們區分開。

不用說和用戶,就是和程序員和管理人員打交道,也需要你足夠老練。一個一點不會處事的DBA不會為你做什麼好事,只會在你的部門點燃敵對情緒的烈火。老練是這樣一種能力,你勸告某個人到地府去,哈哈,最後這個人懷著渴望的心情去了。很多時候,開發者、管理者、用戶,他們會提出毫無道理的需求,DBA們需要老練地引導、修正它們的要求,說服他們。在應試時,你的應對就很能說明你是否老練。
最後說說注意細節,這種性格傾向非常重要。注意細節的DBA們衣著整潔,有自己的日程安排,在應試前對應聘的單位做過調查。注意細節的DBA們深入了解資料庫的內核,並能理解視圖、表之間的關系。

DBA的等級

DBA的等級並不是很嚴格的。按照對資料庫的掌握情況,我簡單地分成三個等級:初級Primary、中級Intermediate和高級Senior。

初級DBA又稱為DBBS,是英文Database Baby Sitter的縮寫。初級DBA常常是兼職的,他們往往同時是程序員或者兼任其他的工作。初級DBA往往把個人簡歷寫得很棒,參與了很多和資料庫有關的項目或工作。但是,這些項目或者工作往往是:第三方軟體供應商已經安裝並配置了資料庫,他們只做一些監控的工作。他們能處理一些簡單的問題,但大多數時候他們向應用軟體供應商求救。初級DBA更喜歡圖形化的資料庫管理或者監控工具,他們喜歡Access這樣的桌面資料庫簡單易用,並把這些小型資料庫的經驗簡單地應用到大型資料庫相關的工作中。

初級DBA是最好區分的。而中級DBA和高級DBA就不太好區分。他們的差別在於經驗的不同和個性特點、能力方面的差異。中級DBA比較多,他們可以勝任高級DBA的大部分工作,包括:

資料庫安裝 資料庫配置和管理 許可權設置和安全管理 監控和性能調節 備份和恢復 解決一般的問題 中級DBA往往從業一年左右,熟悉某種操作系統環境下的資料庫。因為對中級DBA來講,Windows NT和Unix是有很大差別的。中級DBA對SQL比較熟悉,他們自己購買了幾本資料庫方面的書籍,並深入鑽研。中級DBA往往同時兼任資料庫程序員,他們的工作對性能、穩定性、安全性的追求基本上不是很高,往往配合高級DBA做一些例行工作。

高級DBA在國內是非常少的。他們購買了太多的資料庫方面的英文資料,也許是托朋友從Amazon買的。相對於他們的報酬來講,買書的錢是很少的一個比例。高級DBA一般都熟悉很多種操作平台下的幾種大型資料庫。他們知道各種不同資料庫在不同環境下的優勢和劣勢,並能在資料庫平台和資料庫環境的選擇方面做出決策。他們一般通曉系統架構和資料庫設計,並能對資料庫進行各種級別的優化。高級DBA一般都配有助手,他們更偏向做決策和計劃。高級DBA往往在銀行業、保險業、在線交易等對穩定性、安全性、性能都要求比較高的關鍵業務處理領域大顯身手。

很多時候,是否取得資料庫專家認證證書並不是很重要。我知道很多資料庫廠商的培訓只要你去了都會獲得證書。有很多的公司提供商業化的培訓,他們的服務質量也有好有劣。所以證書並不是特別地有意義。

幾種流行的資料庫系統

最"容易"的資料庫系統-Microsoft SQL Server

如果你打算做一個DBA,建議你選擇那些現在比較流行的資料庫系統。這意味著你將有更多的就業機會、交流和培訓機會,而且,流行自有流行的理由,你可以因此省心很多。當然,就業競爭壓力也比較大。一般的入門者選擇Microsoft SQL Server,這是非常適合中小型企業的資料庫系統,熟悉Access的讀者很容易就能初步使用Microsoft SQL Server,成為一個DBBS。 J
Microsoft SQL Server 7.0的報價,5用戶版1399美金,增加用戶時,127美金每用戶。

最"難"的資料庫-無冕之王Oracle

如果你有機會接觸到Oracle,那可是個好機會。Oracle是目前最看好的資料庫廠商,由於其強大的功能和可配置、可管理能力,Oracle DBA的薪資一般比其他資料庫管理員的薪資要高。而且,Oracle在大中型企業的關鍵應用也更加普遍了。Oracle可以運行在Windows NT、Sun Solaris、Linux等平台下。很多情況下要求你不僅僅熟悉NT,還要你熟悉Unix;而且Oracle不太友善的界面和成箱的Oracle產品資料可能也是一個障礙。
Oracle 8i標准版的報價,如果運行在Windows NT,附帶JServer和interMedia,支持5個並發用戶,報價是3925美金每CPU。增加並發用戶時,785美金每用戶。增加附加的命名用戶時,392.5美金每用戶。

資料庫系統的貴族-IBM UDB/DB2

作為30年資料庫研究的成果,IBM DB2確實稱得上"資料庫系統的貴族"。不管是小型商業系統,還是大的銀行系統,用DB2都是可以高枕無憂的。最近推出的新版DB2 6.1, 管理和調節工具更加卓越和便於使用。DB2 可以運行在Intel架構上,也可以運行在IBM的S/390大型計算機上。如果你所在的行業對IBM的機器特別地稱道,建議你學習IBM DB2。

DB2有兩種版本:工作組版和企業版。工作組版999美元每伺服器,外加249美元每個並發用戶。而企業版是12500美元每個CPU,不限並發用戶數量。

以Java為中心的資料庫-Sybase Adaptive Server Enterprise(ASE) 12.0

即將發布的Sybase ASE 12.0,直接面向Java 程序員。這種以Java為中心的資料庫系統,為那些准備在Java 平台下構建企業應用的企業來說,將是最好的選擇。但是ASE稱不上一個資料庫領域的領先者,盡管相對於它以前的版本已經改進很多,並支持多個CPU和更多的並發,還有很多的新的特性。但Sybase的風光似乎已經不再。

值得期盼的Informix Centaur

有時候"第一"只是意味著你的對手需要等待更長的時間去趕上你。這正是1997年創立的Informix所面臨的。Informix公司是率先將多媒體特性加入到關系資料庫系統的大型資料庫廠商之一。但是如今,IBM、Oracle、Sybase都已經跨越了這個概念。所以,Informix不得不尋求新的支撐來使自己區別於其他資料庫廠商。這就是Informix Centaur的目標。Informix Centaur結合了Informix Dynamic Server 7.3的對象-關系資料庫和Informix Universal Data Option 9.1,意在獲得更好的適應性和多媒體支持。詳情如何,我們拭目以待!

DBA的薪資

有很多因素影響到你作為DBA的薪資:

你的經驗和能力所決定的DBA等級 你所熟悉的資料庫系統 你的個性特點和潛力 下面的表說明了國內DBA人員的基本薪資狀況,並說明了DAB等級和你所熟悉的資料庫系統怎樣影響到DBA的薪資。當然,這只是我個人掌握的情況,只能在一定程度上代錶行業的平均水平。

DBA等級資料庫系統 初級DBA年薪(萬元) 中級DBA年薪(萬元) 高級DBA年薪(萬元) Oracle 4 8 11 Microsoft SQL Server 3 5 8 IBM DB2 4 8 10 Sybase 3.5 6 8 Informix 4 7 10 註:每年按13個月計算。

⑺ 求資料庫工程師面試的自我介紹

尊敬的領導:
大家下午好!很榮幸能在這裡面試,讓我有向各位考官學習與交流的機會,現將自己的情況簡要介紹一下:我叫優就業,優是優秀的優,就是就業的就,業是畢業的業。我是**工業工程職業技術學院0*屆計算機網路專業應屆畢業生.即將面臨畢業,我渴望找到一份適合自己並值得為其奉獻一切的工作。
我有較好的計算機知識和應用能力,能熟練的進行Windows2000和LINUX操作,並能使用VB,DELPHI等語言編程.能運用網頁三劍客Photoshop等軟體進行相關工作。
我的專長是資料庫開發,我希望能從事這方面的工作.我曾開發過多個系統,基中有,成績管理系統,人事檔案管理系統,工資管理系統等等.
在大學期間,每個學期都獲得了獎學金,在學習理論的同時,我還培養自己的動手動力,先後的參加過專業技能和電腦操作等比賽,在校12屆文化藝術節中四項全能獲得三等獎。還擔任過班長,具有很強的組織和協調能力。很強的事業心和責任感使我能夠面對任何困難和挑戰。
最後,我想總結一下我的工作特點。第一是團隊協作意識強,善於與人交流和溝通;第二是動手能力和學習能力突出;第三是做事穩健,態度認真,有一定的組織協調 能力;第四是考慮問題全面、仔細,做事有自己明確的想法和計劃。我想在走上工作崗 位之後,我可以以最快的速度適應工作環境,不斷挖掘自己的能力,完善自己,為企業 創造效益。我想加入XX公司是因為我喜歡我的專業,也很看好XX公司的未來發展,在這里我可以學以致用,這讓我有很大的成就感和幸福感。同時我也很欣賞 XX公司的企業文化,很喜歡XX公司的工作環境。我願意成為企業一員,為企業的發展貢獻自己的一份力量。 我的職業生涯目標是,做一個既懂技術,又懂業務的復合型人才。