2.后续练习准备工作

1.创建PRACTICE数据库

如果未安装Oracle程序,可以按照上篇Oracle安装过程中创建PRACTICE数据库,并设置了sys、system的密码为system;如果已经安装Oracle程序,可以使用DBCA创建,具体过程略。

2.在USERS表空间下添加数据文件

数据库在安装的过程中将创建sys和system用户,其中sys为数据库的DBA用户。由于后续练习的需要,我们以sys账号DBA身份登录,使用ALTER TABLESPACE命令为用户表空间创建第二个数据文件(也可以利用EM进行创建)。

1  -- 增加用户表空间下的数据文件
2  SQL > ALTER TABLESPACE USERS ADD DATAFILE  ' D:\oracle\PRACTICE\USERS02.DBF '  SIZE 10M;

2.后续练习准备工作

2.后续练习准备工作

ALTER TABLESPACE USERS ADD DATAFILE表示需要对表空间USERS进行修改,后面是数据文件所在的文件夹,根据PRACTICE安装数据文件的位置进行修改。

3.新增TOOLS表空间

接下来我们用脚本创建TOOLS表空间,该表空间用于存放TINA用户的对象。

1  -- 增加TOOLS表空间以及数据文件
2  SQL > CREATE TABLESPACE TOOLS 
3      DATAFILE  ' D:\oracle\PRACTICE\TOOLS01.DBF '  SIZE 50M AUTOEXTEND ON NEXT 50M 
4               MAXSIZE 16000M 
5               EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

 CREATE TABLESPACE TOOLS表示创建TOOLS表空间,DATAFILE ‘D:\…’ SIZE 50M指明了该表空间数据文件所在路径并指定初始化大小为50M,AUTOEXTEND ON NEXT 50M MAXSIZE 16000M表示该数据文件自动增长,每次增长的大小为50M,最大容量为16000M

2.后续练习准备工作

2.后续练习准备工作

4.新增TS4DROP表空间

同创建TOOLS表空间类似,我们创建TS4DROP表空间,该表空间在后续的练习中用于删除。

1  -- 增加TS4DROP表空间以及数据文件
2  SQL > CREATE TABLESPACE TS4DROP
3      DATAFILE  ' D:\oracle\PRACTICE\TS4DROP01.DBF '  SIZE 50M AUTOEXTEND ON NEXT 50M 
4               MAXSIZE 16000M
5               EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

2.后续练习准备工作

2.后续练习准备工作

5.创建Scott用户

查找D:\oracle\product\10.1.0\Db_1\RDBMS\ADMIN\路径下的utlsampl.sql脚本,需要注意的是如果在电脑上有多个实例需要打开utlsample.sql进行修改,由CONNECT SCOTT/TIGER修改为CONNECT SCOTT/TIGER@PRACTICE

2.后续练习准备工作

以DBA身份登录登录Sql Plus执行该脚本

2.后续练习准备工作

执行完毕窗口会自动关闭,通过该脚本创建用户Scott,密码为Tiger,并插入相关测试数据。此时我们以Scott用户登录,可以查询emp表插入的测试数据

2.后续练习准备工作

6.创建TINA用户

创建该用户TINA用来说明表空间时间点恢复,该用户拥有一个表DATE_LOG,该表用于跟踪一段时间内行为的若干记录,可以创建一个Oracle作业为这个时间表填充数据,完成数据库恢复后,我们可以检查该表来帮助证实恢复的结果。按照如下方法创建TINA用户并赋予权限:

1  -- 创建TINA用户以及对应的表空间
2  SQL > GRANT CONNECT, RESOURCE,UNLIMITED TABLESPACE TO TINA IDENTIFIED BY panda;
3  SQL > ALTER USER TINA DEFAULT TABLESPACE tools;
4  SQL > ALTER USER tina TEMPORARY TABLESPACE temp;

 GRANT CONNECT, RESOURCE,UNLIMITED TABLESPACE TO TINA表示把连接数据、访问资源等权限赋予TINA用户,IDENTIFIED BY panda设置了TINA的用户的密码为panda;ALTER USER TINA DEFAULT TABLESPACE tools 设定了TINA用户的默认表空间为tools,ALTER USER tina TEMPORARY TABLESPACE temp则表示该用户的临时表空间为temp。

2.后续练习准备工作

7.创建TINA对象

PRACTICE数据库中,TINA的唯一作用是跟踪时间,TINA拥有一个表、一个过程和一个作业,其中数据表名为DATE_LOG,过程名为CREATE_DATE_LOG_ROW,以下为创建相关脚本:

1  -- 在TINA用户下建立表对象
2  SQL > CONN TINA / PANDA@PRACTICE
3  SQL > DROP TABLE DATE_LOG;
4  SQL > CREATE TABLE DATE_LOG (create_date date constraint create_date_pk PRIMARY KEY);

 2.后续练习准备工作

1  -- 在TINA用户下建立存储过程
2  SQL > CREATE OR REPLACE PROCEDURE create_date_log_row
3  IS
4  -- 目标是插入一笔当前时间点的数据
5  BEGIN
6        INSERT INTO DATE_LOG (create_date) VALUES (SYSDATE);
7  END;
8  /

 2.后续练习准备工作

8.产生数据库动作

在备份和恢复练习的过程中,需要一些正在进行的数据库行为来检查你的恢复操作是否正确完成,通过在TINA.DATE_LOG插入行来产生数据库行为。可以使用插入声明、过程调用或数据库作业来向表中插入行。

使用如下的INSERT命令向表总插入当前日期和时间:

1  SQL > INSERT INTO tina.date_log values (sysdate);

也可以使用刚创建的过程来完成同样的插入动作,具体如下:

1  SQL >  execute tina.create_date_log_row;

这里我们创建一个作业,该作业不断向TINA.DATE_LOG表中插入行,使用如下的脚本进行创建:

1  SQL > CONN TINA / PANDA@PRACTICE
2  -- 创建该用户下的作业,用户定时往DATE_LOG插入数据
3  SQL > VARIABLE jobno number;
4  BEGIN
5  -- 该作业每10分钟运行一次
6        DBMS_JOB.SUBMIT(:jobno,  ' create_date_log_row; ' , SYSDATE,  ' (SYSDATE + 1/(24*6)) '  );
7        commit;
8  END;
9  /

 2.后续练习准备工作

你可能感兴趣的:(工作)