-- 01创建表空间
--注意表空间的路径根据实际安装环境进行调整
CREATE TABLESPACE ts_myscott
LOGGING
DATAFILE ‘/home/oracle_11/app/oradata/orcl/ts_myscott.dbf‘ SIZE 10M
EXTENT MANAGEMENT LOCAL;
CREATE TABLESPACE ts_myscott2
LOGGING
DATAFILE ‘/home/oracle_11/app/oradata/orcl/ts_myscott2.dbf‘ SIZE 20M
EXTENT MANAGEMENT LOCAL;
ALTER DATABASE DATAFILE ‘/home/oracle_11/app/oradata/orcl/ts_myscott.dbf‘ AUTOEXTEND ON NEXT10M MAXSIZE UNLIMITED;
ALTER DATABASE DATAFILE ‘/home/oracle_11/app/oradata/orcl/ts_myscott2.dbf‘ AUTOEXTEND ON NEXT20M MAXSIZE UNLIMITED;
commit;
-- 02创建方案(创建用户)
CREATE USER MYSCOTTPROFILE DEFAULT
IDENTIFIED BY MYSCOTT DEFAULT TABLESPACE USERS
ACCOUNT UNLOCK;
--资源和登录权限
GRANT RESOURCE TO MYSCOTT;
GRANT create session TO MYSCOTT;
-- 03创建表
--创建部门表并赋值
CREATE TABLE MYSCOTT.DEPT(
DEPTNONUMBER(2) PRIMARY KEY,
DNAMEVARCHAR2(14) NOT NULL,
LOCVARCHAR2(13)
)TABLESPACE ts_myscott;
INSERT INTO MYSCOTT.dept VALUES(10, ‘ACCOUNTING‘, ‘NEW YORK‘);
INSERT INTO MYSCOTT.dept VALUES(20, ‘RESEARCH‘, ‘DALLAS‘);
INSERT INTO MYSCOTT.dept VALUES(30, ‘SALES‘, ‘CHICAGO‘);
INSERT INTO MYSCOTT.dept VALUES(40, ‘OPERATIONS‘, ‘BOSTON‘);
commit;
--创建员工表并赋值
CREATE TABLE MYSCOTT.EMP(
EMPNONUMBER(4) constraint emp_empno_pk PRIMARY KEY,
ENAMEVARCHAR2(10) constraint emp_ename_notnull NOT NULL,
JOBVARCHAR2(9),
MGRNUMBER(4),
HIREDATEDATE,
SALNUMBER(7,2) constraint emp_sal_check check (SAL>0),
COMMNUMBER(7,2),
DEPTNONUMBER(2) constraint emp_deptno_fk references MYSCOTT.dept(deptno)
)TABLESPACE ts_myscott;
--创建索引在新的表空间上
CREATEINDEX MYSCOTT.IX_CAtbAuditOperInfo_OT ON MYSCOTT.EMP(ENAME) TABLESPACE ts_myscott2;
INSERT INTO MYSCOTT.EMP VALUES(7369, ‘SMITH‘, ‘CLERK‘, 7902, ‘17-12月-80‘,
800, NULL, 20);
INSERT INTO MYSCOTT.EMP VALUES(7499, ‘ALLEN‘, ‘SALESMAN‘, 7698, ‘20-2月-81‘, 1600, 300, 30);
INSERT INTO MYSCOTT.EMP VALUES(7521, ‘WARD‘, ‘SALESMAN‘, 7698, ‘22-2月-81‘, 1250, 500, 30);
INSERT INTO MYSCOTT.EMP VALUES(7566, ‘JONES‘, ‘MANAGER‘, 7839, ‘02-4月-81‘, 2975, NULL, 20);
INSERT INTO MYSCOTT.EMP VALUES(7654, ‘MARTIN‘, ‘SALESMAN‘, 7698, ‘28-9月-81‘, 1250, 1400, 30);
INSERT INTO MYSCOTT.EMP VALUES(7698, ‘BLAKE‘, ‘MANAGER‘, 7839, ‘01-5月-81‘, 2850, NULL, 30);
INSERT INTO MYSCOTT.EMP VALUES(7782, ‘CLARK‘, ‘MANAGER‘, 7839, ‘09-6月-81‘, 2450, NULL, 10);
INSERT INTO MYSCOTT.EMP VALUES(7788, ‘SCOTT‘, ‘ANALYST‘, 7566, ‘19-4月-87‘, 3000, NULL, 20);
INSERT INTO MYSCOTT.EMP VALUES(7839, ‘KING‘, ‘PRESIDENT‘, NULL, ‘17-11月-81‘,
5000, NULL, 10);
INSERT INTO MYSCOTT.EMP VALUES(7844, ‘TURNER‘, ‘SALESMAN‘, 7698, ‘08-9月-81‘, 1500, 0, 30);
INSERT INTO MYSCOTT.EMP VALUES(7876, ‘ADAMS‘, ‘CLERK‘, 7788, ‘23-5月-87‘, 1100, NULL, 20);
INSERT INTO MYSCOTT.EMP VALUES(7900, ‘JAMES‘, ‘CLERK‘, 7698, ‘03-12月-81‘,
950, NULL, 30);
INSERT INTO MYSCOTT.EMP VALUES(7902, ‘FORD‘, ‘ANALYST‘, 7566, ‘03-12月-81‘,
3000, NULL, 20);
INSERT INTO MYSCOTT.EMP VALUES(7934, ‘MILLER‘, ‘CLERK‘, 7782, ‘23-1月-82‘, 1300, NULL, 10);
commit;
--创建工资级别表并赋值
CREATE TABLE MYSCOTT.SALGRADE(
GRADENUMBER,
LOSALNUMBER,
HISALNUMBER
)TABLESPACE ts_myscott;
INSERT INTO MYSCOTT.SALGRADE VALUES(1, 700, 1200);
INSERT INTO MYSCOTT.SALGRADE VALUES(2, 1201, 1400);
INSERT INTO MYSCOTT.SALGRADE VALUES(3, 1401, 2000);
INSERT INTO MYSCOTT.SALGRADE VALUES(4, 2001, 3000);
INSERT INTO MYSCOTT.SALGRADE VALUES(5, 3001, 9999);
commit;
--创建奖金表
CREATE TABLE MYSCOTT.BONUS(
ENAMEVARCHAR2(10),
JOBVARCHAR2(9),
SALNUMBER,
COMMNUMBER
)TABLESPACE ts_myscott;
------停止-----
-- 04创建新用户方案通过MYSCOTTUSER1来访问数据库,权限配置演示
CREATE USER "MYSCOTTUSER1"PROFILE "DEFAULT" IDENTIFIED BY "123456" DEFAULT TABLESPACE "USERS" ACCOUNT UNLOCK;
GRANT "CONNECT" TO "MYSCOTTUSER1";
GRANT SELECT ANY TABLE TO "MYSCOTTUSER1";
GRANT DELETE ON MYSCOTT.DEPT TO "MYSCOTTUSER1";
GRANT INSERT ON MYSCOTT.DEPT TO "MYSCOTTUSER1";
GRANT UPDATE ON MYSCOTT.DEPT TO "MYSCOTTUSER1";
GRANT DELETE ON MYSCOTT.EMP TO "MYSCOTTUSER1";
GRANT INSERT ON MYSCOTT.EMP TO "MYSCOTTUSER1";
GRANT UPDATE ON MYSCOTT.EMP TO "MYSCOTTUSER1";
commit;