zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

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

Oracle架构系统 搭建 Win32 测试环境
2023-09-11 14:20:34 时间

一、新建数据库

(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的先介绍到这,初级使用,新手上路,请多关照。


本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/


如何测试一个 AI 系统? 目前智能系统主要是对 AI 应用最为广泛的四个领域是自然语言处理、图像识别、推荐系统、机器学习这四个方面。每个智能系统都包含了一个及其以上的 AI 模型,那么支撑 AI 模型对外提供服务还需要很多传统组件,例如数据库、Web 容器、交互界面等等。所以非智能系统可能出现的缺陷,在智能系统中都有可能存在,因此我们常规的测试方法、技术、实践还都是适用的。除此之外智能系统与非智能系统相比还有一些其特殊性,所以专门针对智能系统的测试策略、方法和实践也是需要深入研究和探讨的
麒麟系统开发笔记(十一):在国产麒麟系统上使用gdb定位崩溃异常方法流程进阶定位代码行数及专项测试Demo 上一篇,通过研究,可以定位到函数,本篇进一步优化,没有行数,程序较为复杂的时候,就无法定位,所以进一步定位。   本篇做了qBreakpad的研究,但是没有成功,过程也还是填出来,后来突然注意到gdb出现行数的方法,并通过了几轮测试以及实战,确实可以定位到行数,所以为了大家方便,把国企麒麟上的Qt崩溃方法分享出来。   本篇文章比较长,就不分篇了,同时还做了专项测试。
区块链交易所搭建开发_平台_测试_系统智能合约ATOM代示例 Cosmos(ATOM)没有传统意义上的原生智能合约,因为它没有自己的图灵完备编程语言。 相反,Cosmos 使用区块链间通信 (IBC) 协议来允许不同区块链之间的通信和价值转移。 这允许开发人员构建跨越多个区块链的去中心化应用程序。
组件测试-复杂业务系统的单测解决方案 本文的目的长久以来,码农们有一种默契的共识,只有写的好的代码才能写单测,代码的可测性也因此成为了评判好代码的一个标准。但是,同学有没有想过,我们手里有多少是写的好的代码,很多情况下,我们接手的代码都是又长又臭的“面条代码”,难道我们就不能对这些应用写单测了吗?难道这些应用不是更需要单测的保障吗?在本文中,我将使用一种全新的单测解决方案,通过这个方案,再复杂的应用也能简单的实现单测覆盖,保障我们的业
如何在Windows系统上测试服务器端口是否开放 在工作中处理服务器故障问题的时候,经常需要检测一下Windows的服务器业务端口是否开放,是否能正常在外面通讯。下面小编与大家分享一下如何在windows环境下检测服务器端口是否开放。