溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

OracleDBA之?dāng)?shù)據(jù)庫管理

發(fā)布時(shí)間:2020-06-25 03:03:17 來源:網(wǎng)絡(luò) 閱讀:267 作者:吳金瑞 欄目:數(shù)據(jù)庫

    

以下這些東西是我的麥庫上存的當(dāng)時(shí)學(xué)Oracle的學(xué)習(xí)筆記今天拿出來和大家分享一下,轉(zhuǎn)載請(qǐng)注明出處,下面用的Oracle的版本是10g,用的時(shí)WinServer2003的操作系統(tǒng),可能有些命令和Oracle11g的有所不同,但大部分是一樣的,接下來還會(huì)陸續(xù)的分享一下Oracle中對(duì)用戶的管理,對(duì)表的管理,還有Oracle中的存儲(chǔ)過程和PL/SQL編程。用到的Oracle的管理工具是PL/SQL Developerl和SQL PLUS,歡迎大家批評(píng)指正。

1.數(shù)據(jù)庫管理員的職責(zé):

  1.安裝和升級(jí)Oracle數(shù)據(jù)庫
  2.創(chuàng)建數(shù)據(jù)庫,表空間,表,視圖,索引
  3.制定并實(shí)施備份和恢復(fù)數(shù)據(jù)庫計(jì)劃
  4.數(shù)據(jù)庫權(quán)限管理,調(diào)優(yōu),故障排除
  5.對(duì)于高級(jí)的dba可以參與項(xiàng)目的開發(fā),會(huì)編寫sql語句,存儲(chǔ)過程,觸發(fā)器,規(guī)則,約束,包

2.管理數(shù)據(jù)庫的主要用戶主要是sys和system: 例如:sys是董事長,system是總經(jīng)理
    1.兩者尊重要的區(qū)別:存儲(chǔ)數(shù)據(jù)的重要性不同。
                  sys:所有oracle數(shù)據(jù)字典的基表和視圖都存放在sys用戶中,這些基表和視圖對(duì)oracle的運(yùn)行是至關(guān)重要的
                  由數(shù)據(jù)庫自己維護(hù),任何用戶都不可手動(dòng)更改,sys擁有dba,sysdba,sysoper角色或權(quán)限是oracle權(quán)限的最高用戶。
      system:用于存放次一級(jí)的內(nèi)部數(shù)據(jù),system擁有dba,sysoper角色或權(quán)限
    2.第二個(gè)區(qū)別
      sys:必須以sysdba 或 sysoper的角色登錄,不能以normal方式登錄

3.對(duì)初始化參數(shù)的修改
  1.顯示初始化參數(shù)
    show parameter

  2.如何修改參數(shù)
    可以到文件oracle\admin\orcl\pfile\init.ora 下修改;

 

4.數(shù)據(jù)庫的邏輯備份:
  邏輯備份是指使用工具export將數(shù)據(jù)對(duì)象的結(jié)構(gòu)和數(shù)據(jù)導(dǎo)出到文件的過程。
  邏輯回復(fù)是指當(dāng)數(shù)據(jù)庫被誤操作后利用工具import利用備份的數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫的過程。
  物理備份即可在數(shù)據(jù)庫open下操作也可以在關(guān)閉下操作。
  但邏輯備份只能在數(shù)據(jù)庫的open下操作。

  數(shù)據(jù)的導(dǎo)出:!!!--在導(dǎo)入導(dǎo)出的時(shí)候要到oracle目錄的bin目錄下執(zhí)行命令;
  導(dǎo)出具體的分為:導(dǎo)出表,導(dǎo)出方案,導(dǎo)出數(shù)據(jù)庫
  導(dǎo)出用exp命令來實(shí)現(xiàn),該命令常用的選項(xiàng)有:
     userid:用于指定執(zhí)行導(dǎo)出操作的用戶名,口令,連接字符串;
     tables:用于指定導(dǎo)出操作的表;
     owner: 用于指定導(dǎo)出操作的方案;
     full=y:用于指定導(dǎo)出的數(shù)據(jù)庫;
     inctype:用于指定導(dǎo)出操作的增量類型;
     rows:執(zhí)行導(dǎo)出操作是否導(dǎo)出表中的數(shù)據(jù);
     file:用于指定導(dǎo)出文件名;

  1).導(dǎo)出表:導(dǎo)出scott用戶下數(shù)據(jù)庫實(shí)例orcl中emp的表,存放的文件路徑為e:/emp.dmp;
    在cmd的控制臺(tái)下執(zhí)行:

C:\Documents and Settings\Administrator.WEB-A93B1E61669>exp userid=scott/tiger@orcl tables=(emp,dept) file=e:\emp.dmp;

  2)導(dǎo)出其他方案的表
    如果要導(dǎo)出其他方案的表則需要dba權(quán)限或者exp_full_database權(quán)限

SQL>userid=system/system@orcl tables=(scott.emp) file=e:\emp1.dmp;

  3)導(dǎo)出表的結(jié)構(gòu)沒有其數(shù)據(jù)

exp userid=scott/tiger@orcl tables=(emp,dept) file=e:\emp.dmp rows=n;

  4)直接導(dǎo)出表結(jié)構(gòu)(適合表中有大量的數(shù)據(jù),速度比 rows=n 要快的多)

exp userid=scott/tiger@orcl tables=(emp.dept) file=e:\emp2.dmp direct=y;

 

  2.導(dǎo)出方案:
    1)導(dǎo)出scott的方案: exp scott/tiger@orcl owner=scott file=e:\scott.dmp;

