一、新建数据库:
(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/