实验五 oracle安全管理及备份恢复.docx

上传人:b****1 文档编号:3380223 上传时间:2023-05-05 格式:DOCX 页数:44 大小:507.20KB
下载 相关 举报
实验五 oracle安全管理及备份恢复.docx_第1页
第1页 / 共44页
实验五 oracle安全管理及备份恢复.docx_第2页
第2页 / 共44页
实验五 oracle安全管理及备份恢复.docx_第3页
第3页 / 共44页
实验五 oracle安全管理及备份恢复.docx_第4页
第4页 / 共44页
实验五 oracle安全管理及备份恢复.docx_第5页
第5页 / 共44页
实验五 oracle安全管理及备份恢复.docx_第6页
第6页 / 共44页
实验五 oracle安全管理及备份恢复.docx_第7页
第7页 / 共44页
实验五 oracle安全管理及备份恢复.docx_第8页
第8页 / 共44页
实验五 oracle安全管理及备份恢复.docx_第9页
第9页 / 共44页
实验五 oracle安全管理及备份恢复.docx_第10页
第10页 / 共44页
实验五 oracle安全管理及备份恢复.docx_第11页
第11页 / 共44页
实验五 oracle安全管理及备份恢复.docx_第12页
第12页 / 共44页
实验五 oracle安全管理及备份恢复.docx_第13页
第13页 / 共44页
实验五 oracle安全管理及备份恢复.docx_第14页
第14页 / 共44页
实验五 oracle安全管理及备份恢复.docx_第15页
第15页 / 共44页
实验五 oracle安全管理及备份恢复.docx_第16页
第16页 / 共44页
实验五 oracle安全管理及备份恢复.docx_第17页
第17页 / 共44页
实验五 oracle安全管理及备份恢复.docx_第18页
第18页 / 共44页
实验五 oracle安全管理及备份恢复.docx_第19页
第19页 / 共44页
实验五 oracle安全管理及备份恢复.docx_第20页
第20页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

实验五 oracle安全管理及备份恢复.docx

《实验五 oracle安全管理及备份恢复.docx》由会员分享,可在线阅读,更多相关《实验五 oracle安全管理及备份恢复.docx(44页珍藏版)》请在冰点文库上搜索。

实验五 oracle安全管理及备份恢复.docx

实验五oracle安全管理及备份恢复

实验五oracle安全管理及备份恢复

一、实验目的及要求

掌握Oracle的安全管理方法。

掌握oracle数据库常用的备份和恢复方法。

二、实验主要内容

(1)概要文件的建立、修改、查看、删除操作。

(2)用户的建立、修改、查看、删除操作。

(3)权限的建立、修改、查看、删除操作。

(4)角色的建立、修改、查看、删除操作。

(5)数据备份与恢复的方法

(6)Oracle备份方案的制定

三、实验仪器设备

在局域网环境下,有一台服务器和若干台客户机。

服务器成功安装Oracle10g数据库服务器(企业版),客户机成功安装Oracle10g客户端软件,网络服务配置正确,数据库和客户端正常工作。

四、实验步骤

1、安全管理

(1)创建概要文件。

①利用企业管理器创建概要文件“ygbx+学号_pro”,要求在此概要文件中CPU/会话为1000,读取数/会话为2000,登录失败次数为3,锁定天数为10。

②利用SQL*Plus或iSQL*Plus,创建概要文件“ygbx+学号_pro_sql”,其结构与“ygbx+学号_pro”一致。

(2)查看概要文件。

①利用企业管理器查看概要文件“ygbx+学号_pro”的信息。

②利用SQL*Plus或iSQL*Plus,从DBA_PROFILES数据字典中查看“ygbx+学号_pro_sql”概要文件的资源名称和资源值等信息。

③利用SQL*Plus或iSQL*Plus,从查看“ygbx+学号_pro_sql”概要文件中锁定天数的值。

(3)修改概要文件。

①利用企业管理器,修改“ygbx+学号_pro”概要文件,将CPU/会话改为4000,连接时间为60。

