标准 GIS 存储建议倾向于将索引和日志文件与矢量和表格业务表分开保存。出于性能方面的考虑,最好分开放置业务、要素和空间索引表,并根据表空间数据文件的使用模式对其进行放置。对于多版本化且非常活跃的编辑地理数据库,VERSIONS 表空间的数据库文件可能是分开的并分布于各个可用磁盘中,从而避免出现输入/输出争用情况。
创建用于存储工作空间要素类和表的新表空间。
下表列出了要在 SQL 示例中创建的表空间。
tablespace | CONFIGURATION KEYWORD_PARAMETER |
---|---|
NIS_BDATA | Business table |
NIS_BINDEX | Business table index |
NIS_SDATA | Spatial Index table |
NIS_SINDEX | Spatial Index table index |
NIS_ADATA | Adds table (versioned) |
NIS_AINDEX | Adds table index |
NIS_DDATA | Deletes table (versioned) |
NIS_DINDEX | Deletes table index |
NIS_XMLDOC | XML documents |
NIS_XMLIDX | XML documents indexes |
NIS_SDEDICT | Data dictionary (if implementing user-schema geodatabase) |
NIS_SDEDICTINDEX | Data dictionary index (if implementing user-schema geodatabase) |
The following script can be used to create tablespaces using Oracle SQL*Plus or Oracle SQL Developer.
ALTER SYSTEM SET WALLET OPEN IDENTIFIED BY "nisadmin";
CREATE SMALLFILE TABLESPACE "NIS_BDATA"
DATAFILE 'D:\ORACLE\ORADATA\NISDB\NIS_BDATA01.dbf'SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 400M
LOGGING EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
SEGMENT SPACE MANAGEMENT AUTO
DEFAULT COMPRESS FOR OLTP STORAGE ( ENCRYPT ) ENCRYPTION USING 'AES256';
CREATE SMALLFILE TABLESPACE "NIS_BINDEX"
DATAFILE 'D:\ORACLE\ORADATA\NISDB\NIS_BINDEX01.dbf' SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 400M
LOGGING EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
SEGMENT SPACE MANAGEMENT AUTO
DEFAULT COMPRESS FOR OLTP STORAGE ( ENCRYPT ) ENCRYPTION USING 'AES256';
CREATE SMALLFILE TABLESPACE "NIS_FDATA"
DATAFILE 'D:\ORACLE\ORADATA\NISDB\NIS_FDATA01.dbf' SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 400M
LOGGING EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
SEGMENT SPACE MANAGEMENT AUTO
DEFAULT COMPRESS FOR OLTP STORAGE ( ENCRYPT ) ENCRYPTION USING 'AES256';
CREATE SMALLFILE TABLESPACE "NIS_FINDEX"
DATAFILE 'D:\ORACLE\ORADATA\NISDB\NIS_FINDEX01.dbf' SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 400M
LOGGING EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
SEGMENT SPACE MANAGEMENT AUTO
DEFAULT COMPRESS FOR OLTP STORAGE ( ENCRYPT ) ENCRYPTION USING 'AES256';
CREATE SMALLFILE TABLESPACE "NIS_SDATA"
DATAFILE 'D:\ORACLE\ORADATA\NISDB\NIS_SDATA01.dbf'SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 400M
LOGGING EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
SEGMENT SPACE MANAGEMENT AUTO
DEFAULT COMPRESS FOR OLTP STORAGE ( ENCRYPT ) ENCRYPTION USING 'AES256';
CREATE SMALLFILE TABLESPACE "NIS_SINDEX"
DATAFILE 'D:\ORACLE\ORADATA\NISDB\NIS_SINDEX01.dbf' SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 400M
LOGGING EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
SEGMENT SPACE MANAGEMENT AUTO
DEFAULT COMPRESS FOR OLTP STORAGE ( ENCRYPT ) ENCRYPTION USING 'AES256';
CREATE SMALLFILE TABLESPACE "NIS_ADATA"
DATAFILE 'D:\ORACLE\ORADATA\NISDB\NIS_ADATA01.dbf' SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 400M
LOGGING EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
SEGMENT SPACE MANAGEMENT AUTO
DEFAULT COMPRESS FOR OLTP STORAGE ( ENCRYPT ) ENCRYPTION USING 'AES256';
CREATE SMALLFILE TABLESPACE "NIS_AINDEX"
DATAFILE 'D:\ORACLE\ORADATA\NISDB\NIS_AINDEX01.dbf' SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 400M
LOGGING EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
SEGMENT SPACE MANAGEMENT AUTO
DEFAULT COMPRESS FOR OLTP STORAGE ( ENCRYPT ) ENCRYPTION USING 'AES256';
CREATE SMALLFILE TABLESPACE "NIS_DDATA"
DATAFILE 'D:\ORACLE\ORADATA\NISDB\NIS_DDATA01.dbf' SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 400M
LOGGING EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
SEGMENT SPACE MANAGEMENT AUTO
DEFAULT COMPRESS FOR OLTP STORAGE ( ENCRYPT ) ENCRYPTION USING 'AES256';
CREATE SMALLFILE TABLESPACE "NIS_DINDEX"
DATAFILE 'D:\ORACLE\ORADATA\NISDB\NIS_DINDEX01.dbf' SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 400M
LOGGING EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
SEGMENT SPACE MANAGEMENT AUTO
DEFAULT COMPRESS FOR OLTP STORAGE ( ENCRYPT ) ENCRYPTION USING 'AES256';
CREATE SMALLFILE TABLESPACE "NIS_XMLDOC"
DATAFILE 'D:\ORACLE\ORADATA\NISDB\NIS_XMLDOC01.dbf' SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 400M
LOGGING EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
SEGMENT SPACE MANAGEMENT AUTO
DEFAULT COMPRESS FOR OLTP STORAGE ( ENCRYPT ) ENCRYPTION USING 'AES256';
CREATE SMALLFILE TABLESPACE "NIS_XMLINDEX"
DATAFILE 'D:\ORACLE\ORADATA\NISDB\NIS_XMLINDEX01.dbf' SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 400M
LOGGING EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
SEGMENT SPACE MANAGEMENT AUTO
DEFAULT COMPRESS FOR OLTP STORAGE ( ENCRYPT ) ENCRYPTION USING 'AES256';
CREATE SMALLFILE TABLESPACE "NIS_SDEDICT"
DATAFILE D:\ORACLE\ORADATA\NISDB\NIS_SDEDICT01.dbf' SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 400M
LOGGING EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
SEGMENT SPACE MANAGEMENT AUTO
DEFAULT COMPRESS FOR OLTP STORAGE ( ENCRYPT ) ENCRYPTION USING 'AES256';
CREATE SMALLFILE TABLESPACE "NIS_SDEDICTINDEX"
DATAFILE D:\ORACLE\ORADATA\NISDB\NIS_SDEDICTINDEX01.dbf' SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 400M
LOGGING EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
SEGMENT SPACE MANAGEMENT AUTO
DEFAULT COMPRESS FOR OLTP STORAGE ( ENCRYPT ) ENCRYPTION USING 'AES256';
将数据文件的初始大小设置为 10 MB,以避免在创建表空间时发生延迟。然后,可以重新调整数据文件的大小以避免产生碎片。
ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\NISDB\nis_Bdata01.dbf' RESIZE 400M;
ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\NISDB\nis_Bindex01.dbf' RESIZE 400M;
ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\NISDB\nis_Fdata01.dbf' RESIZE 400M;
ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\NISDB\nis_Findex01.dbf' RESIZE 400M;
ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\NISDB\nis_Sdata01.dbf' RESIZE 400M;
ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\NISDB\nis_Sindex01.dbf' RESIZE 400M;
ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\NISDB\nis_Adata01.dbf' RESIZE 400M;
ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\NISDB\nis_Aindex01.dbf' RESIZE 400M;
ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\NISDB\nis_Ddata01.dbf' RESIZE 400M;
ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\NISDB\nis_Dindex01.dbf' RESIZE 400M;
ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\NISDB\nis_Xmldoc01.dbf' RESIZE 400M;
ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\NISDB\nis_Xmlindex01.dbf' RESIZE 400M;
ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\NISDB\nis_Sdedict01.dbf' RESIZE 400M;
ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\NISDB\nis_Sdedictindex01.dbf' RESIZE 400M;