• 表空间相关视图及其他修改表空间操作


    V$datafile 数据文件视图

    V$tablespace 表空间视图

    V$tempfile; 临时表空间视图

    SQL>Select TS#,name from v$tablespace;

    SQL>Select TS#,FILE#,STATUS from v$datafile;

    SQL>Drop tablespace test;

    SQL>Drop tablespace test including contents;

    SQL>drop tablespace app including contents and datafiles; 删除表空间定义及数据文件

    strings spfileVDEDU.ora 查看二进制的spfile文件

    Strings spfileVDEDU.ora > initVDEDU.ora 写到pfile里面,注意不要有断行

    将表空间设置成只读形式

    alter user hr default tablespace erhei;

    Alter table space erhei read only;

    Insert into t2 values(1);

    会报错,因为表空间是只读,无法写入

    Alter tablespace erhei read write;将表空间设置为读写

    收缩临时表空间

    Alter tablespace temp shrink space

    Alter tablespace tmp_III shrink keep 30M

    注意:如果缩小到的数值大于现在的数值,则命令不报错,但无效

    扩大临时表空间

    SQL>alter database tempfile ‘/u01/app/oracle/oradata/kingsql/temp_III01.dbf’ resize 300M;

    或者增加临时数据文件

    Alter database set default bigfile tablespace;创建表空间时默认为大文件表空间(慎用)

    Alter database set default smallfile tablespace;

    查询表空间是否为大文件表空间

    SQL> select tablespace_name,bigfile from dba_tablespaces;

    TABLESPACE_NAME        BIG

    ------------------------------ ---

    SYSTEM        NO

    SYSAUX        NO

    UNDOTBS1        NO

    TEMP        NO

    USERS        NO

    EXAMPLE        NO

    TEST        NO

    TEST2        NO

    TEMPTEST        NO

    TEST3        NO

    HRTBS        NO

    指定表使用表空间

    先创建表空间

    SYS@kingsql%> create tablespace tbs1

      2  datafile '/u01/app/oracle/oradata/kingsql/tbs101.dbf' size 100M autoextend on

      3  extent management local autoallocate

      4  segment space management auto;

    Tablespace created.

    SYS@kingsql%> create tablespace tbs2

      2  datafile '/u01/app/oracle/oradata/kingsql/tbs201.dbf' size 100M autoextend on

      3  extent management local uniform size 1M

      4  segment space management auto;

    Tablespace created.

    创建表指定使用表空间

    SYS@kingsql%> create table t1 tablespace tbs1 as select * from dba_objects where 1=2;

    Table created.

    SYS@kingsql%> create table t2 tablespace tbs2 as select * from dba_objects where 1=2;

    Table created.

    查看表使用的表空间信息

    SQL> select owner,SEGMENT_NAME,TABLESPACE_NAME,BYTES,BLOCKS from dba_extents where SEGMENT_NAME='T1' and owner='SYS';

    SQL> select owner,SEGMENT_NAME,TABLESPACE_NAME,BYTES,BLOCKS from dba_extents where SEGMENT_NAME='T2' and owner='SYS';

  • 相关阅读:
    程序员达到高效率的一种境界 狼人:
    IBM夏然:软件产业对整个国家发展举足轻重 狼人:
    浅析Node.js:一个“编码就绪”服务器 狼人:
    eBay的Turmeric和VJet的源程序移到了GitHub上 狼人:
    程序员最常见的技术性误区 狼人:
    我不是一个工程师——我是一个软件开发者 狼人:
    【简讯】Adobe停止发布AIR for Linux版本 狼人:
    【赏析】15个非常棒的使用CSS3的设计组合 狼人:
    5款最好的免费Linux缓存系统 狼人:
    漫画:天堂里没有程序员! 狼人:
  • 原文地址:https://www.cnblogs.com/kawashibara/p/9232480.html
Copyright © 2020-2023  润新知