②利用SQL*Plus或iSQL*Plus,修改“ygbx+学号_pro_sql”概要文件,将并行会话设为20,读取数/会话设为DEFAULT。

(4)创建用户。

①利用企业管理器,创建“ygbxuser+学号”用户,密码为“user+学号”,默认表空间为“ygbx_tbs”。

②利用SQL*Plus或iSQL*Plus,创建“ygbxuser+学号_sql”用户,密码为“user+学号+sql”,该用户处于锁状态。

③利用SQL*Plus或iSQL*Plus,将“ygbx+学号_pro”概要文件赋予“ygbxuser+学号”用户。

④利用SQL*Plus或iSQL*Plus,将“ygbx+学号_pro_sql”概要文件赋予“ygbxuser+学号_sql”用户。

(5)查看用户。

①利用企业管理器,查看“ygbxuser+学号”用户的信息。

②利用SQL*Plus或iSQL*Plus,查看“ygbxuser+学号_sql”用户的信息,并查看该用户验证的方式。

③利用SQL*Plus或iSQL*Plus,从DBA_USERS数据字典中查看“ygbxuser+学号_sql”用户的默认表空间和临时表空间的信息。

(6)修改用户。

①利用企业管理器,修改“ygbxuser+学号”用户,验证方式为外部。

②利用SQL*Plus或iSQL*Plus,修改“ygbxuser+学号_sql”用户,将该用户解锁,并将密码改为“sql+学号+user”。

(7)权限管理。

①利用企业管理器,授予“ygbxuser+学号”用户“CREATEANYTABLE”、“CREATEANYINDEX”、“ALTERANYTABLE”、“ALTERANYINDEX”、“DROPANYTABLE”和“DROPANYINDEX”系统权限。

②利用SQL*Plus或iSQL*Plus,授予“ygbxuser+学号_sql”用户“SYSOPER”系统权限。

③利用企业管理器,将“ygbxuser+学号”用户增加到“SYSTEM”方案中对“help”表的查看、修改、删除等对象权限。

④利用SQL*Plus或iSQL*Plus,收回“ygbxuser+学号_sql”用户在“SYSTEM”方案中对“help”表的查看、修改、删除等对象权限。

⑤利用SQL*Plus或iSQL*Plus,收回“ygbxuser+学号_sql”用户的“SYSOPER”系统权限。

(8)创建角色。

①利用企业管理器,创建“ygbxrole+学号”角色,赋予该角色能对表、索引、存储过程、序列、同义词进行基本操作的权限。

②利用SQL*Plus或iSQL*Plus,创建“ygbxrole+学号_sql”角色,该角色具有“SYSDBA”系统权限,并将该角色赋予“ygbxuser+学号_sql”用户。

(9)查看角色。

①利用企业管理器,查看“ygbxrole+学号”角色所具有的所有权限。

②利用SQL*Plus或iSQL*Plus,查看“ygbxrole+学号_sql”角色所具有的所有权限。

(10)修改角色。

①利用企业管理器,修改“ygbxrole+学号”角色,增加对角色的基本操作,并收回存储过程和序列的操作权限。

②利用SQL*Plus或iSQL*Plus,修改“ygbxrole+学号_sql”角色,收回“SYSDBA”系统,而授予“SELECTANYTABLE”系统权限。

(11)删除角色。

①利用企业管理器,删除“ygbxrole+学号”角色。

②利用SQL*Plus或iSQL*Plus,删除“ygbxrole+学号_sql”角色。

(12)删除概要文件。

①利用企业管理器,删除“ygbx+学号_pro”概要文件,查看“ygbxuser+学号”用户的概要文件。

②利用SQL*Plus或iSQL*Plus,删除“ygbx+学号_pro_sql”概要文件,查看“ygbxuser+学号_sql”用户的概要文件。

(13)删除用户。

①利用企业管理器,删除“ygbxuser+学号”用户。

②利用SQL*Plus或iSQL*Plus,删除“ygbxuser+学号_sql”用户。

2、数据库备份与恢复

1)Oracle物理备份与恢复

