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

发表于:2011-11-15 10:39

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:辜顺利    来源:51Testing软件测试网采编

  之后是创建用户,在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的先介绍到这,初级使用,新手上路,请多关照。

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号