Oracle基礎(三)資料庫管理,oracle基礎
上篇介紹了Oracle資料庫的基本操作指令:增、刪、改、查下面針對資料庫的管理進行介紹
資料庫角色介紹
資料管理員: 至少有一個資料庫管理員dba,
職責:安裝和升級oracel資料庫
建庫,資料表空間,表,視圖,索引
制定並實施備份和恢複計劃
資料庫許可權管理,調優,故障排除
對於進階dba,要求能參與項目開發,會編寫sql語句,預存程序,觸發器,規則,約束,包
Sys 和system區別
1、 最重要,儲存的資料的重要性不同
Sys:所有oracle的資料字典的基表和視圖都存放在sys使用者中,這些基表和視圖對於oracle的運行至關重要,有資料庫自己維護,任何使用者都不能手動更改,sys擁有dba,sysdba,sysoper角色或許可權,是oracle許可權的最高使用者
System :使用者存放次一級的內部資料,如oracle的一些特性或工具的管理資訊,擁有dba,sysdba角色或系統許可權
2、 其次區別
Sys必須以as sysdba或as sysyoper形式登入,不能以normal方式登入資料庫
System如果正常登入,其實就是一個普通的dba,但如果以as sysdba登入,其結果實際上它是作為sys使用者登入的。
資料庫的邏輯備份和恢複
匯出 匯出表,匯出方案,匯出資料庫
使用exp命令完成
Userid:使用者指定執行匯出操作員的使用者名稱,口令,連結字串
Tables:匯出操作的表
Owner:匯出操作的方法
Full=y:匯出操作的資料庫
Inctype:匯出操作的增量類型
Rows :
Exp userid=scott/tiger@ myoraltables=(emo,dept) file=d:\e1.dmp
匯出自己的方案
Exp scott/tiger@myoral owner= scottfile=d:\scott.dmp
匯出其他的方案
Exp system/manager@myoralowner=(system,scott) file=d:\system.dmp
匯出資料庫
Exp userid=system/manager@myyoral full=yinctype=complete file =x.dmp
匯入自己表
Imp userid=scott.tiger@myortables=(emp) file =d:\xx.dmp
匯入表到其他使用者
Imp userid =system/manager@myortables=(emp) file = d:\xx.demp rows =n
匯入資料
Imp userid =scott/tiger@myor tables=(emp)file =d:\xx.dmp igore=y
資料字典和動態效能檢視
Db 提供資料庫的一些系統資訊包括資料字典基表和資料字典視圖,
動態效能檢視:記載了常式啟動後的相關資訊
管理資料表空間和資料檔案
Sql>select table_name from user_tables 查詢該使用者建立的所有的所有表格
All_tables 可訪問到的所有表
Dba_tables 顯示所有方案擁有的資料庫表
查詢表
Desc dba_users
查詢有多少匯總角色?
Select* from dba_roles
查詢某個使用者,具有怎樣的角色
Select * from dba_role_privs wheregrantee=’使用者名稱’
當前資料庫的全稱 :Select * from global_name
管理資料表空間和資料檔案
資料表空間:資料庫的邏輯組成部分,物理上,資料庫資料存放在資料檔案中,邏輯上將,資料庫則是存放在資料表空間中,資料表空間由一個或是多個資料檔案組成
資料庫的邏輯結構包括資料表空間,段,區和塊
資料表空間:控制資料庫佔用的磁碟空間
Dba 可以將不同資料類型部署到不同的位置,有利於提高I/O效能,有利於備份和恢複等管理操作
建立資料表空間 create tablespace
建立資料庫資料表空間
Create tablespace data01 datafile‘d:\test\data01.dbf’ size 20m uniform size 128k
使資料表空間離線:Alter tablespace users offline
聯機:Alter tablespace users online
唯讀為read only
約束
包括not null,unique,primay key ,foreign key ,check
表跟表的關係 references
刪除約束:alter table 表名 drop primary key cascade.
維護資料的完整性 管理索引
用於加速資料存取的資料對象。
單列索引:Create index 索引名 on 表名(列名)
複合索引:Create index emp_indes on emp(ename,job );
缺點:
佔用硬碟和記憶體 1.2倍
額外更新索引
顯示索引
Select index_name ,index_type formuser_indexes where table_name=’表名’
系統管理權限和角色
查詢許可權
Select * from system_privilege_map order byname
查詢某個角色包括哪些許可權
Select * from dba_sys_privs wheregrantee=’DBA’
以上主要介紹了資料庫管理員的職責以及許可權,資料庫完整性中的增加索引的利弊等管理。這部分雖然每個開發人員都常用的到功能,但是作為資料庫管理,項目開發的管理員確實必須要考慮並且做好的一項重要職責。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。