2.后續(xù)練習(xí)準(zhǔn)備工作
1.創(chuàng)建PRACTICE數(shù)據(jù)庫
如果未安裝Oracle程序,可以按照上篇Oracle安裝過程中創(chuàng)建PRACTICE數(shù)據(jù)庫,并設(shè)置了sys、system的密碼為system;如果已經(jīng)安裝Oracle程序,可以使用DBCA創(chuàng)建,具體過程略。
2.在USERS表空間下添加數(shù)據(jù)文件
數(shù)據(jù)庫在安裝的過程中將創(chuàng)建sys和system用戶,其中sys為數(shù)據(jù)庫的DBA用戶。由于后續(xù)練習(xí)的需要,我們以sys賬號DBA身份登錄,使用ALTER TABLESPACE命令為用戶表空間創(chuàng)建第二個數(shù)據(jù)文件(也可以利用EM進行創(chuàng)建)。
2 SQL>ALTER TABLESPACE USERS ADD DATAFILE 'D:\oracle\PRACTICE\USERS02.DBF' SIZE 10M;


ALTER TABLESPACE USERS ADD DATAFILE表示需要對表空間USERS進行修改,后面是數(shù)據(jù)文件所在的文件夾,根據(jù)PRACTICE安裝數(shù)據(jù)文件的位置進行修改。
3.新增TOOLS表空間
接下來我們用腳本創(chuàng)建TOOLS表空間,該表空間用于存放TINA用戶的對象。
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表示創(chuàng)建TOOLS表空間,DATAFILE ‘D:\…’ SIZE 50M指明了該表空間數(shù)據(jù)文件所在路徑并指定初始化大小為50M,AUTOEXTEND ON NEXT 50M MAXSIZE 16000M表示該數(shù)據(jù)文件自動增長,每次增長的大小為50M,最大容量為16000M


4.新增TS4DROP表空間
同創(chuàng)建TOOLS表空間類似,我們創(chuàng)建TS4DROP表空間,該表空間在后續(xù)的練習(xí)中用于刪除。
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.創(chuàng)建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執(zhí)行該腳本

執(zhí)行完畢窗口會自動關(guān)閉,通過該腳本創(chuàng)建用戶Scott,密碼為Tiger,并插入相關(guān)測試數(shù)據(jù)。此時我們以Scott用戶登錄,可以查詢emp表插入的測試數(shù)據(jù)

6.創(chuàng)建TINA用戶
創(chuàng)建該用戶TINA用來說明表空間時間點恢復(fù),該用戶擁有一個表DATE_LOG,該表用于跟蹤一段時間內(nèi)行為的若干記錄,可以創(chuàng)建一個Oracle作業(yè)為這個時間表填充數(shù)據(jù),完成數(shù)據(jù)庫恢復(fù)后,我們可以檢查該表來幫助證實恢復(fù)的結(jié)果。按照如下方法創(chuàng)建TINA用戶并賦予權(quán)限:
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表示把連接數(shù)據(jù)、訪問資源等權(quán)限賦予TINA用戶,IDENTIFIED BY panda設(shè)置了TINA的用戶的密碼為panda;ALTER USER TINA DEFAULT TABLESPACE tools 設(shè)定了TINA用戶的默認表空間為tools,ALTER USER tina TEMPORARY TABLESPACE temp則表示該用戶的臨時表空間為temp。

7.創(chuàng)建TINA對象
PRACTICE數(shù)據(jù)庫中,TINA的唯一作用是跟蹤時間,TINA擁有一個表、一個過程和一個作業(yè),其中數(shù)據(jù)表名為DATE_LOG,過程名為CREATE_DATE_LOG_ROW,以下為創(chuàng)建相關(guān)腳本:
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 SQL>CREATE OR REPLACE PROCEDURE create_date_log_row
3 IS
4 --目標(biāo)是插入一筆當(dāng)前時間點的數(shù)據(jù)
5 BEGIN
6 INSERT INTO DATE_LOG (create_date) VALUES (SYSDATE);
7 END;
8 /

8.產(chǎn)生數(shù)據(jù)庫動作
在備份和恢復(fù)練習(xí)的過程中,需要一些正在進行的數(shù)據(jù)庫行為來檢查你的恢復(fù)操作是否正確完成,通過在TINA.DATE_LOG插入行來產(chǎn)生數(shù)據(jù)庫行為。可以使用插入聲明、過程調(diào)用或數(shù)據(jù)庫作業(yè)來向表中插入行。
使用如下的INSERT命令向表總插入當(dāng)前日期和時間:
也可以使用剛創(chuàng)建的過程來完成同樣的插入動作,具體如下:
這里我們創(chuàng)建一個作業(yè),該作業(yè)不斷向TINA.DATE_LOG表中插入行,使用如下的腳本進行創(chuàng)建:
2 --創(chuàng)建該用戶下的作業(yè),用戶定時往DATE_LOG插入數(shù)據(jù)
3 SQL>VARIABLE jobno number;
4 BEGIN
5 --該作業(yè)每10分鐘運行一次
6 DBMS_JOB.SUBMIT(:jobno, 'create_date_log_row;', SYSDATE, '(SYSDATE + 1/(24*6))' );
7 commit;
8 END;
9 /


浙公網(wǎng)安備 33010602011771號