Oracle基礎(三)資料庫管理

2021-07-03 13:23:13 字數 2787 閱讀 5336

上篇介紹了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...