.0.准备工作:

(1)查看数据库是否运行于归档模式下:

请给出查询的结果:

(2)干净的关闭数据库,做一个完全的冷备份。

提示:

a.使用showdown命令;b.复制数据文件、日志文件和控制文件到安全地方

(3)把数据库改为归档模式

SQL>startupmount

SQL>alterdatabasearchivelog;

SQL>alterdatabaseopen;

设置成自动归档

SQL>altersystemsetlog_archive_start=truescope=spfile;

注意:

本实验中的很多命令路径参数需根据自己的实现环境作出修改!

!

1.实验1:

数据库系统数据文件和回退段遭破坏的情况下的恢复。

此时数据库的状态是关闭的。

(1)先启动数据库,用scott用户建立test表,并插入两条数据。

SQL>createtable (idint);

表已创建。

SQL>insertintovalues

(1);

已创建1行。

SQL>insertintovalues

(2);

已创建1行。

SQL>commit;

提交完成。

(2)模拟数据库遭意外被迫关闭,并且系统数据文件丢失。

SQL>shutdownabort

把oracle服务停掉,移除和文件(即将这两个文件移到其他文件夹下)。

(3)启动服务,启动数据库,提示如下错误

a.启动服务

b.启动数据库

SQL>startup

请给执行结果:

 

(4)把备份的和文件复制回去

a.执行以下命令:

请给执行结果:

然后就可以打开数据库,查看scott用户的test表。

SQL>alterdatabaseopen;

SQL>select*from;

  请给执行结果:

实验2:

数据库是打开的,这时损坏的文件是用户的数据文件而不是system和undo文件。

(1)用scott用户在users表空间建立test1表

SQL>createtable(idint)

  2  tablespaceusers;

表已创建。

(2)插入两条数据

SQL>insertintovalues

(1);

已创建1行。

SQL>insertintovalues

(2);

已创建1行。

SQL>commit;

提交完成。

(3)当前日志归档

SQL>altersystemarchivelogcurrent;

系统已更改。

(4)现在破坏users表空间,使其离线,然后移除到一个指定文件夹(备份)

SQL>altertablespaceusersoffline;

表空间已更改。

执行:

SQL>altertablespaceusersonline;

 请给执行结果:

此时出现错误,users表空间不能在线了。

这时把备份的还原回去。

然后,执行:

SQL>recovertablespaceusers;

(5)完成介质恢复。

SQL>altertablespaceusersonline;

表空间已更改。

SQL>select*from;

    请给执行结果:

实验3:

数据文件没有备份(不能使system和undo文件)的恢复。

(1)创建表空间testspace

在SQLPlus中依次执行以下语句,给出最后的执行结果:

SQL>createtablespacetestspacedatafile'C:

\oracle\product\10.1.0\db_1\TestDB\'size10m;

SQL>createtable(idint)

   tablespacetestspace;

SQL>commit;

SQL>altersystemswitchlogfile;

SQL>insertintovalues

(1);

SQL>commit;

SQL>altertablespacetestspaceoffline;

SQL>select*from;

 请给执行结果:

 

(2)由于没有备份数据文件,需重新创建一个

SQL>alterdatabasecreatedatafile

    'C:

\oracle\product\10.1.0\db_1\TestDB\';

SQL>recovertablespacetestspace;

(3)完成恢复

SQL>altertablespacetestspaceonline;

表空间已更改。

SQL>select*from;

请给执行结果:

2)逻辑备份:

导入导出实验

实验4:

模式的导入导出

案例:

将scott/tiger用户对应的模式导出,通过导出文件将其导入到Test用户(为一个空用户)对应的模式中,包括该模式中的所有对象的定义和数据。

1.准备工作

(1)创建用户:

Createusertest

Identifiedbytest;

(2)授权:

注:

这儿做了简化处理,实际工作中,尽量不要授DBA权限给一般用户。

2.数据的导出与导入

(1)数据准备

以scott身份登录:

connscott/tiger

创建测试用表:

