上篇介紹了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命令完成
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』
以上主要介紹了資料庫管理員的職責以及許可權,資料庫完整性中的增加索引的利弊等管理。這部分雖然每個開發人員都常用的到功能,但是作為資料庫管理,專案開發的管理人員確實必須要考慮並且做好的一項重要職責。
Oracle基礎(三)資料庫管理
上篇介紹了oracle資料庫的基本操作指令 增 刪 改 查以下針對資料庫的管理進行介紹 資料管理員 至少有乙個資料庫管理員dba。職責 安裝和公升級oracel資料庫 建庫,表空間,表。檢視。索引 制定並實施備份和恢復計畫 資料庫許可權管理,調優,故障排除 對於高階dba,要求能參與專案開發,會編寫...
Oracle 基礎之資料庫管理
oracle資料庫管理需要對應的許可權,最好是dba許可權 01 建立使用者給其乙個密碼 必須給其乙個密碼 02create user king identified by king 03 建立的新使用者要給其許可權 04grant connect to king 05grant resource ...
Oracle資料庫基礎 三 查詢
關聯查詢 1 笛卡爾積 指做關聯操作的每個表的每一行都和其他表的每一行的組合,假設兩個表的記錄條數分別是x和y,笛卡爾積將返回x y條記錄.select count from emp select count from dept select emp.ename,dept.dname from em...