我会努力工作,提高测试技能。

发布新日志

  • 数据库安装包的校验方法

    2014-07-08 22:40:50

    以我们公司的实际项目为参考,以下是本人总结的数据库安装包的校验方法。

    第一步:执行数据库安装包的setup.exe,检查安装过程是否存在报错。报错的问题例如“XX表已存在”或“XX对象已存在”或者语法错误之类的问题。该步骤验证通过才能执行第二步。

    第二步:检查数据库安装包中的基础数据。

    方法1、前提对数据库安装包不熟悉。打开程序,连接第一步创建的数据库,检查本次修改的模块,菜单等基础数据是否完整正确。

    方法2、前提对数据库安装包熟悉。打开数据库安装包中需要修改的表的插入语句,查看基础数据是否已新增,修改,或删除。

    第三步:检查数据库安装包中修改的表。

    方法1、前提对数据库安装包熟悉,打开创建的数据库,查看本次修改的表及表的字段是否已修改,字段类型、长度是否正确。

    方法2、前提对数据库安装包熟悉,打开数据库安装包目录,查看本次修改的表所在的目录,打开创建语句,查看表及表的字段是否已修改,字段类型、长度是否正确。

    方法3、借助数据库对比工具。例如公司EMR组研发的对比工具。通过对比原先数据库与本次安装的数据库,将不一致的地方进行记录,通过对比,发现当前数据库安装包的问题。

    第四步:检查数据库安装包中隐藏的可能需要修改的基础数据。

    例如本次修改增加了新的菜单,新的模块,涉及到表MH_JSCDMH_XTMK的基础数据修改,但是还可能隐藏一个表MH_INDENTI中基础数据的修改。一般的测试人员检查基础数据可以检查到前2张表,最后1张表很容易忽视基础数据的检查,该问题一般在程序中验证新增一个菜单,新增一个模块时才发现问题。

    数据库安装包经过以上四个步骤的检查,均验证通过时,数据库安装包的校验才算结束。

        大多数时候我们在校验数据库安装包时,会徘徊在第一步,第二步之间。当第一步,第二步通过时,我们通常认为数据库安装包验证通过。实际第三步,第四步的问题,在执行实际的业务时才发现问题,对于第四步,只有经常检验数据库安装包的测试人员才能在第一次检查时做到检验。当然,能将上述四个步骤一次检查完全通过的测试人员,必须非常熟悉当前的项目,对项目中需要修改的基础数据,表,表字段很清楚。

  • oracle数据库还原方法

    2014-05-12 17:52:44

      今天花了一天的时间研究oracle数据库的还原工作。由于是研发中心的同事将数据库发给我,我解压后生成4个.dmp文件和4个.log文件。
        这个数据库对应4个用户,用户名和密码已经知悉。但是是否在1个表空间下创建4个用户还是4个表空间下创建4个用户,不清楚,问了在现场的同事,搞了半天,导入时发现他说的表空间名称根本不对。

        通过这件事情,oracle数据库还原的前提条件时:
       1、知悉导出的数据库表空间名称
       2、知悉导出的数据库用户名和密码
       
    今天特地学习了命令行创建表空间和用户的方法,特摘出如下:
    1.建立数据库:
         1).创建表空间并使其可自动扩展
              create tablespace 表空间名 datafile 'E:\data\oracle\表空间名.dbf' size 100m autoextend on next 10m maxsize unlimited;
             
         2).要删除表空间可执行下列语句<可选操作>
              drop tablespace  表空间名  including contents and datafiles;
         3).创建用户并赋权限
              CREATE USER 用户名 IDENTIFIED BY 用户密码 DEFAULT TABLESPACE 表空间名 TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK;
              GRANT "CONNECT" TO 表空间名 WITH ADMIN OPTION;
              GRANT "RESOURCE" TO 表空间名  WITH ADMIN OPTION;
              GRANT "DBA" TO  用户名 WITH ADMIN OPTION;
     
  • oracle 10g数据库的备份和恢复

    2011-07-22 16:22:56

    一、导入/导出命令

    exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。

    例如 数据库名 portal42_test_st 用户名portal42_test_st1 密码portal42_test_st2

    命令:打开运行,输入cmd,输入cd.. ,输入cd..,输入盘符如d:,回车。

    备份:

    exp  portal42_test_st1/portal42_test_st2@portal42_test_st   tables=(tablename) file='d:\portal42_test_st.dmp'   owner=(portal42_test_st1)

    备注:1.tables字段不加的话,代表导出数据库中全部的表格。

         2.owner字段不加的话,代表导出数据库中全部用户的表格。

    恢复:

    imp  portal42_test_st1/portal42_test_st2@portal42_test_st  full=y file='d:\portal42_test_st.dmp'  ignore=y

    备注:导入的数据库如果已经存在一些表,加字段ignore=y。

    二、pl/sql developer工具
        点击 tools->export user objects 就可以导出当前用户的所有对象,导出的格式是.sql的。要导入可以点击tools->import tables->sql inserts,就可以导入。
  • 解决oracle数据库连接不上的问题

    2011-07-13 22:31:41

    今天打开部署好的java开发的网站系统,反应好慢,第一反应就是后台有问题。
    查看tomcat一堆的报错信息,重启还是存在。
    使用plSql连接数据库看看,登录提示如下:ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务。
    查了许久的baidu也没有解决问题的方法。想起来看看oracle的服务是否开启,OracleDBConsoleorcl一直开启状态,重启,plSql连接数据库还是存在问题。
    服务开启着在控制台图形界面看看,打开url,提示找不到网页,HTTP 404错误。
    看来oracle的服务一直没有开启,查询如何开启oracle。找到方法了。
    安装oracle服务器的机上运行打开,输入cmd。
    输入sqlplus /nolog
    回车;
    输入connect / as sysdba
    回车,提示已连接到空闲例程。
    输入startup
    回车,提示oracle例程已经启动。
    这样上面的整个过程的问题就解决了。
     
     
  • 生成DB2脚本的问题

    2011-03-10 08:43:50

    将PDM生成DB2数据库脚本,然后导入到DB2数据库中。碰到以下问题:

    1、 查看导入时是否有报错?

    答:使用维护过的用户标示导入,添加目标数据库,将PDM生成的数据库脚本复制到DB2命令编辑器中执行,查看下面的提示信息是否有创建不成功的表格和视图。

     

    2、 SQL 处理期间,它返回:SQL0286N  找不到页大小至少为 "16384"、许可使用授权标识 "BSCHIS" 的缺省表空间。 SQLSTATE=42727

    答:确保页大小至少应为  "<页大小>",并且授权标识 "<用户名>" 对其具有 USE 特权的表空间。

     

    3、在SQL 处理期间,它返回:SQL0604N  列的长度、精度或小数位属性、单值类型、结构化类型、数组类型、结构化类型的属性、例程、强制类型转换目标类型、类型映射或全局变量 "NUMERIC(38)" 无效。 SQLSTATE=42611

    答:NUMERIC(38)字段在DB2中不识别,需要开发更改数据库。

     

    4、 SQL 处理期间,它返回:SQL0204N  "SYS.XMLTYPE" 是一个未定义的名称。  SQLSTATE=42704

    答:sys.xmltype 字段在DB2中不识别,需要开发更改oracle10g数据库。

     

  • 如何删除oracle数据库中某张表的某条约束?

    2011-02-17 15:31:26

    1.找到约束所在的表名

    select * from user_constraints where constraint_name ='约束名称'

    2.删除此表中的约束

    alter table 表名 drop constraint 约束名称

  • 一次性删除oracle数据库含有约束的数据

    2011-01-18 16:57:22

    针对所有表的数据的删除可以这样解决:
    1、先禁用数据库中所有的约束
    select 'alter table ' || table_name || ' disable constraint ' ||
           constraint_name || ';'
    from user_constraints
    where constraint_type = 'R';
    执行所有约束禁用命令。

    2、删除所有表中的数据
    select 'truncate table '||table_name||';' from user_tables;
    执行所有的删除命令。

    3、启用数据库中所有表的约束
    select 'alter table ' || table_name || ' enable constraint ' ||
           constraint_name || ';'
    from user_constraints
    where constraint_type = 'R';
    执行所有约束启用命令。

  • SQL Server常识

    2010-01-02 13:25:05

    SSMS(SQL Server Management Studio):用来建立数据库解决方案的GUI(图形用户界面)

    SQL Server在任务管理器中的进程为sqlservr.exe

  • 数据库系统类型

    2010-01-02 13:24:10

    联机事务处理系统(OLTP):系统提供数据的即时更新。

    联机分析处理系统(OLAP):数据保持相对静止、没有频繁发生的更新。大多数OLAP系统中不存在规范化。

  • SQL Server的验证模式

    2010-01-02 13:21:12

    Windows身份验证模式

    混合模式

  • 服务和程序的解释

    2010-01-02 13:16:12

    服务:是一种可随 Windows 操作系统启动而启动的,在后台运行的,通常不和用户产生交互的程序。它无法通过双击来运行,类似于 Unix 守护进程(daemon processes),当用户注销时它也不会停止。

    程序:程序通常有一个用户界面,ConsoleGUI,通常由用户来启动或停止。

    SQL Server是作为一种Windows服务来运行的。源自服务的任何输出都必须输出到事件日志中(Event log),事件日志是用来存储服务所发出的通知的Windows区域。

Open Toolbar