zoukankan      html  css  js  c++  java
  • 数据库表空间操作

    注意点:
    1.如果在PL/SQL 等工具里打开的话,直接修改下面的代码中[斜体加粗部分]执行
    2.确保路径存在,比如 C:oracleoradataOracle11 也就是你要保存文件的路径存在
    3.以下语句必须为dba权限的用户才可以执行成功。

    分为四步
    第1步:创建临时表空间

    create temporary tablespace user_temp   
    tempfile 'C:oracleoradataOracle11user_temp.dbf'   
    size 50m   
    autoextend on   
    next 50m maxsize 20480m   
    extent management local;  

    说明:

    user_temp 为需要创建的临时表空间的名称,根据实际情况可以自行变更。
    tempfile 后面为临时表空间文件存放的磁盘位置,文件不需要创建,但文件夹需要创建好。
    Create [TEMPORARY] TABLESPACE tablespace_name TEMPFILE|DATAFILE 'fileName.dbf' size xx
    #TEMPFILE|DATAFILE 指的是我们存储的数据文件的类型和名字。
    #size 表示数据文件的大小
    #[TEMPORARY] 如果我们创建的是临时表空间,那么需要在create关键字后加上TEMPORARY的关键字,而且使用TEMPFILE关键字。

    创建永久表空间

    create tablespace FNBANK   
    datafile '/opt/11g/oracle/oradata/nontax/bank.dbf'   
    size 50m   
    autoextend on   
    next 50m maxsize 20480m   
    extent management local; 

    创建临时表空间会报错:

    ORA-02195: 尝试创建的PERMANENT对象在TEMPORARY表空间中

    解决方案:把临时表空间删除。新建永久表空间

    ----删除表空间
    DROP TABLESPACE 表空间名字 INCLUDING CONTENTS AND DATAFILES;
    
    ----查看表空间
    select * from dba_tablespaces;
    
    ----查看表空间存储位置
    select * from dba_data_files

    第2步:创建数据表空间 

    create tablespace user_data   
    logging   
    datafile 'C:oracleoradataOracle11user_data.dbf'   
    size 50m   
    autoextend on   
    next 50m maxsize 20480m   
    extent management local; 

    说明:
    user_data 为需要创建的临时表空间的名称,根据实际情况可以自行变更。
    datafile 后面为表空间文件存放的磁盘位置,文件不需要创建,但文件夹需要创建好。

    第3步:创建用户并指定表空间

    create user username identified by password   
    default tablespace user_data   
    temporary tablespace user_temp;
    说明: 
    username 为需要创建数据库用户的用户名,根据实际情况可以自行变更。
    password为需要创建数据库用户的用户密码,根据实际情况可以自行变更
    user_data 为分配给该用户的表空间,根据实际情况可以自行变更
    user_data 为分配给该用户的临时表空间,根据实际情况可以自行变更

    第4步:给用户授予权限

    grant connect,resource,dba to username;  

    说明:
    username 为需要分配权限用户的用户名,根据实际情况可以自行变更。
    connect,resource,dba 分别三种不同操作权限,根据实际情况可以自行变更。

    实例:

    CREATE TABLESPACE FS_BSAF_TBS
    LOGGING
      DATAFILE '+DATA/bspjdb/datafile/FS_BSAF_TBS_01.dbf' SIZE 2G
      AUTOEXTEND ON NEXT 100M MAXSIZE 2G
      EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

    一个表空间的大小也不是可以通过添加数据文件的方式随便加的。
    如果你建的是一般的表空间(smallfile)的话一个表空间的最大大小应该是4m个oracle块。
    如果你建的是bigfile表空间的话,一个表空间的最大大小应该是4g个oracle块。
    不过不建议把一个表空间建的太大,如果太大的话一方面备份花费的时间长,另外一方面是,对存放在该表空间上的数据不安全,如果表空间出错了,那么该表空间上的数据都会丢掉。

    查看表空间的使用情况:

    https://blog.csdn.net/high2011/article/details/50674081

  • 相关阅读:
    Centos 安装postgreSQL9.4.3
    widnows2008双网卡双ip不同Ip段
    centos7服务器远程安装图形化页面
    yum install 安装时报yum doesn't have enough cached data to continue.
    linux通过ntpd同步服务器时间,
    电脑端微信多开
    h3c交换机配置ssh密码验证登录方式
    【Windows】Win10家庭版启用组策略gpedit.msc
    IOI2019游记
    Educational Codeforces Round 70
  • 原文地址:https://www.cnblogs.com/shawWey/p/8647676.html
Copyright © 2011-2022 走看看