sql数据库

ORACLE数据库AWR工具学习

匆匆过客 提交于 2020-02-16 06:55:07
  AWR(Automatic Workload Repository)即工作负载信息库,主要用于收集数据库运行状态的资料库,通过AWR报告可以分析ORACLE数据库的性能,从而给出优化策略。    图一:此图来自网上    1、AWR的由来   10g之前的oracle:用户的连接将产生会话,当前会话记录保存在v$session中;处于等待状态的会话会被复制一份放在v$session_wait中。当该连接断开后,其原来的连接信息在v$session和v$session_wait中就会被删除;oracle10g及之后保留下了v$session_wait中的这些信息,并多了v$active_session_history(ASH)视图,记录每个活动session在v$session_wait中最近10次的等待事件。      ASH的采样数据是保存在内存中。而分配给ASH的内存空间是有限的,当所分配空间占满后,旧的记录就会被覆盖掉;而且数据库重启后,所有的这些ASH信息都会消失。这样,对于长期检测oracle的性能是不可能的。在Oracle10g中,提供了永久保留ASH信息的方法,这就是AWR。      由于全部保存ASH中的信息是非常耗费时间和空间的,AWR采用的策略是:每小时对v$active_session_history进行采样一次,并将信息保存到磁盘中,并且保留7天

自动工作负载库(Automatic Workload Repository,AWR)