createtablejobs(

namevarchar2(20),

jobvarchar2(40),

salesnumber);

加入数据:

insertintojobsvalues('IT_Test','softwaretesting',3000);

提交:

commit;

创建测试用表scott_test

createtablescott_test(

namevarchar2(10),

agenumber);

加入数据:

insertintoscott_testvalues('manager','40');

(2)以管理员身份登录:

connassysdba;

altersystemenablerestrictedsession;

(3)导出数据库:

在DOS提示符下执行:

expsystem/testdbfull=yfile=

执行时,会要求输入system的口令,请根据实际情况输入。

(4)恢复数据库运行状态

connassysdba;

altersystemdisablerestrictedsession;

(5)进行数据库的导入:

以下是一示例:

impsystem/testdbfromuser=scotttouser=testtables=(scott_test,jobs)file=ignore=y;

请给执行结果:

3.结果检验

对导入的数据进行查询,以确定导入是否成功,给出结果截图:

(1)以test身份登录到数据库

(2)查询刚才导出(导入)表中的某个表(如Jobs):

请给执行结果:

3)RMAN使用基础

测试说明

测试目的

验证RMAN备份与恢复全过程。

记录整个过程的操作细节。

利用RMAN的备份与恢复可完成如下工作:

(1)数据库备份/恢复;

(2)同一主机,不同磁盘阵列,相同数据存储路径(模式)的数据迁移;(在恢复过程中改变数据存储路径/模式过程待验证)

(3)不同主机,相同操作系统、同一数据库版本之间的的数据库迁移。

