`
sangei
  • 浏览: 340011 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

(转)Oracle 表空间与数据文件

阅读更多

一、概念

    表空间:是一个或多个数据文件的逻辑集合

    表空间逻辑存储对象:永久段-->如表与索引

                        临时段-->如临时表数据与排序段

                     回滚段-->用于事物回滚或闪回内存的撤销数据

    表空间分类:系统表空间(systemsysaux),非系统表空间

   

    一个表空间至少包含一个数据文件,一个数据文件只能属于一个表空间。

   

    不可或缺的几个表空间:

    SYSTEM --->字典表空间,不能被损坏

    UNDO    --->dml,dql把数据快照到此,数据提交即消失(用于恢复)

    SYSAUX  --->10g 高并发系统繁忙时,会造成system争用,将工具放到SYSAUX,减轻system的压力,SYSAUX不影响系统(影响性能)

    TEMP    --->临时数据相关的内容

    USERS   --->10g  用户数据从system拨离出来

   

   

二、Oracle的存储结构

    1.Schema: 用户--->创建相关对象、表、视图、序列、函数、存储过程、包等

    2.逻辑结构:database数据库--->tablespace表空间---> segment--->extent区间----> block

            逻辑结构是Oracle内部管理数据库中对象的方式

    3.物理结构:OS  block --->datafile 物理结构通常是一系列数据文件

    4.举例描述scott用户创建对象的组织方式 */

   

--查看scott用户的默认表空间及数据文件

    SQL> select USERNAME,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE                                       

      2  from dba_users

      3  where username = 'SCOTT';

 

    USERNAME                       DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE

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

    SCOTT                          USERS                          TEMP

 

    SQL> col name format a50

    SQL> select t1.name,t2.name   --查看表空间及数据文件

      2  from v$tablespace t1,v$datafile t2

      3  where t1.ts# = t2.ts#;

 

    NAME                                               NAME

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

    SYSTEM                                             /u01/app/oracle/oradata/orcl/system01.dbf

    UNDOTBS1                                           /u01/app/oracle/oradata/orcl/undotbs01.dbf

    SYSAUX                                             /u01/app/oracle/oradata/orcl/sysaux01.dbf

    USERS                                              /u01/app/oracle/oradata/orcl/users01.dbf

    EXAMPLE                                            /u01/app/oracle/oradata/orcl/example01.dbf

 

/*

    scott-->emp(table)-->数据定义(位于)-->system表空间

                      数据(位于)  -->user表空间(逻辑存储)-->表段-->区间-->内存块

                                                    -->索引段等-->区间-->内存块

                                user表空间(物理存储)-->user01.dbf

                                   -->采用本地管理,包含头部信息,可用、已用等位图信息

                                  

    databuffer缓冲区满则调用dbwr进程将数据写入到物理文件当中 */

    /*

 

三、创建表空间

 

    --简要语法:

    CREATE [BIGFILE | SMALLFILE] [TEMPORARY] TABLESPACE tablespace name

    DATAFILE datafile spec | TEMPFILE tempfile spec

    [MINIMUM EXTENT minimum extent size]

    [BLOCKSIZE blocksize]

    [[COMPRESS|NOCOMPRESS] DEFAULT STORAGE (default storage clause)]

    [LOGGING|NOLOGGING]

    [FORCE LOGGING]

    [ONLINE|OFFLINE]

    [EXTENT MANAGEMENT DICTIONARY |

    LOCAL [AUTOALLOCATE|UNIFORM SIZE size]]

    [SEGMENT SPACE MANAGEMENT MANUAL|AUTO]

    [FLASHBACK ON|OFF]

   

    --创建表空间的条件

    1.具有create tablespace的权限,DBA角色具有该权限,sysdba,sysoper

    2.创建的是bigfiel ,还是smallifle  超过T 级别应考虑bigfile

    3.新建的表空间的I/O,是否会导致磁盘I/O不够用

    4.datafile后跟的路径应该具备写的权限  */

   

    --查看缺省是BIGFILE 还是SMALLFILE,当缺省为SMALLFILE,创建表空间不指定表空间类型则为SMALLFILE

    SQL> select PROPERTY_NAME,PROPERTY_VALUE from database_properties where PROPERTY_NAME like '%TBS%';

 

    PROPERTY_NAME                  PROPERTY_VALUE

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

    DEFAULT_TBS_TYPE               SMALLFILE

   

    --修改创建表空间为大或小表空间的默认值

    SQL> alter database set default bigfile tablespace;

 

    Database altered.

 

    SQL> select PROPERTY_NAME,PROPERTY_VALUE from database_properties where PROPERTY_NAME like '%TBS%';

 

    PROPERTY_NAME                  PROPERTY_VALUE

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

    DEFAULT_TBS_TYPE               BIGFILE

   

    --改回为缺省值

    SQL> alter database set default smallfile tablespace;

 

    Database altered.

   

    --建议创建表空间时最好带上[BIGFILE | SMALLFILE]参数,以免参数设置导致创建了不合理的表空间

    /*

    注意:

    大表文件(bigfile)最大可以存放个T的容量。头文件的大小达到了G-->block,普通的头文件大小为M---->block

    create bigfile tablespace <> datafile <>........;

       好处:减少了数据文件的个数,管理方便,大的对象的存放得到了优化。减少了control文件的信息,控制文件定义了datafile的个数。

       bigfile只能存在一个数据文件,所以要保证分配的的磁盘具有足够的空间。 */

      

    --演示创建表空间

    SQL> create tablespace TBS1 datafile '/u01/app/oracle/oradata/orcl/tbs1.dbf' size 100m;

 

    Tablespace created.

 

    SQL> col name format a50      

    SQL> select t1.name,t2.name

      2  from v$tablespace t1,v$datafile t2

      3  where t1.ts# = t2.ts#;

 

    NAME                                               NAME

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

    SYSTEM                                             /u01/app/oracle/oradata/orcl/system01.dbf

    UNDOTBS1                                           /u01/app/oracle/oradata/orcl/undotbs01.dbf

    SYSAUX                                             /u01/app/oracle/oradata/orcl/sysaux01.dbf

    USERS                                              /u01/app/oracle/oradata/orcl/users01.dbf

    EXAMPLE                                            /u01/app/oracle/oradata/orcl/example01.dbf

    TBS1                                               /u01/app/oracle/oradata/orcl/tbs1.dbf

   

    /*

    创建临时表空间:

    创建临时表空间,不能使用非标准数据块,另临时表空间不能存放永久对象。*/

    CREATE TMEPORARY TABLESPACE tablespace_name

    TEMPFILE '...' SIZE n

 

    CREATE TEMPORARY TABLESPACE T2 TEMPFILE '/opt/oracle/oradata/orcl/t2.dbf'

    size 100m;

    /*

    临时表空间具有以下特征:

       临时数据文件不能置为只读

       临时数据文件不能重命名

       监时数据文件的日志方式总是NOLOGGING

      

    临时表空间扩容:*/

    --(1)重置临时文件大小

        alter database tempfile '/opt/oracle/oradata/orcl/t2.dbf' resize 150m;

 

    --(2)让临时文件能自动扩展

       alter database  tempfile '/opt/oracle/oradata/orcl/t2.dbf'

       autoextend on next 10m maxsize 50m;

 

    --(3)增加临时文件

       alter tablespace t2 add tempfile '/disk8/oracle/t2b.dbf' size 50m;

 

    --查看临时文件

       select TABLESPACE_NAME,FILE_NAME,BYTES/1024/1024 "SIZE(MB)"

       from dba_temp_files;

 

    --默认临时表空间:

        select * from database_properties;

 

    --修改默认临时表空间:

       ALTER DATABASE DEFAULT TEMPORARY TABLESPACE T2;

       /*

        默认临时表空间最好要指定一下,如果没有指定默认的临时表空间,那么将使用system表空间作为排

       序区

 

       默认临时表空间有一定的限制:

           默认临时表空间不能删除

           默认临时表空间不能脱机

          

 

    获得创建表空间的语句:*/

       SELECT dbms_metadata.get_ddl('TABLESPACE','SYSTEM') FROM dual;

 

    /*

    临时表空间组:

       10G引入的,是一组临时表空间,只能由临时表空间组成。组名不能与临时表空间同名

       临时表空间不能显示的创建和删除,当把第一个临时表空间分配给某个临时表空间组的时候,自动创建

       临时表空间组,将最后一个临时表空间,删除时,组也将自动删除。

 

 

    创建临时表空间组:

       1、创建临时表空间的时候 */

        CREATE TEMPORARY TABLESPACE tablespace_name TEMPFILE '...' SIZE n

        TABLESPACE GROUP group_name;

 

        ALTER TABLESPACE tablespace_name TABLESPACE GROUP group_name;

           ALTER TABLESPACE T3 TABLESPACE GROUP TEMP_GRP;

 

    --查看临时表空间组的信息:

       dba_tablespace_groups

 

       SELECT * FROM DBA_TABLESPACE_GROUPS;

 

    --将临时表空间组成员移除:

       ALTER TABLESPACE tablespace_name TABLESPACE GROUP '';

 

    --可将系统默认的临时表空间设为临时表空间组:

       ALTER DATABASE DEFAULT TEMPORARY TABLESPACE tablespace_name;

 

    --删除临时表空间:

       --将所有成员全移出去,便自动删除

 

    --创建UNDO表空间(还原表空间):

    /*

    创建语法:*/

       CREATE UNDO TABLESPACE tablespace_name DATAFILE '...' SIZE n

 

    SQL> CREATE UNDO TABLESPACE undo2

       DATAFILE '/opt/oracle/oradata/orcl/undo2_01.dbf' SIZE 200M,

       '/opt/oracle/oradata/orcl/undo2_02.dbf' size 100m;

 

    --修改当前系统的UNDO表空间:

       ALTER SYSTEM SET UNDO_TABLESPACE=tablespace_name

 

    /* 

    UNDO表空间扩容:

       ()重置DATAFILE大小

       ()让DATAFILEAUTOEXTEND

       ()添加数据文件

 

    删除UNDO表空间 */

       DROP TABLESPACE tablespace_name

        /*

       注:当前的UNDO表空间不能删除

           系统只能使用一个UNDO表空间 */

 

 

    --创建表空间的详细语法:http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/statements_7003.htm#SQLRF01403          

   

    /*

四、表空间的管理方式:

    字典管理:oracle 8i(不包括i),只存在一种表空间的管理模式,即字典管理表空间(DMT

       DMT是指oracle的空间分配或回收是通过数据库中的数据字典表来记录和管理的

       用于管理的两个数据字典表分别是:UET$used extents)FET$(freeextents)      

       其工作方式是:当建立一个新的段或者段在表空间时,oracle通过一系列的SQL语句来完成这个工作

       且和前面的两个字典表有关,在繁忙的系统中会造成竞争和等待(另一个DMT会带来的问题是空间碎片)

      

    本地管理(LMT):   iR2版本后成了默认的选项

       LMT在表空间的数据文件头部加入了一个位图区域,在其中记录每个extent的使用状况

       extent被使用或者被释放,oracle会更新头部的记录来反映这个变化,不产生回滚信息

        因为仅仅操作数据文件头部的几个数据块,不用操作数据字典,LMTDMT要快,尤其是在繁忙的时候更明显

 

    --查看表空间使用的管理方式: */

    SQL> select TABLESPACE_NAME,EXTENT_MANAGEMENT,BLOCK_SIZE,STATUS,CONTENTS,FORCE_LOGGING,BIGFILE

      2  from dba_tablespaces;

 

    TABLESPACE_NAME                EXTENT_MAN BLOCK_SIZE STATUS    CONTENTS  FOR BIG

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

    SYSTEM                         LOCAL            8192 ONLINE    PERMANENT NO  NO

    UNDOTBS1                       LOCAL            8192 ONLINE    UNDO      NO  NO

    SYSAUX                         LOCAL            8192 ONLINE    PERMANENT NO  NO

    TEMP                           LOCAL            8192 ONLINE    TEMPORARY NO  NO

    USERS                          LOCAL            8192 ONLINE    PERMANENT NO  NO

    EXAMPLE                        LOCAL            8192 ONLINE    PERMANENT NO  NO

    TBS1                           LOCAL            8192 ONLINE    PERMANENT NO  NO

 

    --DMT LMT 的相互转换

       --将字典管理的表空间转换为本地管理

       exec dbms_space_admin.tablespace_migrate_to_local('表空间名')    --表空间名用大写

 

       --将本地管理的表空间转换为字典管理

       exec dbms_space_admin.tablespace_migrate_from_local('表空间名')

 

   

    --表空间改名:

        --必须在open状态下,system , sysaux 不能改名

       ALTER TABLESPACE XXX RENAME TO YYY

   

         

    --表空间的扩容:

      /*

      表空间的大小由组成它的所有数据文件的大小之和来决定

      扩容的方法:*/

         --(1)重置数据文件大小

            ALTER DATABASE DATAFILE '...' | FileNo RESIZE XX

 

        --(2)设置数据文件能自动增长

           ALTER DATABASE DATAFILE '... '| FileNo AUTOEXTEND ON | OFF NEXT 20M MAXSIZE 300M;

            --查看哪些表空间为自动增长

           SELECT FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE FROM dba_data_files;

          

 

       /* (3)添加数据文件

      

           增加到表空间中的数据文件不能直接从表空间中删除,除非删掉整个表空间

           增加数据文件将有助于均衡I/O

           一个表空间文件最多为个,文件越多,执行一次检查点的代价越高  */

          

           ALTER TABLESPACE tablespace_name  ADD DATAFILE '...' SIZE XX;

     

           ALTER TABLESPACE tbs2 ADD DATAFILE '/u01/app/oracle/oradata/orcl/tbs2.dbf' size 200m autoextend on ;

          

    --表空间的四种状态:

       online

       offline

       read only

       read write

       /*

    offline

       一个表空间的正常状态是联机(ONLINE),有时需要将某一个表空间进行脱机,以进行数据库维护

       如:

           在数据库打开的状态下移动数据文件

           在数据库打开的情况下恢复一个表空间或数据文件

           执行表空间的脱机备份(虽然可以进行进行联机备份)

           使数据库某一部分不可访问,让其它部分能正常访问。

 

       表空间脱机的时候,将产生检查点事件,该表空间上的数据是不能访问的

 

       命令:*/

       ALTER TABLESPACE tablespace_name OFFLINE;

 

       --联机命令:

       ALTER TABLESPACE tablespace_name ONLINE;

      

       --在脱机后,有可能无法再联机,这时要做数据的介质恢复

       ALTER DATABASE RECOVER TABLESPACE tablespace_name

       ALTER TABLESPACE tablespace_name ONLINE;

       /*

    read only:

        不能执行DML语句,可以使用的为DDLDQL语句  */

       ALTER TABLESPACE tablespace_name READ ONLY;

   

    read write

       ALTER TABLESPACE tablespace_name READ WRITE;

   

    --一些表空间的特殊状态

       tablespacename            onlie            read  only

          system                  必须online       必须read write

          sysaux                  可以offline      不能read only

          undo                    不能offline      不能read only

      

    --查看表空间的状态

    SQL> select tablespace_name,file#,v.status,v.enabled from dba_data_files d,

      2  v$datafile v

      3  where d.file_id = v.file#;

 

    TABLESPACE_NAME                     FILE# STATUS  ENABLED

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

    SYSTEM                                  1 SYSTEM  READ WRITE

    UNDOTBS1                                2 ONLINE  READ WRITE

    SYSAUX                                  3 ONLINE  READ WRITE

    USERS                                   4 ONLINE  READ WRITE

    EXAMPLE                                 5 ONLINE  READ WRITE

    TBS1                                    6 ONLINE  READ WRITE     

   

    --几种状态的相互转换的演示

    --将表空间置为只读

    SQL> alter tablespace users read only;

 

    Tablespace altered.

 

    SQL> update scott.emp set sal = sal + 50 where ename = 'SCOTT'; --置为只读后不可更新

    update scott.emp set sal = sal + 50 where ename = 'SCOTT'

               *

    ERROR at line 1:

    ORA-00372: file 4 cannot be modified at this time

    ORA-01110: data file 4: '/u01/app/oracle/oradata/orcl/users01.dbf'

 

 

    SQL> select tablespace_name,file#,v.status,v.enabled from dba_data_files d,

      2  v$datafile v

      3  where d.file_id = v.file# and tablespace_name = 'USERS';

 

    TABLESPACE_NAME                     FILE# STATUS  ENABLED

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

    USERS                                   4 ONLINE  READ ONLY

   

    --将表空间置为脱机

    SQL> alter tablespace users offline;

 

    Tablespace altered.

 

    SQL> update scott.emp set sal = sal + 100 where ename = 'SCOTT';/*置为脱机后不可更新*/

    update scott.emp set sal = sal + 100 where ename = 'SCOTT'

               *

    ERROR at line 1:

    ORA-00376: file 4 cannot be read at this time

    ORA-01110: data file 4: '/u01/app/oracle/oradata/orcl/users01.dbf'

   

    --将表空间置为联机

    SQL> alter tablespace users online;

   

    Tablespace altered.

 

    SQL> select tablespace_name,file#,v.status,v.enabled from dba_data_files d,

      2  v$datafile v

      3  where d.file_id = v.file# and tablespace_name = 'USERS';

 

    TABLESPACE_NAME                     FILE# STATUS  ENABLED

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

    USERS                                   4 ONLINE  READ ONLY

   

    --注意,readonly 状态下的表空间可以删除数据,仅仅是不能插入或更新数据,如下

    SQL> delete from scott.emp where ename = 'SCOTT';

 

    SQL> rollback;

 

    Rollback complete.

 

    --将表空间置为读写状态

    SQL> alter tablespace users read write;

 

    Tablespace altered

   

    --表空间数据文件的重命名或重定位

    --方法一,在open状态下且处于archive模式:

       --1、查出数据文件位置和所属的表空间

           select TABLESPACE_NAME,FILE_NAME,BYTES/1024/1024 "SIZE(MB)"

           from dba_data_files;

 

       --2、将数据文件所在的表空间离线

           alter tablespace uu offline;

 

       --3、在操作系统下将文件移动到另外一个位置,或重命名(建议使用cp)

           host mv /opt/oracle/oradata/orcl/tt.dbf /disk9/uu1.dbf

      

       --4、修改控制文件,将数据文件的指针重新指向到另一个位置(执行rename)

           alter tablespace uu rename datafile '/opt/oracle/oradata/orcl/tt.dbf'

           to '/disk9/uu1.dbf';

 

       --5、表空间在线

           alter tablespace uu online

      

    --方法二,不能脱机的表空间

       --1、关闭数据库,再启动到mount状态

           startup mount

       --2、在操作系统下,移动或重命名文件

           host mv /opt/oracle/oradata/orcl/tt.dbf /disk9/uu1.dbf

       --3、修改控制文件

           alter database rename file '/disk8/uu.dbf' to '/disk8/uu2.dbf';

      

       --4、打开数据库

           alter database open;

    /* 

    删除表空间:   

       意味着表空间和数据文件的信息从数据库中删除,同时也应该将相应的操作系统文件删除

       不能删除的表空间

           系统表空间

           有活动回滚段的表空间

           默认临时/永久表空间

       命令:  */

           DROP TABLESPACE tablespace_name [INCLUDING CONTENTS [AND DATAFILES]]

               INCLUDING CONTENTS                -- 删除表空间及所有段

              INCLUDING CONTENTS [AND DATAFILES] --删除表空间、所有段、数据文件、同时删除系统中的物理文件

             

    --限制某个用户对表空间的使用:

    ALTER USER user_name QUOTA n ON tablespace_name;

 

    ALTER USER scott QUOTA 10m on UU;

    --取消限制

    ALTER USER user_name QUOTA UNLIMITED ON tablespace_name;

 

    GRANT UNLIMITED TABLESPACE TO user_name;

 

    --单个数据文件离线:

       --1、查看有哪些数据文件

           SELECT name FROM v$datafile;

 

       --2、离线

           ALTER DATABASE DATAFILE '...' OFFLINE;

      

       --3、在线  

           ALTER DATABASE DATAFILE '... ' ONLINE

 

       --  有可能提示要进行介质恢复:

           RECOVER DATAFILE '...'

 

           ALTER DATABASE RECOVER TABLESPACE tablespace_name;

 

       --  之后再将文件再线

 

    --重命名数据文件(同前面移动数据文件一样)

 

   --获取表空间和数据文件信息

       --表空间信息

           dba_tablespaces

           v$tablespace

       --数据文件信息

           dba_data_files

           v$datafile

       --临时数据文件信息

           dba_temp_files

           v$tempfile

      

    --查看系统默认的表空间及临时表空间:  

       SQL> select PROPERTY_NAME,PROPERTY_VALUE from database_properties

       2  where PROPERTY_NAME like 'DEFAULT%';

 

    --修改改系统的默认表空间:

       SQL>ALTER DATABASE DEFAULT TABLESPACE tablespace_name

 

    --修改系统的默认临时表空间:

       SQL>ALTER DATABASE DEFAULT TEMPORARY TABLESPACE tablespace_name

 

    --查看用户默认表空间:

       SQL>select USERNAME,USER_ID,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE from dba_users;

 

    --修改用户默认表空间:

       SQL>ALTER USER user_name DEFAULT TABLESPACE tablespace_name

      

    --查看表空间的使用情况:

       dba_data_files;

       dba_free_space;

          

       --例:查每个表空间的剩余空间

       SQL> select tablespace_name,sum(bytes/1024/1024)

         2  from dba_free_space group by tablespace_name;   

    /*

五、数据文件

    数据文件是数据库中最重要的一个要求,是所有的数据库内容存放的地方

    datafile是按照表空间为组织单位,表空间的构成是按照段区块为层次---数据文件的逻辑结构

    datafile就是表空间的物理文件。

    datafile中的内容是通过dbwrdata buffer cache中的dirty buffer data 写入的

    dbwr触发:

        ckpt触发,dirty buffer 到一定量的时候,data buffer caceh 的内存空间快用完了

       查询空闲内存空间超时,表空间offline/read only,表的drop, truncate 开始执备份表空间的时候 */

      

    --查看数据文件

    SQL> select file# ,name,status,enabled,bytes/1024/1024 M from v$datafile;

 

        FILE# NAME                                               STATUS  ENABLED             M

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

            1 /u01/app/oracle/oradata/orcl/system01.dbf          SYSTEM  READ WRITE        490

            2 /u01/app/oracle/oradata/orcl/undotbs01.dbf         ONLINE  READ WRITE         30

            3 /u01/app/oracle/oradata/orcl/sysaux01.dbf          ONLINE  READ WRITE        250

            4 /u01/app/oracle/oradata/orcl/users01.dbf           ONLINE  READ WRITE          5

            5 /u01/app/oracle/oradata/orcl/example01.dbf         ONLINE  READ WRITE        100

            6 /u01/app/oracle/oradata/orcl/tbs1_1.dbf            ONLINE  READ WRITE        100

            7 /u01/app/oracle/oradata/orcl/tbs1_2.dbf            ONLINE  READ WRITE         60

            

    SQL> select tablespace_name,file_name,user_bytes/1024/1024 M from dba_data_files;

 

    TABLESPACE_NAME                FILE_NAME                                                        M

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

    USERS01                        /u01/app/oracle/oradata/orcl/users01.dbf                    4.9375

    SYSAUX                         /u01/app/oracle/oradata/orcl/sysaux01.dbf                 249.9375

    UNDOTBS1                       /u01/app/oracle/oradata/orcl/undotbs01.dbf                 29.9375

    SYSTEM                         /u01/app/oracle/oradata/orcl/system01.dbf                 489.9375

    EXAMPLE                        /u01/app/oracle/oradata/orcl/example01.dbf                 99.9375

    TBS1                           /u01/app/oracle/oradata/orcl/tbs1_1.dbf                    99.9375

    TBS1                           /u01/app/oracle/oradata/orcl/tbs1_2.dbf                    59.9375

 

    --数据文件的增加与删除

    --TBS1增加一个数据文件

    SQL> alter tablespace tbs1 add datafile '/u01/app/oracle/oradata/orcl/tbs1_3.dbf' size 10m autoextend on;

    --还有一种创建表空间时不指定大小,而是重用一个存在的dbf要用resue参数,reuse 是把原有的结构拿来用,里面的数据是用不了的,因为早都没有了。

   

    --删表空间中的数据文件,g以后的版本才用以下功能,在之前版本的就只能把表空间给干掉。

    SQL> alter tablespace tbs1 drop datafile '/u01/app/oracle/oradata/orcl/tbs1_3.dbf';

   

    --有数据的数据文件不能删。第一个不能删,如果要删就把表空间干掉,数据文件中有数据写入的文件也不能删除,如下

    SQL> alter tablespace tbs1 drop datafile 7;  --7v$datafile中的file#.

    alter tablespace tbs1 drop datafile 7

    *

    ERROR at line 1:

    ORA-03262: the file is non-empty

   

    /*

    数据文件的日志记录

       只有temp表空间是nologing  别的都是logging

        日志记录的几种模式   

           nologin          并不是不记录日志而是记录的很少

           logging          正常记录日志信息

           force logging    记录的日志比logging还详细 记录信息非常多  用于DG data guard 容灾的情况 */

    SQL> select tablespace_name ,logging,force_logging from dba_tablespaces;

 

    TABLESPACE_NAME                LOGGING   FOR

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

    SYSTEM                         LOGGING   NO

    UNDOTBS1                       LOGGING   NO

    SYSAUX                         LOGGING   NO

    TEMP                           NOLOGGING NO

    USERS01                        LOGGING   NO

    EXAMPLE                        NOLOGGING NO

    TBS1                           LOGGING   NO

   

    --修改表空间中日志文件记录的方式

       SQL> alter tablespace tablespace_name nologging | logging | force logging;

   

    SQL> alter tablespace example logging;

 

    Tablespace altered.

 

    SQL> alter tablespace tbs1 force logging;

 

    Tablespace altered.

 

    SQL> select tablespace_name ,logging,force_logging from dba_tablespaces;

 

    TABLESPACE_NAME                LOGGING   FOR

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

    SYSTEM                         LOGGING   NO

    UNDOTBS1                       LOGGING   NO

    SYSAUX                         LOGGING   NO

    TEMP                           NOLOGGING NO

    USERS01                        LOGGING   NO

    EXAMPLE                        LOGGING   NO

    TBS1                           LOGGING   YES

   

分享到:
评论

相关推荐

    智能家居_物联网_环境监控_多功能应用系统_1741777957.zip

    人脸识别项目实战

    PLC热反应炉仿真程序和报告 ,PLC; 热反应炉; 仿真程序; 报告,PLC热反应炉仿真程序报告

    PLC热反应炉仿真程序和报告 ,PLC; 热反应炉; 仿真程序; 报告,PLC热反应炉仿真程序报告

    C++函数全解析:从基础入门到高级特性的编程指南

    内容概要:本文详细介绍了 C++ 函数的基础概念及其实战技巧。内容涵盖了函数的基本结构(定义、声明、调用)、多种参数传递方式(值传递、引用传递、指针传递),各类函数类型(无参无返、有参无返、无参有返、有参有返),以及高级特性(函数重载、函数模板、递归函数)。此外,通过实际案例展示了函数的应用,如统计数组元素频次和实现冒泡排序算法。最后,总结了C++函数的重要性及未来的拓展方向。 适合人群:有一定编程基础的程序员,特别是想要深入了解C++编程特性的开发人员。 使用场景及目标:① 学习C++中函数的定义与调用,掌握参数传递方式;② 掌握不同类型的C++函数及其应用场景;③ 深入理解函数重载、函数模板和递归函数的高级特性;④ 提升实际编程能力,通过实例强化所学知识。 其他说明:文章以循序渐进的方式讲解C++函数的相关知识点,并提供了实际编码练习帮助理解。阅读过程中应当边思考边实践,动手实验有助于更好地吸收知识点。

    `计算机视觉_Python_PyQt5_Opencv_综合图像处理与识别跟踪系统`.zip

    人脸识别项目实战

    Ultra Ethernet Consortium规范介绍与高性能AI网络优化

    内容概要:本文主要介绍了Ultra Ethernet Consortium(UEC)提出的下一代超高性能计算(HPC)和人工智能(AI)网络解决方案及其关键技术创新。文中指出,现代AI应用如大型语言模型(GPT系列)以及HPC对集群性能提出了更高需求。为了满足这一挑战,未来基于超乙太网络的新规格将采用包喷射传输、灵活数据报排序和改进型流量控制等机制来提高尾部延迟性能和整个通信系统的稳定度。同时UEC也在研究支持高效远程直接内存访问的新一代协议,确保能更好地利用现成以太网硬件设施的同时还增强了安全性。 适合人群:网络架构师、数据中心管理员、高性能运算从业人员及相关科研人员。 使用场景及目标:①为构建高效能的深度学习模型训练平台提供理论指导和技术路线;②帮助企业选择最合适的网络技术和优化现有IT基础设施;③推动整个行业内关于大规模分布式系统网络层面上的设计创新。 阅读建议:本文档重点在于展示UEC如何解决目前RDMA/RoCE所面临的问题并提出了一套全新的设计理念用于未来AI和HPC环境下的通信效率提升。在阅读时需要注意理解作者对于当前网络瓶颈分析背后的原因以及新设计方案所能带来的具体好处

    (参考GUI)MATLAB道路桥梁裂缝检测.zip

    (参考GUI)MATLAB道路桥梁裂缝检测.zip

    pygeos-0.14.0-cp311-cp311-win-amd64.whl

    pygeos-0.14.0-cp311-cp311-win_amd64.whl

    微信小程序_人脸识别_克隆安装_社交娱乐用途_1741777709.zip

    人脸识别项目实战

    基于Matlab的模拟光子晶体光纤中的电磁波传播特性 对模式场的分布和有效折射率的计算 模型使用有限差分时域(FDTD)方法来求解光波在PCF中的传播模式 定义物理参数、光纤材料参数、光波参数、PC

    基于Matlab的模拟光子晶体光纤中的电磁波传播特性 对模式场的分布和有效折射率的计算 模型使用有限差分时域(FDTD)方法来求解光波在PCF中的传播模式 定义物理参数、光纤材料参数、光波参数、PCF参数及几何结构等参数 有限差分时域(FDTD)方法:这是一种数值模拟方法,用于求解麦克斯韦方程,模拟电磁波在不同介质中的传播 特征值问题求解:使用eigs函数求解矩阵的特征值问题,以确定光波的传播模式和有效折射率 模式场分布的可视化:通过绘制模式场的分布图,直观地展示光波在PCF中的传播特性 程序已调通,可直接运行 ,基于Matlab模拟; 光子晶体光纤; 电磁波传播特性; 模式场分布; 有效折射率计算; 有限差分时域(FDTD)方法; 物理参数定义; 几何结构参数; 特征值问题求解; 程序运行。,基于Matlab的PCF电磁波传播模拟与特性分析

    知识图谱与大模型融合实践研究报告:技术路径、挑战及行业应用实例分析

    内容概要:《知识图谱与大模型融合实践研究报告》详细探讨了知识图谱和大模型在企业级落地应用的现状、面临的挑战及融合发展的潜力。首先,介绍了知识图谱与大模型的基本概念和发展历史,并对比分析了两者的优点和缺点,随后重点讨论了两者结合的可行性和带来的具体收益。接下来,报告详细讲解了两者融合的技术路径、关键技术及系统评估方法,并通过多个行业实践案例展示了融合的实际成效。最后提出了对未来的展望及相应的政策建议。 适合人群:对人工智能技术和其应用有兴趣的企业技术人员、研究人员及政策制定者。 使用场景及目标:①帮助企业理解知识图谱与大模型融合的关键技术和实际应用场景;②指导企业在实际应用中解决技术难题,优化系统性能;③推动相关领域技术的进步和发展,为政府决策提供理论依据。 其他说明:报告不仅强调了技术和应用场景的重要性,还关注了安全性和法律法规方面的要求,鼓励各界积极参与到这项新兴技术的研究和开发当中。

    (参考GUI)MATLAB BP神经网络的火焰识别.zip

    神经网络火焰识别,神经网络火焰识别,神经网络火焰识别,神经网络火焰识别,神经网络火焰识别

    人脸识别_实时_ArcFace_多路识别技术_JavaScr_1741771263.zip

    人脸识别项目实战

    telepathy-farstream-0.6.0-5.el7.x64-86.rpm.tar.gz

    1、文件内容:telepathy-farstream-0.6.0-5.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/telepathy-farstream-0.6.0-5.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊

    基于Springboot框架的购物推荐网站的设计与实现(Java项目编程实战+完整源码+毕设文档+sql文件+学习练手好项目).zip

    本东大每日推购物推荐网站管理员和用户两个角色。管理员功能有,个人中心,用户管理,商品类型管理,商品信息管理,商品销售排行榜管理,系统管理,订单管理。 用户功能有,个人中心,查看商品,查看购物资讯,购买商品,查看订单,我的收藏,商品评论。因而具有一定的实用性。 本站是一个B/S模式系统,采用Spring Boot框架作为开发技术,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得东大每日推购物推荐网站管理工作系统化、规范化。 关键词:东大每日推购物推荐网站;Spring Boot框架;MYSQL数据库 东大每日推购物推荐网站的设计与实现 1 1系统概述 1 1.1 研究背景 1 1.2研究目的 1 1.3系统设计思想 1 2相关技术 3 2.1 MYSQL数据库 3 2.2 B/S结构 3 2.3 Spring Boot框架简介 4 3系统分析 4 3.1可行性分析 4 3.1.1技术可行性 5 3.1.2经济可行性 5 3.1.3操作可行性 5 3.2系统性能分析 5 3.2.1 系统安全性 5 3.2.2 数据完整性 6 3.3系统界面

    使用C语言编程设计实现的平衡二叉树的源代码

    二叉树实现。平衡二叉树(Balanced Binary Tree)是一种特殊的二叉树,其特点是树的高度(depth)保持在一个相对较小的范围内,以确保在进行插入、删除和查找等操作时能够在对数时间内完成。平衡二叉树的主要目的是提高二叉树的操作效率,避免由于不平衡而导致的最坏情况(例如,形成链表的情况)。本资源是使用C语言编程设计实现的平衡二叉树的源代码。

    基于扩张状态观测器eso扰动补偿和权重因子调节的电流预测控制,相比传统方法,增加了参数鲁棒性 降低电流脉动,和误差 基于扩张状态观测器eso补偿的三矢量模型预测控制 ,基于扩张状态观测器; 扰动补

    基于扩张状态观测器eso扰动补偿和权重因子调节的电流预测控制,相比传统方法,增加了参数鲁棒性 降低电流脉动,和误差 基于扩张状态观测器eso补偿的三矢量模型预测控制 ,基于扩张状态观测器; 扰动补偿; 权重因子调节; 电流预测控制; 参数鲁棒性; 电流脉动降低; 误差降低; 三矢量模型预测控制,基于鲁棒性增强和扰动补偿的电流预测控制方法

    永磁同步电机全速域控制高频方波注入法、滑模观测器法SMO、加权切矢量控制Simulink仿真模型 低速域采用高频方波注入法HF,高速域采用滑膜观测器法SMO,期间采用加权形式切 送前方法 1、零低速

    永磁同步电机全速域控制高频方波注入法、滑模观测器法SMO、加权切矢量控制Simulink仿真模型 低速域采用高频方波注入法HF,高速域采用滑膜观测器法SMO,期间采用加权形式切 送前方法 1、零低速域,来用无数字滤波器高频方波注入法, 2.中高速域采用改进的SMO滑模观测器,来用的是sigmoid函数,PLL锁相环 3、转速过渡区域采用加权切法 该仿真各个部分清晰分明,仿真波形效果良好内附详细控制方法资料lunwen 带有参考文献和说明文档,仿真模型 ,核心关键词: 1. 永磁同步电机; 2. 全速域控制; 3. 高频方波注入法; 4. 滑模观测器法SMO; 5. 加权切换矢量控制; 6. Simulink仿真模型; 7. 零低速域控制; 8. 中高速域控制; 9. 转速过渡区域控制; 10. 仿真波形效果; 11. 详细控制方法资料; 12. 参考文献和说明文档。,永磁同步电机多域控制策略的仿真研究

    Buck变器二阶LADRC线性自抗扰控制matlab仿真 包括电压电流双闭环和ladrc控制外环加电流内环控制两种 并进行了对比,ladrc控制超调更小,追踪更快 参考文献 版本为2018b

    Buck变器二阶LADRC线性自抗扰控制matlab仿真 包括电压电流双闭环和ladrc控制外环加电流内环控制两种 并进行了对比,ladrc控制超调更小,追踪更快 参考文献 版本为2018b ,关键词:Buck变换器;二阶LADRC;线性自抗扰控制;Matlab仿真;电压电流双闭环;LADRC控制外环;电流内环控制;对比;超调;追踪;2018b版本。,Matlab仿真二阶LADRC控制的Buck变换器:外环LADRC+内环电流控制对比

    2024全球工程前沿.pdf

    2024全球工程前沿.pdf

Global site tag (gtag.js) - Google Analytics