qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

B/S架构测试环境搭建_Oracle篇(Win32系统)

 一、新建数据库

  (1)、Oracle数据库安装完成之后,在程序的目录下会出现对应的可选项。选择“开始”-->“Oracle”-->“配置和管理工具”-->“Database Configuration Assistant”。具体见下图:

图1  Oracle新建数据库开始菜单

  (2)按照提示的步骤,一步步走下去即可,记住自己填写的数据库名称或者SID。Oracle默认的DBA管理权限的用户为SYS和SYSTEM,密码在创建数据库的时候设置(在下图的页面上设置密码)。

图2、Oracle设置DBA密码页面

  (3)建立数据库大约需要1分钟,建立完成后可以用DB工具或者SQL验证下数据库是否能够正常使用。个人比较偏向使用DBVisualizer。不过这还是提供下连接的命令:

  cmd到命令行后执行:sqlplus username/password@databaseName,数据库服务正常情况下会返回连接成功的提示信息。如果失败根据提示信息查看具体原因。要求执行该命令的系统上具有开启的Oracle服务。

  (4)数据库建立好之后是建立表空间的过程(数据库、表空间、用户、Schema、表、视图、索引这些数据库术语具体含义以及相互间的关系以后介绍),链接到该数据库下执行命令:

  create tablespace tablespace_Name datafile 'F:\oracle\oradata\qa10g\tablespace_Name.dbf'(存放路径,最后的表空间文件名称最好与表空间名一致,方便之后使用) size 100M(根据需要可以调大) autoextend on(数据文件自动扩展);

 之后是创建用户,在Oracle里面如果不指定的话,在创建用户时系统会建立一个相同名称的Schema与之对应所以在Oracle里面一般情况下用户名和Schema(模式)名称是一样的。

  create user username identified by password default tablespace tablespace_Name;

  这个不用解析了,SQL基本语法,看看就行。

  下面是给这个用户授权,如果不授权,创建的用户是个死的,相当于创建了一个占位的僵尸,授权就是激活这个僵尸的最有效的步骤。

  grant privilege[权限] to username;

  SQL授权命令grant,privilege(权限)这个可以有多个,如先来一个create session,让该用户能够连接到该DB上,然后是select、update、create table/tablespace之类的,具体的就看你创建这个用户做什么用的了,如果怕权限不足引发错误的话,直接可以授予用户DBA的权限(前提是当前连接的用户有授予DBA的权限)。用完之后怕引发问题可以用revoke命令回收权限,具体用法和grant相似。

  此时建立的用户、Schema是一个空壳子,里面的结构是空的。可以根据SQL建立对应的表和其他DB组件,这个比较复杂也比较多,我们留待以后整理。

  二、恢复现场环境

  Oracle数据库实验室中需要恢复现场的数据,Oracle数据库支持数据的导出为DMP的操作,一般现场需要恢复数据都会将现场的数据导回来,测试人员接手的是一个DMP文件,这时候我们需要去沟通了解更多的信息需要了解要恢复这个DMP中的哪个Schema(一般情况下一个DMP对应一个Schema,不排除一个DMP包含多个Schema的情况),以及对应的用户的默认表空间。我们先看下Oracle的导出命令:

  exp username/password@DataBase_Name file=d:\daochu.dmp(DMP存放路径) owner=(system,sys)(填写需要导出的Schema)。

  这下看到了,owner中允许多个用户被导入到同一个DMP中。

  与exp命令对应的就是imp命令了,用于恢复DMP中数据:

  imp username(新建的用户)/password@databaseName file=dmp_path(存放dmp的全路经,如C:\1.dmp) fromuser=需要恢复的Schema名 touser=username ignore=y;

  (使用ignore=Y,在创建表的时候如果有同名的表,那么就忽略,然后直接向里边导入数据.这样就可以实现你的要求.但是速度会比较慢. ignore=N,在创建表的时候如果有同名的表,那么就不执行后边的导入数据的操作了.)   如果导入无出错信息,此Schema(username)中就具备了现场的数据了。可以正常使用。

  如果某个DMP中只有一个Schema,那么导入的时候可以不必在乎fromuser(不过这样做不规范),简洁版的导入命令:

  imp username(新建的用户)/password@databaseName file=dmp_path full=y(完全导入) ignore=y;

  OK,“导入成功终止,没有出现错误”。现场DMP恢复就算大功告成了。

  Oracle的先介绍到这,初级使用,新手上路,请多关照。

posted on 2011-11-15 14:33 顺其自然EVO 阅读(268) 评论(0)  编辑  收藏 所属分类: 测试学习专栏


只有注册用户登录后才能发表评论。


网站导航:
 
<2011年11月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