oracle 创建表空间 、用户 、赋权、建表

时间:2021-10-12 23:29:25

 

一、创建表空间

  1.创建临时表空间

create temporary tablespace TS_TEM_TAB_SPACE 
tempfile 'D:\oracle\TS_TEM_TAB_SPACE.dbf' 
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;  

  2.创建数据表空间

create tablespace TS_APP_TAB_SPACE  
logging  
datafile 'D:\oracle\TS_APP_TAB_SPACE.dbf' 
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;  

  创建日志表空间

create tablespace TS_APP_LOG_SPACE  
logging  
datafile 'D:\oracle\TS_APP_LOG_SPACE.dbf' 
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;  

  创建索引表空间

create tablespace TS_APP_IDX_SPACE  
logging  
datafile 'D:\oracle\TS_APP_IDX_SPACE.dbf' 
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local; 

  3.创建用户并制定表空间

create user user_name identified by passWord
default tablespace TS_TEM_TAB_SPACE  
temporary tablespace TS_APP_TAB_SPACE;  

  4.给用户授予权限

  DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。

  RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。

  CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。

  对于普通用户:授予connect, resource权限。


  对于DBA管理用户:授予connect,resource, dba权限

grant connect,resource,dba to user_name;

  5.删除用户

drop user user_name; --没有任何对象的用户
drop user user_name cascade; --删除带对象的用户

  6.删除表空间

  删除表空间 但不包括.dbf,这个需要手动删除

drop tablespace SPACE_NAME;

  7.模拟建表

-- Create table
create table TEST_LOGS
(
  ID                VARCHAR2(64) not null,
  TEST_CODE         VARCHAR2(64) not null,
  TEST_NAME         VARCHAR2(255),
  TEST_ENAME        VARCHAR2(255),
  MENU_TARGET       VARCHAR2(50),
  CREATE_DT         DATE,
  CREATE_BY         VARCHAR2(64),
  MODIFY_DT         DATE,
  MODIFY_BY         VARCHAR2(64)
)
tablespace TS_APP_LOG_SPACE
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 16
    next 8
    minextents 1
    maxextents unlimited
  );
-- Add comments to the table 
comment on table TEST_LOGS
  is '测试 日志表';
-- Add comments to the columns 
comment on column TEST_LOGS.ID
  is 'ID';
comment on column TEST_LOGS.TEST_CODE
  is '测试编号';
comment on column TEST_LOGS.TEST_NAME
  is '测试名称';
comment on column TEST_LOGS.TEST_ENAME
  is '测试英文名称';
comment on column TEST_LOGS.CREATE_DT
  is '创建日期';
comment on column TEST_LOGS.CREATE_BY
  is '创建人';
comment on column TEST_LOGS.MODIFY_DT
  is '修改时间';
comment on column TEST_LOGS.MODIFY_BY
  is '修改人';
-- Create/Recreate primary, unique and foreign key constraints 
alter table TEST_LOGS
  add constraint PK_TEST_LOGS primary key (ID)
  using index 
  tablespace TS_APP_IDX_SPACE
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
  );