Oracle学习之数据库管理(一)权限管理&表空间

本人对数据库整个管理也不是特别精通,目前接触到了就顺便了解了一下。如有不对的地方,请指正或留言补充。

如果想用户想登录数据库,或者想创建实体或数据库结构就需要拥有相应的权限。同理,想对数据对象进行一些操作,如:
插入,更改,删除,查看等等,同样需要相应的权限。下面我们来看一下权限管理。
一、权限管理 (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 = xxxxxx)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = xxx)
    )
  )
3>查询远端数据库里的表
  SELECT * FROM 表名@数据库链接名;
[注:我在使用的时候,'数据库连接字符串' 经常跟'数据库名称'一致]

二、表空间
表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中
1、表空间路径  
--查看表空间
  SELECT * FROM DBA_TABLESPACES;
--设置表空间的读写状态
  ALTER TABLESPACE tablespace_name read{only|write};
--设置表空间的可用状态
  ALTER TABLESPACE tablespace_name{online|offline[normal|temporary|immediate]};  
--查看表空间文件路径
  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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值