表空间及用户

Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。


表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。
例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库。


查询表空间


select * from dba_tablespaces


一.创建表空间
创建表空间语法:

CREATE TABLESPACE 表空间名称  
DATAFILE          表空间数据文件路径  
SIZE              表空间初始大小  
AUTOEXTEND ON

如:
--创建表空间脚本(保证目录存在且有权操作,可修改存放数据目录)
CREATE TABLESPACE "XX_DATA" 
LOGGING 
DATAFILE 'D:\oracle\product\10.2.0\oradata\XX_DATA.DBF' SIZE 5120M 
EXTENT 
MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO 

CREATE TABLESPACE "XX_INDEX" 
LOGGING DATAFILE 'D:\oracle\product\10.2.0\oradata\XX_INDEX.DBF' SIZE 2048M 
EXTENT 
MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO 

CREATE TEMPORARY TABLESPACE "XX_TEMP" 
TEMPFILE 'D:\oracle\product\10.2.0\oradata\XX_TEMP.DBF' SIZE 1024M 
EXTENT 
MANAGEMENT LOCAL UNIFORM SIZE 1M 
/



二.扩展表空间
alter tablespace NETBAISDATA add datafile 
'D:\app\oradata\GS11\NETBAISDATA.001' size 5120M autoextend on next 5120M maxsize unlimited;

三.创建用户
create user 用户名 identified by "密码" default tablespace XX_DATA temporary tablespace XX_TEMP profile DEFAULT /

四.分配权限
--分配权限(常用权限) 
grant connect to 用户名; 
grant alter session to 用户名; 
grant create any snapshot to 用户名; 
grant create any trigger to 用户名; 
grant create procedure to 用户名; 
grant create sequence to 用户名; 
grant create session to 用户名; 
grant create table to 用户名; 
grant create type to 用户名; 
grant create view to 用户名; 
grant select any dictionary to 用户名; 
grant unlimited tablespace to 用户名; 
grant exp_full_database to 用户名; 
grant imp_full_database to 用户名;
--分配权限(DBA权限) 
grant dba to 用户名 with admin option 

grant alter any operator to 用户名 with admin option 
/


猜你喜欢

转载自blog.csdn.net/sc6666/article/details/80393079