oracle数据库表空间的创建与使用(详细)
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目录
CREATETEMPORARY TABLESPACE DW_TEST_TMP_TBS
TEMPFILE '/opt/oracle/oradata/biee/DW_TEST_TMP_TBS01.dbf'
SIZE 32M
AUTOEXTEND ONNEXT 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 onnext 3072M maxsize 32767M
autoallocate
extent management local
segment space management auto;
4. 创建用户
指定用户的默认表空间为DW_TEST_TBS,临时表空间为DW_TES_TMP_TBS
createuser DW_TEST identified by "DW_TEST" default tablespace DW_TEST_TBS temporary tablespace DW_TEST_TMP_TBS profile DEFAULT;
5. 修改用户的权限
给用户添加以下权限。
GRANT
CREATE SESSION, CREATEANYTABLE, CREATEANYVIEW ,CREATEANYINDEX, CREATEANYPROCEDURE,
ALTERANYTABLE, ALTERANYPROCEDURE,
DROPANYTABLE, DROPANYVIEW, DROPANYINDEX, DROPANYPROCEDURE,
SELECTANYTABLE, INSERTANYTABLE, UPDATEANYTABLE, DELETEANYTABLE,
SELECTANY SEQUENCE, CREATEANY SEQUENCE,DROPANY SEQUENCE,create trigger
TO DW_TEST;
ALTERuser 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 ONNEXT 3072M MAXSIZE 32767M;
ALTER TABLESPACE DW_TEST_TBS ADD DATAFILE '/opt/oracle/oradata/biee/DW_TEST_TBS03.dbf' SIZE 7167M AUTOEXTEND ONNEXT 3072M MAXSIZE 32767M;
ALTER TABLESPACE DW_TEST_TBS ADD DATAFILE '/opt/oracle/oradata/biee/DW_TEST_TBS04.dbf' SIZE 7167M AUTOEXTEND ONNEXT 3072M MAXSIZE 32767M;
ALTER TABLESPACE DW_TEST_TBS ADD DATAFILE '/opt/oracle/oradata/biee/DW_TEST_TBS05.dbf' SIZE 7167M AUTOEXTEND ONNEXT 3072M MAXSIZE 32767M;
ALTER TABLESPACE DW_TEST_TBS ADD DATAFILE '/opt/oracle/oradata/biee/DW_TEST_TBS06.dbf' SIZE 7167M AUTOEXTEND ONNEXT 3072M MAXSIZE 32767M;
ALTER TABLESPACE DW_TEST_TBS ADD DATAFILE '/opt/oracle/oradata/biee/DW_TEST_TBS07.dbf' SIZE 7167M AUTOEXTEND ONNEXT 3072M MAXSIZE 32767M;
ALTER TABLESPACE DW_TEST_TBS ADD DATAFILE '/opt/oracle/oradata/biee/DW_TEST_TBS08.dbf' SIZE 7167M AUTOEXTEND ONNEXT 3072M MAXSIZE 32767M;
ALTER TABLESPACE DW_TEST_TBS ADD DATAFILE '/opt/oracle/oradata/biee/DW_TEST_TBS09.dbf' SIZE 7167M AUTOEXTEND ONNEXT 3072M MAXSIZE 32767M;
ALTER TABLESPACE DW_TEST_TBS ADD DATAFILE '/opt/oracle/oradata/biee/DW_TEST_TBS010.dbf' SIZE 7167M AUTOEXTEND ONNEXT 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'ORDERBY tablespace_name;
更多推荐
所有评论(0)