创建数据库、用户、表模板SQL语句

-- 描述:表空间规划
-- 创建者:胡方均
-- 创建日期:2009.3.5

spool ./CreatTableSpace.log;
-- 0. 删除用户
DROP USER YKT CASCADE;
-- 1. 对于数据量较小且基本固定的编码表,放在一个Tablespace中
-- 创建数据表空间
DROP TABLESPACE D_YKT_DATA INCLUDING CONTENTS;
CREATE TABLESPACE D_YKT_DATA
DATAFILE 
'/home/oracle/oracle_data/D_YKT_DATA_CODE_01' SIZE 2000M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M
SEGMENT SPACE MANAGEMENT AUTO;

-- 创建日对账水数据表空间
DROP TABLESPACE D_YKT_RDZ_S INCLUDING CONTENTS;
CREATE TABLESPACE D_YKT_RDZ_S
DATAFILE 
'/home/oracle/oracle_data/D_YKT_RDZ_S_01' SIZE 1000M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 8M
SEGMENT SPACE MANAGEMENT AUTO;

-- 创建日对账气数据表空间
DROP TABLESPACE D_YKT_RDZ_Q INCLUDING CONTENTS;
CREATE TABLESPACE D_YKT_RDZ_Q
DATAFILE 
'/home/oracle/oracle_data/D_YKT_RDZ_Q_01' SIZE 1000M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 8M
SEGMENT SPACE MANAGEMENT AUTO;


-- 2.对于每年增长的数据表,放在每年的Tablespace中
-- 创建数据表空间 2009年的数据
DROP TABLESPACE D_YKT_DATA_2009 INCLUDING CONTENTS;
CREATE TABLESPACE D_YKT_DATA_2009
DATAFILE 
'/home/oracle/oracle_data/D_YKT_DATA_2009_01' SIZE 100M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 8M
SEGMENT SPACE MANAGEMENT AUTO;

-- 创建数据表空间 2010年的数据
DROP TABLESPACE D_YKT_DATA_2010 INCLUDING CONTENTS;
CREATE TABLESPACE D_YKT_DATA_2010
DATAFILE 
'/home/oracle/oracle_data/D_YKT_DATA_2010_01' SIZE 10M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 8M
SEGMENT SPACE MANAGEMENT AUTO;

-- 创建数据表空间 2011年的数据
DROP TABLESPACE D_YKT_DATA_2011 INCLUDING CONTENTS;
CREATE TABLESPACE D_YKT_DATA_2011
DATAFILE 
'/home/oracle/oracle_data/D_YKT_DATA_2011_01' SIZE 10M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 8M
SEGMENT SPACE MANAGEMENT AUTO;

-- 创建数据表空间 2012年的数据
DROP TABLESPACE D_YKT_DATA_2012 INCLUDING CONTENTS;
CREATE TABLESPACE D_YKT_DATA_2012
DATAFILE 
'/home/oracle/oracle_data/D_YKT_DATA_2012_01' SIZE 100M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 8M
SEGMENT SPACE MANAGEMENT AUTO;

-- 创建数据表空间 2012年的数据
DROP TABLESPACE D_YKT_DATA_2012 INCLUDING CONTENTS;
CREATE TABLESPACE D_YKT_DATA_2012
DATAFILE 
'/home/oracle/oracle_data/D_YKT_DATA_2012_01' SIZE 100M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 8M
SEGMENT SPACE MANAGEMENT AUTO;

-- 创建数据表空间 2013年的数据
DROP TABLESPACE D_YKT_DATA_2013 INCLUDING CONTENTS;
CREATE TABLESPACE D_YKT_DATA_2013
DATAFILE 
'/home/oracle/oracle_data/D_YKT_DATA_2013_01' SIZE 100M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 8M
SEGMENT SPACE MANAGEMENT AUTO;

-- 创建数据表空间 2014年的数据
DROP TABLESPACE D_YKT_DATA_2014 INCLUDING CONTENTS;
CREATE TABLESPACE D_YKT_DATA_2014
DATAFILE 
'/home/oracle/oracle_data/D_YKT_DATA_2014_01' SIZE 100M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 8M
SEGMENT SPACE MANAGEMENT AUTO;

