zoukankan      html  css  js  c++  java
  • oracle数据库表空间的创建与使用

     以下操作请使用sys系统账号操作!

    1. 查询物理存储的位置

    SELECT tablespace_name,
    file_id,
    file_name,
    round(bytes / (1024 * 1024), 0) total_space
    FROM dba_data_files
    ORDER BY tablespace_name;

    从图中filename字段可以看到中数据库文件存放在服务器的/opt/oracle/oradata/biee/目录下:

     

    2. 创建用户的临时表空间

     临时表空间用于用户执行查询时要使用的缓存空间。

    文件路径保存在/opt/oracle/oradata/biee目录

    CREATE TEMPORARY TABLESPACE DW_TEST_TMP_TBS
    TEMPFILE '/opt/oracle/oradata/biee/DW_TEST_TMP_TBS01.dbf'
    SIZE 32M
    AUTOEXTEND ON
    NEXT 32M MAXSIZE 2048M
    EXTENT MANAGEMENT LOCAL;

    3. 创建用户的表空间

    表空间用于存储表的内容的空间。

    这里要指定初始代销,自增的大小,以及文件的最大值。

    create tablespace DW_TEST_TBS
    logging
    datafile  '/opt/oracle/oradata/biee/DW_TEST_TBS01.dbf'
    size 7167M
    autoextend on
    next 3072M maxsize 32767M
    autoallocate             
    extent management local 
    segment space management auto; 

    4. 创建用户

    指定用户的默认表空间为DW_TEST_TBS,临时表空间为DW_TES_TMP_TBS

    create user DW_TEST identified by "DW_TEST" default tablespace DW_TEST_TBS  temporary tablespace DW_TEST_TMP_TBS profile DEFAULT;

    5. 修改用户的权限

    给用户添加以下权限。

    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,
        SELECT ANY SEQUENCE, CREATE ANY SEQUENCE,DROP ANY SEQUENCE,create trigger
    TO DW_TEST;
    
    ALTER user DW_TEST QUOTA UNLIMITED ON DW_TEST_TBS;

    6. 增加表空间大小

    通常完成1-5步骤以后,就可以使用DW_TEST用户登录使用了,此时表空间只分配了一个文件。

    为了减少运维麻烦,通常在初始创建时创建多个表空间文件,这样可以维持使用很久。

    因此,我通常每次都是增加10-20个文件来使用,注意每个文件后面的序号连续。

    ALTER TABLESPACE DW_TEST_TBS ADD DATAFILE '/opt/oracle/oradata/biee/DW_TEST_TBS02.dbf' SIZE 7167M AUTOEXTEND ON NEXT 3072M MAXSIZE 32767M;
    ALTER TABLESPACE DW_TEST_TBS ADD DATAFILE '/opt/oracle/oradata/biee/DW_TEST_TBS03.dbf' SIZE 7167M AUTOEXTEND ON NEXT 3072M MAXSIZE 32767M;
    ALTER TABLESPACE DW_TEST_TBS ADD DATAFILE '/opt/oracle/oradata/biee/DW_TEST_TBS04.dbf' SIZE 7167M AUTOEXTEND ON NEXT 3072M MAXSIZE 32767M;
    ALTER TABLESPACE DW_TEST_TBS ADD DATAFILE '/opt/oracle/oradata/biee/DW_TEST_TBS05.dbf' SIZE 7167M AUTOEXTEND ON NEXT 3072M MAXSIZE 32767M;
    ALTER TABLESPACE DW_TEST_TBS ADD DATAFILE '/opt/oracle/oradata/biee/DW_TEST_TBS06.dbf' SIZE 7167M AUTOEXTEND ON NEXT 3072M MAXSIZE 32767M;
    ALTER TABLESPACE DW_TEST_TBS ADD DATAFILE '/opt/oracle/oradata/biee/DW_TEST_TBS07.dbf' SIZE 7167M AUTOEXTEND ON NEXT 3072M MAXSIZE 32767M;
    ALTER TABLESPACE DW_TEST_TBS ADD DATAFILE '/opt/oracle/oradata/biee/DW_TEST_TBS08.dbf' SIZE 7167M AUTOEXTEND ON NEXT 3072M MAXSIZE 32767M;
    ALTER TABLESPACE DW_TEST_TBS ADD DATAFILE '/opt/oracle/oradata/biee/DW_TEST_TBS09.dbf' SIZE 7167M AUTOEXTEND ON NEXT 3072M MAXSIZE 32767M;
    ALTER TABLESPACE DW_TEST_TBS ADD DATAFILE '/opt/oracle/oradata/biee/DW_TEST_TBS010.dbf' SIZE 7167M AUTOEXTEND ON NEXT 3072M MAXSIZE 32767M;

     7. 查询结果

    SELECT tablespace_name,
    file_id,
    file_name,
    round(bytes / (1024 * 1024), 0) total_space
    FROM dba_data_files
    where tablespace_name = 'DW_TEST_TBS'
    ORDER BY tablespace_name;

    关于表空间使用情况的查询,可以查看另外一篇文章。

    http://www.cnblogs.com/30go/p/5332770.html

  • 相关阅读:
    Berkeley DB(五) 补充
    案例研究–亚马逊服务中断,数据库崩溃–我们恢复数据库且无数据损失
    源代码管理十诫
    menucool
    如何:使用變數視窗將變數加入封裝
    翻转句子中单词的顺序
    【科研论文】新型脉冲电子围栏网络化系统设计
    Java对泛型的支持(二)
    springmvc camel mybatis集成实例及分析
    xtrabackup全备方案,备份恢复全过程记录
  • 原文地址:https://www.cnblogs.com/30go/p/7910690.html
Copyright © 2011-2022 走看看