如果想使用者想登入資料庫,或者想建立實體或資料庫結構就需要擁有相應的許可權。同理,想對資料物件進行一些操作,如:
插入,更改,刪除,檢視等等,同樣需要相應的許可權。下面我們來看一下許可權管理。
一、許可權管理 (dcl)
connect,resource,dba 是oracle系統的三個內建角色,角色許可權如下:
connect:擁有connect許可權的使用者只可以登入oracle,不可以建立實體,不可以建立資料庫結構。
resource:擁有resource許可權的使用者只可以建立實體,不可以建立資料庫結構。
dba:擁有全部特權,是系統最高許可權,只有dba才可以建立資料庫結構。
[注:一般來說,對於普通使用者,授予connect, resource許可權。對於管理員使用者,則授予 connect,resource,dba 許可權。]
常用的資料物件許可權有以下五個:
all|select|update|delete|insert|alter|on 資料物件名
1、grant 賦於許可權
grant connect, resource to 使用者名稱;
grant select on 表名 to 使用者名稱;
grant select, insert, delete on 表名 to 使用者名稱1, 使用者名稱2;
2、revoke **許可權
revoke connect, resource from 使用者名稱;
revoke select on 表名 from 使用者名稱;
revoke select, insert, delete on 表名 from 使用者名稱1, 使用者名稱2;
上面的賦權檢視只能在乙個資料庫中進行,不能進行跨資料庫訪問。如果想跨庫訪問怎麼辦呢?
3、資料庫鏈結 (database link)
1>
create database link 資料庫鏈結名 connect to 使用者名稱 identified by 密碼 using '資料庫連線字串';
2>資料庫連線字串可以直接修改tnsnames.ora裡定義.如:
(description =
(address_list =
(address = (protocol = tcp)(host = ******)(port = 1521))
)(connect_data =
(service_name = ***)))
3>查詢遠端資料庫裡的表
select * from 表名@資料庫鏈結名;
[注:我在使用的時候,'資料庫連線字串' 經常跟'資料庫名稱'一致]
二、表空間
表空間是資料庫的邏輯劃分,乙個表空間只能屬於乙個資料庫。所有的資料庫物件都存放在指定的表空間中
1、表空間路徑
--檢視表空間
select * from dba_tablespaces;
--設定表空間的讀寫狀態
alter tablespace tablespace_name read;
--設定表空間的可用狀態
alter tablespace tablespace_name;
--檢視表空間檔案路徑
select tablespace_name, file_id, bytes / 1024 / 1024, file_name
from dba_data_files
order by file_id;
--檢視使用者和預設表空間的關係
select username, default_tablespace from dba_users;
--檢視表空間組
select * from dba_tablespace_groups;
--刪除表空間
drop tablespace tablespace_name [including contents][cascade constraints];
2、建立表空間
第1步:建立臨時表空間
create temporary tablespace test_temp
tempfile 'e:\oracle\lv\oradata\orcl\test_temp.dbf'
size 50m
autoextend on
next 200m maxsize 10240m
extent management local;
第2步:建立資料表空間
create tablespace test_tbsp
logging
datafile 'e:\oracle\lv\oradata\orcl\test_data.dbf'
size 800m
autoextend on
next 100m maxsize 20480m
extent management local;
第3步:建立使用者並指定表空間
create user test_u identified by test_u
default tablespace test_data
temporary tablespace test_temp;
第4步:給使用者授予許可權
grant connect,resource,dba to test_u;
資料庫學習之oracle
1 oracle資料庫是乙個以高階結構化查詢語言 sql 為基礎的大型關係型資料庫。2 oracle的特點 極其優越的效能 大型資料庫和超大型資料庫首選 基於角色的許可權管理 良好的支援大資料儲存格式 圖音視動 良好的分部式管理 獨創性的表空間理念。3 oracle 8i i internet or...
Oracle 基礎之資料庫管理
oracle資料庫管理需要對應的許可權,最好是dba許可權 01 建立使用者給其乙個密碼 必須給其乙個密碼 02create user king identified by king 03 建立的新使用者要給其許可權 04grant connect to king 05grant resource ...
Oracle資料庫之DML(資料庫管理語言)
插入資料 insert into 更新資料 update set 更新一豎列 update userinfo set m 更新指定列 update userinfo set m where userinfoid 0003 update userinfo set m where nickname li...