蓝咒 提交于 2020-02-16 06:51:48
自动工作负载库(Automatic Workload Repository,AWR) AWR的由来: 10g之前的oracle:用户的连接将产生会话,当前会话记录保存在v$session中;处于等待状态的会话会被复制一份放在v$session_wait中。当该连接断开后,其原来的连接信息在v$session和v$session_wait中就会被删除;oracle10g及之后保留下了v$session_wait中的这些信息,并多了v$active_session_history(ASH)视图,记录每个活动session在v$session_wait中最近10次的等待事件。 ASH的采样数据是保存在内存中。而分配给ASH的内存空间是有限的,当所分配空间占满后,旧的记录就会被覆盖掉;而且数据库重启后,所有的这些ASH信息都会消失。这样,对于长期检测oracle的性能是不可能的。 在Oracle10g中,提供了永久保留ASH信息的方法,这就是AWR。 由于全部保存ASH中的信息是非常耗费时间和空间的, AWR采用的策略是:每小时对v$active_session_history进行采样一次,并将信息保存到磁盘中,并且保留7天,7天后旧的记录才会被覆盖。 这些采样信息被保存在视图wrh$_active_session_history中。而这个采样频率(1小时)和保留时间(7天

MySQL 中的事务

浪尽此生 提交于 2020-02-16 04:32:22
事务的应用场景说明 什么是事务: 在实际的开发过程中,一个业务操作如:转账,往往是要多次访问数据库才能完成的。转 账是一个用户扣钱,另一个用户加钱。如果其中有一条 SQL 语句出现异常,这条 SQL 就可能执行失败。 事务执行是一个整体,所有的 SQL 语句都必须执行成功。如果其中有 1 条 SQL 语句出现异常,则所有的 SQL 语句都要回滚,整个业务执行失败。 案例说明 转账的操作 -- 创建数据表 CREATE TABLE account ( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(10), balance DOUBLE ); -- 添加数据 INSERT INTO account (NAME, balance) VALUES ('LeeHua', 1000), ('Tom', 1000); 模拟LeeHua给Tom转 500 元钱,一个转账的业务操作最少要执行下面的 2 条语句: -- LeeHua账号-500 UPDATE account SET balance = balance - 500 WHERE name='LeeHua'; -- Tom账号+500 UPDATE account SET balance = balance + 500 WHERE name='Tom'; 假设当LeeHua账号上 -500

SQL - 数据查询

时光毁灭记忆、已成空白 提交于 2020-02-15 17:21:03
    数据查询是数据库的核心操作。SQL 提供了 select 语句进行数据查询,该语句的一般格式为:         select [ ALL | distinct ] < 目标列表达式 > [ ,< 目标列表达式 > ] …         from < 表名或视图名 > [ ,< 表名或视图名 > …] | (<select 语句 >) [ AS ] < 别名 >         [ where < 条件表达式 > ]         [ group by < 列名 1> [ having < 条件表达式 > ] ]         [ order by < 列名 2> [ ASC | DESC ] ]     整个 select 语句的含义是:       根据 where 子句的条件表达式从 from 子句指定的基本表、视图或派生表中找出满足条件的元组,再按 select 子句中的目标列表表达式选出元组中的属性值形成结果表。      如果有 group by 子句,则将结果按 <列名1> 的值进行分组 , 该属性列值相等的元组为一个组 。—— 通常会在每组中作用聚集函数 。      如果 group by 子句带 having 短语,则只有满足指定条件的组才予以输出 。     select 语句既可以完成简单的单表查询,也可以完成复杂的连接查询和嵌套查询。 3.4

android 基础一 <SQL>

南笙酒味 提交于 2020-02-15 17:20:10
android 提供了一个数据库操作的帮助类 SQLiteOpenHelper,我定义一个类继承SQLiteOpenHelper即可完成数据的创建和更新操作。 一、创建类基础 SQLiteOpenHelper 1 public class SqliteHelper extends SQLiteOpenHelper { 2 3 public SqliteHelper(Context context) { 4 // 数据库名称:sqltest.db 5 // 版本号:1 (初始化的时候设置成1,当这个版本号升级之后会触发onUpgrade函数) 6 super(context, "sqltest.db", null, 1); 7 } 8 9 //数据库第一次创建的时候调用,适合创建表结构 10 @Override 11 public void onCreate(SQLiteDatabase db) { 12 db.execSQL("sql语句"); 13 } 14 //数据库版本变更之后会执行,适合更改表的结构 15 @Override 16 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 17 18 } 19 } 二、获取SQLiteDatabase对象操作数据库

数据库SQL语句中 group by 与 having 和 where 的用法

旧时模样 提交于 2020-02-15 08:52:12
1、数据分组(GROUP BY): SQL中数据可以按列名分组,搭配聚合函数十分实用。 例如有这样一个表: 统计每个班上20岁以上的学生人数: SELECT student_class,COUNT(student_name) AS 总人数 FROM t_student WHERE student_age >20 GROUP BY (student_class); 我们再来看一个例子: name kecheng fenshu 张三 语文 81 张三 数学 75 李四 语文 76 李四 数学 90 王五 语文 81 王五 数学 100 王五 英语 90 (1)首先是where 和 group by 搭配: 用一条SQL语句 查询课程成绩大于90分的学生姓名 通常我们会这么写: select name from table where fenshu > 90 而实际上我们还可以使用group by进行分组: select name from table where fenshu>90 group by kecheng 当然这里分组好像没有什么实际作用,例子没举好,但这不是重点, 重点是,使用where和group分组时:顺序应该为 where过滤 -> group by分组 -> min(聚合函数,如果有的话) 因为这种搭配描述的是: 用where来实现满足过滤条件再聚合。 (2)再来看

数据库sql-建表语句

被刻印的时光 ゝ 提交于 2020-02-15 02:15:47
数据库建表语句 数据库建表语句如下: CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据类型, 列名称3 数据类型, … ) 来源: CSDN 作者: fly__ing 链接: https://blog.csdn.net/fly__ing/article/details/104317297

SQL backup&restore

安稳与你 提交于 2020-02-15 01:07:58
--完整备份 Backup Database NorthwindCS To disk='G:\Backup\NorthwindCS_Full_20070908.bak' --差异备份 Backup Database NorthwindCS To disk='G:\Backup\NorthwindCS_Diff_20070908.bak' With Differential --日志备份,默认截断日志 Backup Log NorthwindCS To disk='G:\Backup\NorthwindCS_Log_20070908.bak' --日志备份,不截断日志 Backup Log NorthwindCS To disk='G:\Backup\NorthwindCS_Log_20070908.bak' With No_Truncate --截断日志不保留 Backup Log NorthwindCS With No_Log --或者 Backup Log NorthwindCS With Truncate_Only --截断之后日志文件不会变小 --有必要可以进行收缩 --文件备份 Exec Sp_Helpdb NorthwindCS --查看数据文件 Backup Database NorthwindCS File='NorthwindCS' --数据文件的逻辑名 To

oracle数据库number类型的数据显示为科学计数法

你说的曾经没有我的故事 提交于 2020-02-15 00:30:54
最近有一次在操作数据库查询时发现数据库中定义为怒number类型的数据却显示为科学计数法,原因是在taod或者pl/sql工具里,将比较大的数据自动解析存储为科学计数法方式的的数据了。在toad中进行如下修改: view->option->data->display large number in scientific notion 不选中该选项即可显示正常。 在pl/sql developer中进行如下修改: tools->preferences->sql windows->number fields tochar 选中该选项即可显示正常 来源: CSDN 作者: 30醒悟的码农 链接: https://blog.csdn.net/u010448750/article/details/104320420

SQL基础入门

只愿长相守 提交于 2020-02-15 00:29:47
一、数据库概述 数据库(DataBase:DB):数据库是按照数据结构来组织、存储和管理数据的仓库。---->存储和管理数据的仓库. 其实就是一堆存储数据的文件 + 数据管理 数据库管理系统(Database Management System:DBMS):是专门用于管理数据库的计算机系统软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制的功能。 我们一般说的数据库,就是指的DBMS: 数据库服务器. 二、数据库技术发展历程: 1. 层次数据库和网状数据库技术阶段(原始社会); 使用指针来表示数据之间的联系。 2. 关系数据库技术阶段(关系其实就是表:固定的列数,不同的行数); 经典的里程碑阶段。代表 DBMS:Oracle、DB2、MySQL、SQL Server、SyBase等。 3. 非关系数据库技术阶段; 关系型数据库存在数据模型,性能,拓展伸缩性的缺点,出现了: ORDBMS:面向对象数据库技术。 NoSQL :结构化数据库技术。 常见的NoSQL数据库分为四大类: 1):键值存储数据库:Oracle BDB,Redis,BeansDB 2):列式储数数据库:HBase,Cassandra,Riak 3):文档型数据库:MongoDB,CouchDB 4):图形数据库:Neo4J,InfoGrid