溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

OracleDBA之數據庫管理

發布時間:2020-06-25 03:03:17 來源:網絡 閱讀:294 作者:吳金瑞 欄目:數據庫

    

以下這些東西是我的麥庫上存的當時學Oracle的學習筆記今天拿出來和大家分享一下,轉載請注明出處,下面用的Oracle的版本是10g,用的時WinServer2003的操作系統,可能有些命令和Oracle11g的有所不同,但大部分是一樣的,接下來還會陸續的分享一下Oracle中對用戶的管理,對表的管理,還有Oracle中的存儲過程和PL/SQL編程。用到的Oracle的管理工具是PL/SQL Developerl和SQL PLUS,歡迎大家批評指正。

1.數據庫管理員的職責:

  1.安裝和升級Oracle數據庫
  2.創建數據庫,表空間,表,視圖,索引
  3.制定并實施備份和恢復數據庫計劃
  4.數據庫權限管理,調優,故障排除
  5.對于高級的dba可以參與項目的開發,會編寫sql語句,存儲過程,觸發器,規則,約束,包

2.管理數據庫的主要用戶主要是sys和system: 例如:sys是董事長,system是總經理
    1.兩者尊重要的區別:存儲數據的重要性不同。
                  sys:所有oracle數據字典的基表和視圖都存放在sys用戶中,這些基表和視圖對oracle的運行是至關重要的
                  由數據庫自己維護,任何用戶都不可手動更改,sys擁有dba,sysdba,sysoper角色或權限是oracle權限的最高用戶。
      system:用于存放次一級的內部數據,system擁有dba,sysoper角色或權限
    2.第二個區別
      sys:必須以sysdba 或 sysoper的角色登錄,不能以normal方式登錄

3.對初始化參數的修改
  1.顯示初始化參數
    show parameter

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

 

4.數據庫的邏輯備份:
  邏輯備份是指使用工具export將數據對象的結構和數據導出到文件的過程。
  邏輯回復是指當數據庫被誤操作后利用工具import利用備份的數據導入到數據庫的過程。
  物理備份即可在數據庫open下操作也可以在關閉下操作。
  但邏輯備份只能在數據庫的open下操作。

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

  1).導出表:導出scott用戶下數據庫實例orcl中emp的表,存放的文件路徑為e:/emp.dmp;
    在cmd的控制臺下執行:

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

  2)導出其他方案的表
    如果要導出其他方案的表則需要dba權限或者exp_full_database權限

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

  3)導出表的結構沒有其數據

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

  4)直接導出表結構(適合表中有大量的數據,速度比 rows=n 要快的多)

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

 

  2.導出方案:
    1)導出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).導出別的方案:如果要導出其他方案的表則需要dba權限或者exp_full_database權限

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

導出數據庫 inctype=complete;增量備份--第二次備份時只會添加新增的數據庫exp userid=system/system@orcl full=y inctype=complete file=e:\orcl.dmp;

 

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

    --刪除表是同時會刪除之前創建的savepoint,所以刪除表是無法rollback
    1.導入該用戶下的表:

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

    2.導入表到其他用戶要求DBA權限或者imp_full_database的權限;

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

 

    3.只導入表結構而不導入數據

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

 

    4.如果表已存在則只導入數據

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

 

    5.導入自身方案

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


    6.導入其他方案

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

 

    7.導入數據庫

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

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

  1.user_tables顯示當前用戶所擁有的表

sql>select table_name from user_tables;

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

sql>select table_name from all_tables;

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

 sql>select owner,table_name from dba_tables;

 

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

sql>select username from dba_users;

 

  5.通過查詢dba_sys_privs視圖可以查詢用戶所具有的系統權限

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

 

  6.通過查詢dba_tab_privs視圖可以查詢用戶所具有的對象權限

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

  7.通過查詢dba_col-Privs視圖可以查詢用戶所具有的列權限
  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.查詢系統權限

SQL> select * from system_privilege_map;

  

  11.查詢對象權限

SQL> select distinct privilege from dba_tab_privs;

  12.查詢角色擁有的系統權限

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

  13.查詢角色擁有的對象權限

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


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女