C:\Documents and Settings\Administrator.WEB-A93B1E61669>exp userid=scott/tiger@orcl owner=scott file=e:\scott.dmp

    2).導(dǎo)出別的方案:如果要導(dǎo)出其他方案的表則需要dba權(quán)限或者exp_full_database權(quán)限

exp userid=system/system@orcl owner=(system,scott) file=e:\syscott.dmp;

導(dǎo)出數(shù)據(jù)庫 inctype=complete;增量備份--第二次備份時(shí)只會(huì)添加新增的數(shù)據(jù)庫exp userid=system/system@orcl full=y inctype=complete file=e:\orcl.dmp;

 

5.數(shù)據(jù)庫的導(dǎo)入:import 將文件中的數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫中,但導(dǎo)入的數(shù)據(jù)文件必須是用工具export導(dǎo)出的文件
  導(dǎo)入也分導(dǎo)入表,導(dǎo)入方案,導(dǎo)入數(shù)據(jù)庫三種方式
  imp常用的命令有:
    userid:用于指定導(dǎo)入操作的用戶名,口令,連接字符串;
    tables:用于執(zhí)行導(dǎo)入表操作
    fromuser:用于指定源用戶
    touser:用于指定目標(biāo)用戶
    file:用于指定導(dǎo)入文件名
    full=y:用于指定導(dǎo)入整個(gè)文件
    inctype:用于指定導(dǎo)入文件的增量類型
    rows:指定是否要導(dǎo)入表行(數(shù)據(jù))
    ignore:如果表存在則只導(dǎo)入表數(shù)據(jù)

    --刪除表是同時(shí)會(huì)刪除之前創(chuàng)建的savepoint,所以刪除表是無法rollback
    1.導(dǎo)入該用戶下的表:

imp userid=scott/tiger@orcl tables=(emp) file=e:\orcl.dmp;

    2.導(dǎo)入表到其他用戶要求DBA權(quán)限或者imp_full_database的權(quán)限;

imp userid=system/system@orcl tables=(emp) file=e:\orcl.dmp touser=scott;

 

    3.只導(dǎo)入表結(jié)構(gòu)而不導(dǎo)入數(shù)據(jù)

imp userid=scott/tiger@orcl tables=(emp) file=e:\orcl.dmp rows=n;

 

    4.如果表已存在則只導(dǎo)入數(shù)據(jù)

imp userid=scott/tiger@orcl tables=(emp) file=e:\orcl.dmp ignore=y;

 

    5.導(dǎo)入自身方案

imp userid=scott/tiger@orcl file=e:\scott.dmp;


    6.導(dǎo)入其他方案

imp userid=system/system@orcl file=e:\scott.dmp fromuser=system touser=scott;

 

    7.導(dǎo)入數(shù)據(jù)庫

imp userid=system/system@orcl full=y file=e:\orcl.dmp;

6.數(shù)據(jù)字典:
  數(shù)據(jù)字典記錄了數(shù)據(jù)庫的系統(tǒng)信息,它是只讀表和視圖的集合,數(shù)據(jù)字典的所有者是sys用戶
  用戶只能在表上執(zhí)行查詢操作(select操作),而其維護(hù)和修改是系統(tǒng)自動(dòng)完成的
  數(shù)據(jù)字典包括數(shù)據(jù)基表和數(shù)據(jù)視圖,數(shù)據(jù)基表里存儲(chǔ)的是數(shù)據(jù)庫的基本信息,普通用戶不能直接訪問數(shù)據(jù)庫基表的信息,數(shù)據(jù)字典里的視圖是基于
  基本表創(chuàng)建起來的虛表,用戶可以通過查詢視圖里的信息來查詢系統(tǒng)的信息
  數(shù)據(jù)字典里的視圖主要包括user_XXX,all_XXX和dba_XXX三種類型;

  1.user_tables顯示當(dāng)前用戶所擁有的表

sql>select table_name from user_tables;

  2.all_tables 顯示當(dāng)前用戶可以訪問到的所有表,不僅是該方案下的,也顯示其他方案下的

sql>select table_name from all_tables;

  3.dba_tables 顯示所有方案所擁有的表,要求用戶必須有dba角色或者有select_any_tables的權(quán)限如system用戶。
   

 sql>select owner,table_name from dba_tables;

 

  4.通過查詢dba_users來顯示數(shù)據(jù)庫中所有的用戶(視圖)

sql>select username from dba_users;

 

  5.通過查詢dba_sys_privs視圖可以查詢用戶所具有的系統(tǒng)權(quán)限

SQL>select * from dba_sys_privs where grantee='SYS'

 

  6.通過查詢dba_tab_privs視圖可以查詢用戶所具有的對(duì)象權(quán)限

SQL> select * from dba_tab_privs where grantee='SCOTT';

  7.通過查詢dba_col-Privs視圖可以查詢用戶所具有的列權(quán)限
  8.通過查詢dba_role_privs 視圖可以查詢用戶的角色;

SQL> select * from dba_role_privs where grantee='SCOTT';

GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE------------------------------ ------------------------------ ------------ ------------SCOTT RESOURCE NO YES

 

  9.查詢Oracle中的所有角色

SQL> select * from dba_roles;

 

  10.查詢系統(tǒng)權(quán)限

SQL> select * from system_privilege_map;

  

  11.查詢對(duì)象權(quán)限

SQL> select distinct privilege from dba_tab_privs;

  12.查詢角色擁有的系統(tǒng)權(quán)限

SQL>select * from dba_sys_privs where grantee='CONNECT';

  13.查詢角色擁有的對(duì)象權(quán)限

SQL>select * from dba_tab_privs where grantee='CONNECT';


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI