zoukankan      html  css  js  c++  java
  • 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;

    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

    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;

    5.创建Scott用户

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

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

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

    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。

    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);

     

    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 /

     

    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 /

     

  • 相关阅读:
    C++ linux 共享内存的学习
    C++11 result_of 学习
    C++线程池 基于Cpp98的实现 学习2 未完待续
    Piecewise Smooth Subdivision Surfaces with Normal Control 未完待续
    C++线程池 基于C的实现 学习1
    C++ 标准函数 。abort & typeid
    线段树(区间更新, 区间查询 ,线段染色)
    bfs(标记整个棋盘)
    stringstream流分割空格
    lcm与gcd
  • 原文地址:https://www.cnblogs.com/shishanyuan/p/1643430.html
Copyright © 2011-2022 走看看