zoukankan      html  css  js  c++  java
  • oracle create user &tablespace & imp

    一、表空间

    1.创建表空间

    CREATE TABLESPACE 空间名称 DATAFILE '文件名1' SIZE 数字M [,'文件名2' SIZE 数字….] EXTENT MANAGEMENT LOCAL UNIFORM SIZE 数字M

    解释:

    EXTENT MANAGEMENT LOCAL:指明表空间类型是:本地管理表空间。本地管理表空 间要求Oracle中的数据分区(Extent)大小统一

    UNIFORM SIZE:指定每个分区的统一大小

    必须是管理员用户才能创建表空间,当表空间的空间不足时可以使用ALTER TABLESPACE命令向表空间中追加数据文件扩充表空间。

    例子:创建一个表空间,包含两个数据文件大小分别是10MB,5MB,要求extent的大小统一为1M。

    CREATE TABLESPACE MYSPACE
    DATAFILE 'D:/A.ORA' SIZE 10M,
        'D:/B.ORA' SIZE 5M
    EXTENT MANAGEMENT LOCAL
    UNIFORM SIZE 1M

    2.扩充表空间
    ALTER TABLESPACE MYSPACE ADD DATAFILE 'D:/C.ORA' SIZE 10M

    3.为某一用户指定默认表空间
    CREATE USER ACONG IDENTIFIED BY ACONG DEFAULT TABLESPACE MYSPACE

    4.为表指定表空间
    CREATE TABLE SCORES
    (ID NUMBER ,
    TERM VARCHAR2(2),
    STUID VARCHAR2(7) NOT NULL,
    LABSCORE NUMBER(4,1) NOT NULL )
    TABLESPACE MYSPACE

    5.为索引指定表空间
    CREATE INDEX UQ_ID ON SCORES(ID) TABLESPACE MYSPACE;
    表和索引一旦创建,表空间无法修改。

    三、

    create user oracleuser     //用户名:oracleuser
    identified by oracle      //登陆验证密码:oracle (密码是大小写敏感的)
    default tablespace SEINEEBSDATA  //用户的默认表空间:SEINEEBSDATA
    quota 10m on users        //默认表空间中可以使用的空间配额:10MB
    temporary tablespace temp //用户使用的临时表空间
    password expire;          //密码状态,过期。登陆的时候要求用户修改。
    ACCOUNT UNLOCK;

    grant create session to oracleuse; //赋予create session的权限,这样oracleuse用户就能成功登陆进去
    grant create table to oracleuse;// 赋予用户创建表的权限.但是用户此时还不能创建表,因为需要有使用表空间的权限(相当于用户有了进房间的钥匙,但是没有进大门的钥匙。 grant

    unlimited tablespace to SEINEEBS; //这个时候用户就拥有了创建表的权限由于表是用户SEINEEBS的相应的他就拥有了对创建的表的增删查改的权限了
    select * from user_sys_privs查看用户拥有什么权限可以通过查询一个系统的视图(数字字典)

    E:ORACLEORADATASEINEEBSSEINEEBSDATA_DATA01.DBF

    E:ORACLEORADATASEINEEBSSEINEEBSBASEDATA_DATA01.DBF


    创建用户表空间:
    CREATE TABLESPACE SEINEEBSDATA
    LOGGING 
    DATAFILE '/data/oracle_db/oradata/seineebs/SEINEEBSDATA_DATA01.DBF'
    SIZE 32M
    AUTOEXTEND ON
    NEXT 32M MAXSIZE 2048M --一般不设置最大值
    EXTENT MANAGEMENT LOCAL;

    创建临时表空间:
    CREATE TEMPORARY TABLESPACE TEMP
    TEMPFILE '/data/oracle_db/oradata/seineebs/TEMP01.dbf'
    SIZE 32M
    AUTOEXTEND ON
    NEXT 32M MAXSIZE 2048M
    EXTENT MANAGEMENT LOCAL; 

    创建用户并制定表空间:
    create user SEINEEBS identified by SEINEEBS default tablespace SEINEEBSDATA quota 10m on users temporary tablespace TEMP;


    给用户授予权限:
    GRANT CREATE SESSION, CREATE ANY TABLE, CREATE ANY VIEW ,CREATE ANY INDEX, CREATE ANY PROCEDURE,ALTER ANY TABLE,alter any procedure,drop any table,drop any view,drop any index,drop any procedure,select any table,insert any table,update any table,delete any table ,unlimited tablespace TO SEINEEBS;


    grant dba TO SEINEEBS; 


    imp system/SYS file=/home/oracle/seineebs.DMP fromuser=seineebs touser=seineebs buffer=65536


    实例:
    用户test 用户test1,test1的用户创建了个表mytab 并且插入了一些数据,那么test用户是否可以访问到test1的mytab?怎么访问?
    答:不可以,必须先授权。test1必须授权给test :
    grant select on mytab to test;
    那么这个时候test可以通过select * from test1.mytab;来访问mytab中的数据,如果想把某个表(对象)的所有权限都赋予给test那么可以:
    grant all on mytab to test;
    撤销所有权限
    revoke all on mytab to test;

  • 相关阅读:
    自我介绍
    目前流行的源程序版本管理软件和项目管理软件的优缺点
    四月是你的谎言
    软件分析(Mobile Apps )--百词斩
    程序扩展
    超级无敌小学四则运算题目程序
    4组 团队展示
    2020面向对象设计与构造 第四单元 & 课程 博客总结
    2020面向对象设计与构造 第三单元 博客总结
    2020面向对象设计与构造 第二单元 博客总结
  • 原文地址:https://www.cnblogs.com/Snowfun/p/4763390.html
Copyright © 2011-2022 走看看