根据oracle数据库的使用规范,业务数据不应该存放在 system和sysaux表空间中。这就需要用户根据实际需求创建业务数据的表空间。
创建表空间和用户分四步:
1) 规划存储文件数据块大小
2)创建临时表空间
3)创建数据表空间
4)创建用户并指定其使用的表空间
5)给用户授予权限或者角色
下面在实例orcl中进行操作
实例orcl 数据存放目录为:/opt/oracle/app/oradata/orcl
1.规划存储文件数据块大小
每个DATAFILE最大容量为 (2^22-1)个block。SQL>show parameter db_block_size 可查看block的默认大小为8k,那么DATAFILE默认最大32GB
可以定义BLOCKSIZE 16k,那么DATAFILE最大64GB
可以定义BLOCKSIZE 32k,那么DATAFILE最大128GB
2.创建"临时表空间"。若不创建,默认使用temp表空间
sql> CREATE TEMPORARY TABLESPACE DB_TEMP TEMPFILE '/opt/oracle/app/oradata/orcl/DB_TEMP.DBF' SIZE 320M AUTOEXTEND ON NEXT 32M MAXSIZE UNLIMITED(==BLOCKSIZE 16k/32k==) EXTENT MANAGEMENT LOCAL;
删除可用:drop temporary tablespace tablespace_name including contents and datafiles;
3.创建"数据表空间",若不创建,默认使用system表空间
sql> CREATE TABLESPACE DB_DATA LOGGING DATAFILE '/opt/oracle/app/oradata/orcl/DB_DATA.DBF' SIZE 320M AUTOEXTEND ON NEXT 32M MAXSIZE UNLIMITED (==BLOCKSIZE 16k/32k==) EXTENT MANAGEMENT LOCAL;
删除可用:drop tablespace_name including contents and datafiles;
4.创建用户
SQL> CREATE USER ysnx IDENTIFIED BY 123456 ACCOUNT UNLOCK DEFAULT TABLESPACE DB_DATA TEMPORARY TABLESPACE DB_TEMP;
5.给用户授予权限
SQL> GRANT CONNECT,RESOURCE TO ysnx;
6.测试新建用户是否可以create table
ok !!!