Welcome 微信登录

首页 / 数据库 / MySQL / Oracle模拟业务最小测试用例

环境: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 jingyuTEMPORARY TABLESPACE temp_jingyuDEFAULT TABLESPACE dbs_d_jingyuQUOTA 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 oninsert into t1select rownum, rownum, dbms_random.string("a",50) from dual connect by level <= 100 order by dbms_random.random;commit;insert into t2select rownum, rownum, rownum, dbms_random.string("b",50)from dualconnect by level <= 100000order by dbms_random.random;commit;-- 查询T1,T2表数据量select count(1) from t1;select count(1) from t2;

5.创建索引

-- 创建T1表字段n的索引idx_t1_ncreate index idx_t1_n on t1(n) tablespace dbs_i_jingyu;-- 创建T2表字段id的索引idx_t2_t1idcreate index idx_t2_t1id on t2(t1_id) tablespace dbs_i_jingyu;

6.业务查询SQL

-- 业务查询SQL 1select * from t1, t2 where t1.id = t2.t1_id and t1.n = 19;-- 业务查询SQL 2select * from t1, t2 where t1.id = t2.t1_id;

7.删除业务用户及数据

-- 删除业务用户jingyudrop 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;更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址