Oracle表空间与权限管理
 Oracle基础学习要学会建表,但是建表之前必须会建表空间,会建用户,因为一个表是谁建的,建在哪个表空间都狠重要,我在尝试的时候就遇到2个错误,但是后来解决了,在网上各位大虾的指导下。问题:1.表建在哪个表空间2.表是哪个用户创建的。
    
    解决:
    
    1.建表的create 语句后面加上tablespace FROEST,其中FROEST是表空间的名字s
    
    2.建一个froest的用户,权限分配为connect,resource,用pl/sql登录的时候Connect as Normal,这样登录后创建的表是froest用户的,如果用Connect as SYSDBA那么创建的表是SYS用户的。
    
    oracle 建表需要建立在表空间上,所以需先建立一个表空间
    
    建立表空间语句:
春天我们播种希望    
    1)。create tablespace "FROEST"
    
    datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\froest.dbf' size 10M
    
    autoextend on next 500k
    
清音浊世录    2)。create tablespace FROEST
    
    datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\froest.dbf' size 10M
    
    default storage(initial 500k
    
    next 500k
    
    minextents 1
    
    maxextents unlimited
    
    pctincrease 0
    
    )
    
    注释:
    
    1.pctincrease设置指定第三个区和此后各区的大小与前一个区相比的递增百分比。Oracle 建议使用 pctincrease 的零设置,使管理空间的任务更为容易,因为使用非零 pctincrease 设置可能导致表空间空闲空间碎片问题。
    
    2.MINIMUM EXTENT 50M 表示在这个表空间中创建对象时对对象的 extent 的约束,
最小要 50M;
    
    minextents 99 这时表空间默认存储参数的一部分, 表示至少要有 99 个 extent;
    
    一个表示 extent 的大小, 一个表示 extent 的多少。
    
    删除表空间:
    
    drop tablespace "FROEST" including contents and datafiles
    
    在这个表空间创建用户:
    
    create user froest identified by froest default tablespace FROEST
    
    给该用户分配角或者权限(其实分配角就相当于分配权限):
魏晋南北朝    
    grant connect,resource to froest
    
    grant delete on test to froest
    
    创建角:
    
树的年轮较密的地方向着什么面    create role student
    
    给角分配权限:
    
    grant delete on test to student
    
    删除角的权限:
    
    revoke delete on test from student
    
    删除角:
    
    drop role student(student是一个角)
    
    删除用户权限:
    
此情可待歌词    revoke connect,resource from froest
    
    删除该用户:
房屋出租协议书    
    drop user froest cascade
    
    在指定表空间建表,当前登录的用户就是表所属的用户(登录pl/sql的时候Connect as N
ormal,如果用SYSDBA的话,创建的表会在SYS用户下面):
    
    create table TEST1(
    
    USER_ID NUMBER(3) NOT NULL PRIMARY KEY,
    
    USER_NAME VARCHAR2(64) NOT NULL,
    
    USER_DESC VARCHAR2(64)
    
    )tablespace FROEST
    
    如果当前用户为froest,查询的时候就可以用:
    
    select * from froest.TEST1
    
    Qracle为了兼容以前的版本,提供了三种标准的角(role):CONNECT、RESOURCE和DBA.
    
    1. CONNECT Role(连接角)
    
    临时用户,特别是那些不需要建表的用户,通常只赋予他们CONNECTrole.CONNECT是使用Oracle的简单权限,这种权限只有在对其他用户的表有访问权时,包括select、insert、update和delete等,才会变得有意义。拥有 CONNECT role的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym )、会话(session)和与其他数据库的链(link)。
    
    2. RESOURCE Role(资源角)
    
    更可靠和正式的数据库用户可以授予RESOURCE role.RESOURCE提供给用户另外的
权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。
    
    3. DBA Role(数据库管理员角)
    
    DBA role拥有所有的系统权限----包括无限制的空间限额和给其他用户授予各种权限的能力。SYSTEM由DBA用户拥有。下面介绍一些DBA经常使用的典型权限。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。