0
点赞
收藏
分享

微信扫一扫

Redhat 7.9 安装dm8配置文档

niboac 04-03 14:00 阅读 2

1、创建测试表空间

create tablespace efmis datafile '/u01/app/oracle/oradata/orcl/efmis_01.dbf' size 80m;

alter tablespace efmis add datafile '/u01/app/oracle/oradata/orcl/efmis_02.dbf' size 80m;

alter tablespace efmis add datafile '/u01/app/oracle/oradata/orcl/efmis_03.dbf' size 80m;

SQL> select t.tablespace_name,t.file_id,t.file_name,t.bytes/1024/1024/1024||'G' from dba_data_files t where t.tablespace_name='EFMIS';

TABLESPACE_NAME           FILE_ID      FILE_NAME                                    T.BYTES/1024/1024/1024||'G'

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

EFMIS                     5           /u01/app/oracle/oradata/orcl/efmis_01.dbf     .078125G

EFMIS                     6           /u01/app/oracle/oradata/orcl/efmis_02.dbf     .078125G

EFMIS                     7           /u01/app/oracle/oradata/orcl/efmis_03.dbf     .078125G

2、创建测试用户

create user fasp identified by 1 default tablespace efmis;

grant connect,resource to fasp;

3、创建测试表并插入数据

create table fasp.tab1 as select * from dba_objects;

4、查看dba_extents及dba_segments数据相关操作

SQL> select t.tablespace_name,t.segment_name,t.bytes/1024/1024 from dba_segments t where t.owner='FASP';

TABLESPACE_NAME                SEGMENT_NAME                   T.BYTES/1024/1024

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

EFMIS                          TAB1                           10

SQL> select file_id,sum(bytes)/1024/1024 from dba_extents t where t.owner='FASP' group by file_id;

   FILE_ID SUM(BYTES)/1024/1024

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

         6                    4

         5                    3

         7                    3

SQL> select count(*) from fasp.tab1;

  COUNT(*)

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

     86268

SQL> insert into fasp.tab1 select * from fasp.tab1;

86268 rows inserted

SQL> insert into fasp.tab1 select * from fasp.tab1;

172536 rows inserted

SQL> select t.tablespace_name,t.segment_name,t.bytes/1024/1024 from dba_segments t where t.owner='FASP';

TABLESPACE_NAME                SEGMENT_NAME                       T.BYTES/1024/1024

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

EFMIS                          TAB1                               40

SQL> select file_id,sum(bytes)/1024/1024 from dba_extents t where t.owner='FASP' group by file_id;

   FILE_ID SUM(BYTES)/1024/1024

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

         6                   14

         5                   13

         7                   13

SQL> delete from fasp.tab1;

345072 rows deleted

SQL> commit;

Commit complete

SQL> select count(*) from fasp.tab1;

  COUNT(*)

----------

         0

SQL> select t.tablespace_name,t.segment_name,t.bytes/1024/1024 from dba_segments t where t.owner='FASP';

TABLESPACE_NAME                SEGMENT_NAME                           T.BYTES/1024/1024

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

EFMIS                          TAB1                                   40

SQL> select file_id,sum(bytes)/1024/1024 from dba_extents t where t.owner='FASP' group by file_id;

   FILE_ID SUM(BYTES)/1024/1024

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

         6                   14

         5                   13

         7                   13

5、结论:

1)tab1表在dba_segments中共1个段,占据10m存储空间。

2)tab1表在dba_extents中分成多个区,总共占10m存储空间。

3)oracle数据库中segment由extent逻辑构成。

4)tab1插入的数据按照hash算法均为分布在所属表空间数据文件下,数据文件创建后不可随意删除,否则将导致部分数据丢失。

5)段相关数据字典:dba_segments,user_segments

   区相关数据字典:dba_extents,user_extents

    6)dba_segments及dba_extents存储至高水位线空间大小,delete删除数据并不会降低高水位线值。

7)可以通过dba_segments视图查看table及index等数据库对象占用存储空间大小,此时值为起点至高水位线值大小。

6、查看表空间使用率

select a.tablespace_name,

       round((a.maxbytes / 1024 / 1024 / 1024), 2) "sum G",

       round((a.bytes / 1024 / 1024 / 1024), 2) "datafile G",

       round(((a.bytes - b.bytes) / 1024 / 1024 / 1024), 2) "used G",

       round(((a.maxbytes - a.bytes + b.bytes) / 1024 / 1024 / 1024), 2) "free G",

       round(((a.bytes - b.bytes) / a.maxbytes) * 100, 2) "percent_used(%)"

  from (select tablespace_name, sum(sumnow) bytes, sum(summax) maxbytes

          from (select t1.tablespace_name,

                       sum(t1.bytes) sumnow,

                       sum(t1.maxbytes) summax

                  from dba_data_files t1

                 where t1.maxbytes <> 0

                 group by t1.tablespace_name

                union all

                select t2.tablespace_name,

                       sum(t2.bytes) sumnow,

                       sum(t2.bytes) summax

                  from dba_data_files t2

                 where t2.maxbytes = 0

                 group by t2.tablespace_name)

         group by tablespace_name) a,

       (select tablespace_name, sum(bytes) bytes

          from dba_free_space

         group by tablespace_name) b

 where a.tablespace_name = b.tablespace_name

 order by ((a.bytes - b.bytes) / a.maxbytes) desc;

TABLESPACE_NAME                     sum G datafile G     used G     free G percent_used(%)

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

EFMIS                                0.23       0.23       0.04       0.19           17.92

SYSTEM                                 32       0.82       0.81      31.19            2.52

SYSAUX                                 32       0.54       0.51      31.49            1.59

UNDOTBS1                               32       0.35       0.13      31.87            0.41

USERS                                  32          0          0         32               0

SQL> select t.tablespace_name,t.file_name,t.file_id,t.bytes/1024/1024,t.autoextensible,t.maxbytes from dba_data_files t where t.tablespace_name='EFMIS';

TABLESPACE_NAME    FILE_NAME                                   FILE_ID T.BYTES/1024/1024 AUTOEXTENSIBLE   MAXBYTES

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

EFMIS             /u01/app/oracle/oradata/orcl/efmis_01.dbf    5       80                NO                0

EFMIS             /u01/app/oracle/oradata/orcl/efmis_02.dbf    6       80                NO                0

EFMIS             /u01/app/oracle/oradata/orcl/efmis_03.dbf    7       80                NO                0

7、结论

1)表空间数据文件未设置自动增长,则数据文件最大值(maxbytes)为0,此时数据文件最大值为bytes值大小。

2)表空间由数据文件物理构成。

举报

相关推荐

DM8 企业版安装

DM8 开发

【无标题】dm8的安装

DM8 表管理

dm8用户配置免密登录

DM8数据库安装总结

LINUX下的达梦DM8安装

DM8 控制文件恢复

0 条评论