-- 创建数据表空间 2015年的数据
DROP TABLESPACE D_YKT_DATA_2015 INCLUDING CONTENTS;
CREATE TABLESPACE D_YKT_DATA_2015
DATAFILE 
'/home/oracle/oracle_data/D_YKT_DATA_2015_01' SIZE 100M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 8M
SEGMENT SPACE MANAGEMENT AUTO;

-- 创建数据表空间 2016年的数据
DROP TABLESPACE D_YKT_DATA_2016 INCLUDING CONTENTS;
CREATE TABLESPACE D_YKT_DATA_2016
DATAFILE 
'/home/oracle/oracle_data/D_YKT_DATA_2016_01' SIZE 100M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 8M
SEGMENT SPACE MANAGEMENT AUTO;

-- 创建数据表空间 2017年的数据
DROP TABLESPACE D_YKT_DATA_2017 INCLUDING CONTENTS;
CREATE TABLESPACE D_YKT_DATA_2017
DATAFILE 
'/home/oracle/oracle_data/D_YKT_DATA_2017_01' SIZE 100M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 8M
SEGMENT SPACE MANAGEMENT AUTO;

-- 创建数据表空间 2018年的数据
DROP TABLESPACE D_YKT_DATA_2018 INCLUDING CONTENTS;
CREATE TABLESPACE D_YKT_DATA_2018
DATAFILE 
'/home/oracle/oracle_data/D_YKT_DATA_2018_01' SIZE 100M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 8M
SEGMENT SPACE MANAGEMENT AUTO;

-- 3. 创建用户
create user YKT identified by LSYKT default tablespace D_YKT_DATA;
grant connect, dba, create any table to YKT;



spool off;
exit;

--创建代分区表的数据表
drop table getmsg_bak;
create table GETMSG_bak
(
  ID  NUMBER(14) not null,
  LSH CHAR(20) not null,
  MSG VARCHAR2(4000),
  SJ  DATE
)
PARTITION BY RANGE (sj)
(PARTITION D_YKT_DATA_2009 VALUES LESS THAN (TO_DATE('2010-01-01', 'YYYY-MM-DD'))  tablespace D_YKT_DATA_2009,
PARTITION D_YKT_DATA_2010 VALUES LESS THAN (TO_DATE('2011-01-01', 'YYYY-MM-DD')) tablespace D_YKT_DATA_2010,
PARTITION D_YKT_DATA_2011 VALUES LESS THAN (TO_DATE('2012-01-01', 'YYYY-MM-DD')) tablespace D_YKT_DATA_2011,
PARTITION D_YKT_DATA_2012 VALUES LESS THAN (TO_DATE('2013-01-01', 'YYYY-MM-DD')) tablespace D_YKT_DATA_2012,
PARTITION D_YKT_DATA_2013 VALUES LESS THAN (TO_DATE('2014-01-01', 'YYYY-MM-DD')) tablespace D_YKT_DATA_2013,
PARTITION D_YKT_DATA_2014 VALUES LESS THAN (TO_DATE('2015-01-01', 'YYYY-MM-DD')) tablespace D_YKT_DATA_2014,
PARTITION D_YKT_DATA_2015 VALUES LESS THAN (TO_DATE('2016-01-01', 'YYYY-MM-DD')) tablespace D_YKT_DATA_2015,
PARTITION D_YKT_DATA_2016 VALUES LESS THAN (TO_DATE('2017-01-01', 'YYYY-MM-DD')) tablespace D_YKT_DATA_2016,
PARTITION D_YKT_DATA_2017 VALUES LESS THAN (TO_DATE('2018-01-01', 'YYYY-MM-DD')) tablespace D_YKT_DATA_2017,
PARTITION D_YKT_DATA_2018 VALUES LESS THAN (TO_DATE('2019-01-01', 'YYYY-MM-DD')) tablespace D_YKT_DATA_2018
);
-- Create/Recreate primary, unique and foreign key constraints
alter table GETMSG_bak
  add primary key (ID, LSH)
  using index
  tablespace D_YKT_DATA
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 1M
    next 1M
    minextents 1
    maxextents unlimited
    pctincrease 0
  );
 







你可能感兴趣的:(oracle,sql)