(不同数据库版本之间是否可利用RMAN备份与恢复进行数据迁移待验证。

测试环境说明

OS:

WindowsXP

ORACLEVERSION:

OracleDatabase10gEnterpriseEditionRelease10.1.0.–Prod

ORACLE运行模式:

归档模式

ORACLE数据存储:

文件系统,存储于D:

\oracle\product\10.1.0\oradata\orcl

数据备份过程

1.连接本地数据库:

rmantarget/

通过rman连接本地数据库非常简单,进入到命令提示符界面:

数据库全备份

rmannocatalogtarget/

run

{

allocatechannelc1typedisk;

allocatechannelc2typedisk;

allocatechannelc3typedisk;

backupdatabaseformat'C:

\db_full_%U'includecurrentcontrolfile;

sql'altersystemarchivelogcurrent';

#crosscheckarchivelogall;

backupformat'c:

\arch_full_%U'archivelogalldeleteinput;

releasechannelc1;

releasechannelc2;

releasechannelc3;

}

【注意】

RMAN采用无恢复目录模式

备份数据库过程包含当前控制文件备份

数据库处于归档模式,备份过程包含所有归档日志的备份

数据库必须处于mount或者open状态,才能进行数据库备份

3.数据库在数据全备份后继续操作

(1)在RMAN全备份后继续数据库的操作。

即在测试表中插入数据。

SQL>connkfzjd/kfzjd

已连接。

SQL>insertintotvalues(100);

已创建1行。

SQL>insertintotvalues(200);

已创建1行。

SQL>insertintotvalues(300);

已创建1行。

SQL>insertintotvalues(400);

已创建1行。

SQL>commit;

提交完成。

SQL>select*fromt;

ID

----------

1

2

3

100

200

300

400

已选择7行。

(2)正常关闭数据库。

并删除原数据库所有文件,包括:

控制文件、数据文件、日志文件。

以模拟更换磁盘阵列或者文件丢失的情况。

SQL>conn/assysdba

已连接。

SQL>shutdownimmediate

数据库已经关闭。

已经卸载数据库。

ORACLE例程已经关闭。

SQL>hostmoveD:

\oracle\product\10.1.0\oradata\orclD:

\oracle\product\

【注意】

删除文件过程,将以更目录名称的方式,用以模拟新盘阵上的文件存储路径与原系统不同。

此时,重新启动数据库过程必然失败。

SQL>conn/assysdba

已连接。

SQL>startup

ORACLEinstancestarted.

TotalSystemGlobalArea4bytes

FixedSize787988bytes

VariableSize8bytes

DatabaseBuffersbytes

RedoBuffers262144bytes

ORA-00205:

,

【注意】此时由于实例存在,但是database全部丢失,则INSTANCE启动成功,但是database启动失败。

即可,NOMOUNT状态(只启动INSTANCE)成功;进入MOUNT状态时,由于控制文件丢失,MOUNT失败。

数据库启动过程不能继续。

数据库恢复过程

当前情况下,所有的控制文件、数据库文件、联机日志文件均全部丢失。

按照数据库恢复/启动过程,应按照先恢复数据库控制文件,再恢复数据文件的步骤进行。

1.从RMAN备份中恢复控制文件

在本例子中,RMAN备份脚本进行了控制文件的备份。

所以,控制文件的恢复过程可以利用RMAN的备份完成。

此时,也存在两种情况。

RMAN设置了控制文件自动备份。

RMAN未设置控制文件自动备份,而由RMAN脚本进行控制文件备份。

如本例所示。

对于此两种情况,分别说明如下。

(1)RMAN未设置控制文件自动备份

C:

\>rmannocatalogtarget/

恢复管理器:

版本10.1.0.-Production

Copyright(c)1995,2004,Oracle.Allrightsreserved.

连接到目标数据库:

ORCL(DBID=46)

正在使用目标数据库控制文件替代恢复目录

RMAN>showall;

RMAN配置参数为:

CONFIGURERETENTIONPOLICYTOREDUNDANCY1;#default

CONFIGUREBACKUPOPTIMIZATIONOFF;#default

CONFIGUREDEFAULTDEVICETYPETODISK;#default

CONFIGURECONTROLFILEAUTOBACKUPOFF;

CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISKTO'%F';#default

CONFIGUREDEVICETYPEDISKPARALLELISM1BACKUPTYPETOBACKUPSET;#default

CONFIGUREDATAFILEBACKUPCOPIESFORDEVICETYPEDISKTO1;#default

CONFIGUREARCHIVELOGBACKUPCOPIESFORDEVICETYPEDISKTO1;#default

CONFIGUREMAXSETSIZETOUNLIMITED;#default

CONFIGUREARCHIVELOGDELETIONPOLICYTONONE;#default

CONFIGURESNAPSHOTCONTROLFILENAMETO'D:

\ORACLE\PRODUCT\10.1.0\DB_1\DATABASE\S

';#default

【注意】RMAN未设置控制文件自动备份。

此时如果RMAN的直接恢复将不成功。

如下所示。

RMAN>startupnomount;

Oracle例程已启动

系统全局区域总计4字节

FixedSize787988字节

VariableSize8字节

DatabaseBuffers字节

RedoBuffers262144字节

RMAN>restorecontrolfilefromautobackup;(由于没有设置自动备份控制文件所以出错)

启动restore于15-8月-07

分配的通道:

ORA_DISK_1

通道ORA_DISK_1:

sid=160devtype=DISK

恢复区域目标:

D:

\oracle\product\10.1.0\flash_recovery_area

用于搜索的数据库名(或锁定名称空间):

ORCL

通道ORA_DISK_1:

在恢复区域中找到自动备份

通道ORA_DISK_1:

已找到的自动备份:

D:

\ORACLE\PRODUCT\10.1.0\FLASH_RECOVERY_AREA\

ORCL\AUTOBACKUP\2007_08_14\

RMAN-00571:

===========================================================

RMAN-00569:

===============ERRORMESSAGESTACKFOLLOWS===============

RMAN-00571:

===========================================================

RMAN-03002:

failureofrestorecommandat08/15/200709:

54:

16

ORA-19504:

无法创建文件"D:

\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\"

ORA-27040:

文件创建错误,无法创建文件

OSD-04002:

无法打开文件

O/S-Error:

(OS3)系统找不到指定的路径。

RMAN>restorecontrolfile;(语法就错误了)

启动restore于15-8月-07

使用通道ORA_DISK_1

RMAN-00571:

==============================================

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2