您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试技术 > 测试用例 > 正文

Oracle模拟业务最小测试用例

发表于:2017-01-09 作者:Linux公社 来源:

  环境:RHEL6.4 +Oracle 11.2.0.4
  1.创建业务用户表空间
  2.创建业务用户
  3.赋予用户权限
  4.创建业务表
  5.创建索引
  6.业务查询SQL
  7.删除业务用户及数据
  8.删除业务表空间
  1.创建业务用户表空间
  假设使用了OMF管理,不需要明确指定数据目录(判定是否使用了OMF技术,查看db_create_file_dest参数配置:show parameter db_create_file_dest)
  -- 数据表空间
  create tablespace dbs_d_jingyu datafile size 30M autoextend off;
  -- 临时表空间
  create temporary tablespace temp_jingyu tempfile size 30M autoextend off;
  -- 索引表空间(可选)
  create tablespace dbs_i_jingyu datafile size 30M autoextend off;
  假设文件系统管理,且未使用OMF管理,规划的数据目录是/oradata1
  -- 数据表空间
  create tablespace dbs_d_jingyu datafile '/oradata1/datafiles/dbs_d_jingyu01.dbf' size 30M autoextend off;
  -- 临时表空间
  create temporary tablespace temp_jingyu tempfile '/oradata1/tempfiles/temp_jingyu01.tmp' size 30M autoextend off;
  -- 索引表空间(可选)
  create tablespace dbs_i_jingyu datafile '/oradata1/datafiles/dbs_i_jingyu01.dbf' size 30M autoextend off;
  假设ASM磁盘组,指定磁盘组是+DATA,具体路径OMF管理
  -- 数据表空间
  create tablespace dbs_d_jingyu datafile '+DATA' size 30M autoextend off;
  -- 临时表空间
  create temporary tablespace temp_jingyu tempfile '+DATA' size 30M autoextend off;
  -- 索引表空间(可选)
  create tablespace dbs_i_jingyu datafile '+DATA' size 30M autoextend off;
  2.创建业务用户
  -- 假设创建用户 jingyu 密码 jingyu,默认临时表空间 temp_jingyu, 默认数据表空间 dbs_d_jingyu。
  CREATE USER jingyu IDENTIFIED BY jingyu
  TEMPORARY TABLESPACE temp_jingyu
  DEFAULT TABLESPACE dbs_d_jingyu
  QUOTA UNLIMITED ON dbs_d_jingyu;
  3.赋予用户权限
  -- 赋予普通业务用户权限
  grant resource, connect to jingyu;
  -- 赋予DBA用户权限
  grant dba to jingyu;
  4.创建业务表
  新建业务用户登录,创建T1,T2两张业务表,并插入测试数据。
  -- 业务用户登录
  conn jingyu/jingyu
  -- 删除T1,T2两张表
  drop table t1 cascade constraints purge;
  drop table t2 cascade constraints purge;
  -- 创建T1,T2两张表
  create table t1( id number not null, n number, contents varchar2(4000) ) tablespace dbs_d_jingyu;
  create table t2( id number not null, t1_id number not null, n number, contents varchar2(4000) ) tablespace dbs_d_jingyu;
  -- 初始化向T1,T2表插入随机测试数据
  execute dbms_random.seed(0);
  set timing on
  insert into t1  select rownum, rownum, dbms_random.string('a',50)   from dual   connect by level <= 100   order by dbms_random.random;
  commit;
  insert into t2  select rownum, rownum, rownum, dbms_random.string('b',50)  from dual  connect by level <= 100000  order by dbms_random.random;
  commit;
  -- 查询T1,T2表数据量
  select count(1) from t1;
  select count(1) from t2;
  5.创建索引
  -- 创建T1表字段n的索引idx_t1_n
  create index idx_t1_n on t1(n) tablespace dbs_i_jingyu;
  -- 创建T2表字段id的索引idx_t2_t1id
  create index idx_t2_t1id on t2(t1_id) tablespace dbs_i_jingyu;
  6.业务查询SQL
  -- 业务查询SQL 1
  select * from t1, t2 where t1.id = t2.t1_id and t1.n = 19;
  -- 业务查询SQL 2
  select * from t1, t2 where t1.id = t2.t1_id;
  7.删除业务用户及数据
  -- 删除业务用户jingyu
  drop user jingyu cascade;
  8.删除业务表空间
  -- 删除数据表空间及其文件
  drop tablespace dbs_d_jingyu including contents and datafiles;
  -- 删除索引表空间及其文件
  drop tablespace dbs_i_jingyu including contents and datafiles;
  -- 删除临时表空间及其文件
  drop tablespace temp_jingyu including contents and datafiles;