
【数据库】进阶
文章平均质量分 68
木炎焱
这个作者很懒,什么都没留下…
展开
-
oracle笔记<更新>
oracle笔记数据库:存储数据的,物理存储数据文件:dbf数据库实例:用来操作和访问数据库控制文件、日志文件log表空间:数据库中包含多个表空间,一个表空间可能会有多个数据文件组成。默认用户:sys、system、scott(密码:tiger)角色:sysdba:数据库管理员,拥有所有的权限sysoper:数据库操作员1、创建表空间------create tablespace 名字datafi原创 2017-01-06 21:23:51 · 355 阅读 · 0 评论 -
Oracle存储过程调用merge实例<网上收集>
<pre style="margin-top:4.4pt;mso-line-height-alt:10.6pt;word-break:break-all;" ><span lang="EN-US" style="mso-bidi-font-family:Arial;color:#333333;" >create or replace procedure SaveServiceTim原创 2017-01-06 21:25:58 · 482 阅读 · 0 评论 -
oracle 解决主键自增问题
原文地址 http://roc08.iteye.com/blog/1172710sql server和mysql都可以设置主键自增,而oracle主键是没有自增属性的,可以通过如下两种方式实现: 1、建立序列通过触发器实现 创建序列 Java代码 CREATE SEQUENCE MESSAGEID MINVALUE 1 MAXVALUE START WITH 1 INCREM原创 2017-01-06 21:26:09 · 761 阅读 · 0 评论 -
【转载】sql 行专列经典
低效 select host,max(h0), max(h1), max(h2), max(h3), max(h4) from (select tmp.host, (case tmp.hour when '00' then if(tmp.count is null,0,1) end) h0,(case tmp.hour when '01' then tmp.count end) h1,(cas原创 2017-01-06 21:26:23 · 602 阅读 · 0 评论 -
【转载】oracle job
我们在项目开发中,常常会有一些复杂的业务逻辑。使用oracle的存储过程,可以大大减少java程序代码的编写工作量,而且存储过程执行在数据库上,这样可以利用oracle的良好性能支持,极大地提高程序执行效率和稳定性。定时执行存储过程,就要用到job。以下是常用的参数说明:字段(列) 类型 描述 JOB NUMBER原创 2017-01-06 21:26:31 · 304 阅读 · 0 评论 -
【转载】如何设置自动跟踪
Q]如何设置自动跟踪 [A]用system登录 执行$ORACLE_HOME/rdbms/admin/utlplan.sql创建计划表 执行$ORACLE_HOME/rdbms/admin/plustrce.sql创建plustrace角色 如果想计划表让每个用户都能使用,则 SQL>create public synonym plan_tabl原创 2017-01-06 21:26:34 · 581 阅读 · 0 评论 -
hibernate操作mysql无法实例到库中<mysql SQL Error: 1064, SQLState: 42000>
mysql SQL Error: 1064, SQLState: 42000原创 2017-02-07 17:06:11 · 3680 阅读 · 0 评论 -
DB2 -991 40001
程序执行更新时出现一下错误: 问题原因:数据库更新时出现死锁。、解决方法: 查询死锁的地方:db2 "get snapshot for locks on 数据库名 杀死进程:db2 "force application(XXX) 其中XXX为上面查询出的进程ID原创 2017-01-06 21:27:19 · 3920 阅读 · 0 评论 -
mysql group_concat列转行
分隔符可以自定义,默认是以“,”作为分隔符,若要改为“|||”,则使用SEPARATOR来指定,例如:mysql> SELECT student_id, GROUP_CONCAT(courses_id SEPARATOR '|||') AS courses FROM student_courses WHERE student_id=2 GROUP BY student_id; 除此之外,还可以对这原创 2017-01-06 21:26:48 · 1051 阅读 · 0 评论 -
MySql简单优化(Innodb)
mysql命令列界面1、定位执行效率较低的Sql语句:使用 show processlist 命令查看当前MySql在进行的线程,包含线程的状态,是否锁表等,可以实时查看Sql执行情况,并对锁表进行优化。2、分析执行低效Sql语句:通过explain [select *from tablename] 命令获取Mysql执行Select 语句的执行信息,包括select 语句执行过程表如何连接和连接原创 2017-01-06 21:26:46 · 402 阅读 · 0 评论 -
MySQL中实现rownum伪劣排序
MySQL 如何实现 Oracle 的 ROWNUM2010/01/28 23:56mysql> SELECT * FROM frutas; +-----------+----------+ | nombre | color | +-----------+----------+ | fresa | rojo | | platano | amarillo | | ma原创 2017-01-06 21:26:43 · 2370 阅读 · 0 评论 -
【转载】Oracle中复制表结构和表数据
1. 复制表结构及其数据:create table table_name_new as select * from table_name_old2. 只复制表结构:create table table_name_new as select * from table_name_old where 1=2;或者:create table table_name_new like table_name_o原创 2017-01-06 21:26:37 · 390 阅读 · 0 评论 -
mysql数据库双机同步开源软件otter《转载》
转载地址:http://blog.chinaunix.net/uid-15472411-id-3886795.html 先说下项目情况,数据库是只用于管理后台供管理员配置使用,不影响任何业务的主流程,单机房可以满足需求。 可是客户非要求用双机房双写,本着简单解决问题的想法,我们就打算采用单点写双读。可是结果。。。。郁闷的是,人家都懒得跟我们说一声原因,怎么问都往数据不一致问题上绕,,单写!额。。。原创 2017-01-06 21:25:41 · 862 阅读 · 0 评论 -
Oracle Stream实现数据库同步
实现的SQL脚本如下:存在的问题:传播进程未能实现,出现错误,“不能找到远程数据库连接的描述信息”/* ----------------------------------------------------------------------------------------------------------------------------------------------------原创 2017-01-06 21:25:19 · 1437 阅读 · 0 评论 -
数据库的原理【经典】
一提到关系型数据库,我禁不住想:有些东西被忽视了。关系型数据库无处不在,而且种类繁多,从小巧实用的 SQLite 到强大的 Teradata 。但很少有文章讲解数据库是如何工作的。你可以自己谷歌/百度一下『关系型数据库原理』,看看结果多么的稀少【译者注:百度为您找到相关结果约1,850,000个…】 ,而且找到的那些文章都很短。现在如果你查找最近时髦的技术(大数据、NoSQL或JavaScript),你能找到更多深入探讨它们如何工作的文章。转载 2016-07-31 00:44:47 · 476 阅读 · 0 评论 -
CentOS7简易安装Mysql7
准备CentOS7默认安装了和MySQL有兼容性的MariaDB数据库,在我们安装MySQL5.7之前为了避免发生冲突首先删除MariaDB。# rpm -qa | grep mariamariadb-libs-5.5.50-1.el7_2.x86_64# yum remove mariadb-libs -y添加MySQL的yum源在CentOS7上yum安装MySQL需使用MySQL的y...转载 2018-04-26 14:21:28 · 391 阅读 · 0 评论 -
oracle job 定时执行 存储过程
一:简单测试job的创建过程案例: 1,先创建一张JOB_TEST表,字段为a 日期格式SQL> create table JOB_TEST(a date);Table createdSQL> commit;Commit complete2,创建一个存储过程 bb 作用是往pig表中插入数据SQL> create or replace procedure JOB_PRO_TEST as 2 b原创 2017-01-06 21:25:50 · 297 阅读 · 0 评论 -
使用merge 加 dblink 实现内网中的两个数据同步
这个项目中开发库与测试数据库分离,其中某些系统表数据与基础资料数据经常需要进行同步,为方便完成指定数据表的同步操作,可以采用dblink与merge结合的方法完成,简单方便。操作环境: 此Oracle数据库服务器ip为192.168.196.76,有center与branch两个库,一般需要将center的表数据同步到branch,center为源库,branch为目标库,具体步骤如下:1.在源库原创 2017-01-06 21:25:47 · 786 阅读 · 1 评论 -
数据库的三大范式
数据库的三大范式为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。 在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库原创 2017-01-06 21:24:05 · 372 阅读 · 0 评论 -
oracle基础2
============高级查询--------------------------------子查询---------select * from 子表名 where 外键=(select 外键 from 表名 where 字段 like '%值%')----rownum 伪列---是oracle数据库从数据文件或缓冲区中读取数据的顺序。它是从1开始的,物理上并不真正存在,动态生成的。select原创 2017-01-06 21:24:07 · 271 阅读 · 0 评论 -
oracle游标
------------静态游标:显式游标、隐式游标1、显式游标一般用于循环获取结果集,一般使用for循环的简化语法2、隐式游标经常用来判断DML的执行是否成功3、动态游标往往集合存储过程来使用,如查询需要动态改变。显示游标的使用:需要声明(定义)1.声明游标2.打开游标3.提取游标4.关闭游标使用for循环操作游标,是不需要打开和关闭操作。1、声明游标的语法cursor is select2、原创 2017-01-06 21:24:10 · 282 阅读 · 0 评论 -
pl/sql编程基础
pl\sql编程基础pl\sql的特点:1、模块化程序开发2、采用过程性语言精致程序的结构3、pl\sql可以对程序中的错误进行异常处理4、pl\sql程序减少了网络的交互,提高程序性能5、pl\sql程序块具有更好的可移植性pl\sql程序块结构beclare --变量、常量、游标、用户定义异常的声明 ---可选 ....begin --SQL语句和PL\SQL语句构成的执行程序 .原创 2017-01-06 21:24:13 · 379 阅读 · 0 评论 -
oracle数据导入导出
一、 数据泵方式导入导出:dmp1、 查看管理员目录:查询的权限是dbaSelect * from dba_directories;2、 创建导出目录create or replace directory dir as 'd:\test'; select * fromdba_directories原创 2017-01-06 21:24:16 · 307 阅读 · 0 评论 -
oracle数据库链
oracle数据库链creare database link 数据库链名connect to 用户名 identified by 密码using' (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 要连接的地址(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (原创 2017-01-06 21:24:18 · 534 阅读 · 0 评论 -
oracle存储过程
存储过程是执行特定任务的子程序。存储过程:为了出行指定的任务,实现特定的功能,将sql或者plsql代码集中到一块的集合存储过程的优点:模块化、可重用性、可维护性、安全性。declare begin exception end关键字:procedure参数分为三种:in:输入参数 、 out:输出参数 、in out:输入输出参数 d存储过程的授权:1、grant execute on 存储过程原创 2017-01-06 21:24:21 · 366 阅读 · 0 评论 -
JDBC基础
JDBC:java数据库连接技术Connection 连接Statement 执行sqlpreparedStatement 预编译的Statement 执行sqlResultset 结果集----------executeUpdate(sql):用于执行对数据库的插入、删除、修改操作executeQuery(sql);用于执行对数据库的查询Resultset 中的getInt("需要获取的字段")原创 2017-01-06 21:24:24 · 365 阅读 · 0 评论 -
oracle数据泵技术
一、EXPDP和IMPDP使用说明Oracle Database 10g引入了最新的数据泵(Data Dump)技术,数据泵导出导入(EXPDP和IMPDP)的作用1)实现逻辑备份和逻辑恢复.2)在数据库用户之间移动对象.3)在数据库之间移动对象4)实现表空间搬移. 二、数据泵导出导入与传统导出导入的区别在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,原创 2017-01-06 21:24:27 · 508 阅读 · 0 评论 -
【转载】Oracle 大字段处理
数据库中提供了两种字段类型 Blob 和 Clob 用于存储大型字符串或二进制数据。Blob 采用单字节存储,适合保存二进制数据,如图片文件。Clob 采用多字节存储,适合保存大型文本数据。Oracle中处理BLOB/CLOB字段的方式比较特别,所以需要特别注意下面两点:1. 在Oracle JDBC中采用流机制对 BLOB/CLOB 进行读写操作,所以要注意不能在批处理中读写 BLOB/CLOB原创 2017-01-06 21:24:29 · 792 阅读 · 0 评论 -
Oralce三层嵌套分页详解
原始记录:select t.*, t.rowid from t_stu torder by t.s_birthday desc返回:STU_ID S_NAME C_ID S_BIRTHDAYS0002 李四 C01 1989-3-21S0036 张36 C02 1983-8-10S0035 张35 C02 1983-8-9S0034 张34 C02 1983-8-8S0033 张3原创 2017-01-06 21:24:57 · 710 阅读 · 0 评论 -
Oracle Stream--Oracle两数据库同步 《转载》
Oracle官方网: http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10727/strmover.htm Oracle Stream功能是为提高数据库的高可用性而设计的,在Oracle 9i及之前的版本这个功能被称为Advance Replication。Oracle Stream利用高级队列技术,通过解析归原创 2017-01-06 21:25:22 · 494 阅读 · 0 评论 -
expdp impdp oracle 空表不能导出
测试数据库需要通过生产的数据库的数据导过来。但是用一般的导出命令:imp portal/portal file=/home/oracle/3-21.dmp full=y;用上面的命令总是只能导出部分不为空的表,假如表为空的话,导不出来了,我查了一下,这是ORacle11G的一个bug,需要修改一点配置,才行。 但是修改配置涉及到了生产数据库的修改,这在客户这边是不允许了。后来想了个其他的办法,原创 2017-01-06 21:25:33 · 1739 阅读 · 0 评论 -
PL/SQL中文乱码修正
今天在使用pl/sql从服务器上导出sql文件,然后在放到本机上执行,导出时出现中文乱码。 解决方法: 1、查看数据库字符集 select userenv('language') from dual; 查看两个字符集是否一直 2、不一致的话,将两者统一就可以了。 方法: 在环境变量中,添加以下字段: [plain] NLS_LANG SIMPLIFIED CHINES原创 2017-01-06 21:25:36 · 316 阅读 · 0 评论 -
【转载】查询oracle表字段名称
select column_name,data_type,data_lengthfrom all_tab_columns where table_name='T_CAKEY' select * from user_tables --查询当前用户所拥有的表select * from dba_tables --拥有DBA权限用户能查询所有的表select * from all_tables -原创 2017-01-06 21:25:44 · 454 阅读 · 0 评论 -
MySql7默认密码无法修改问题
为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。一般可通过log_error设置mysql> select @@log_error;+---------------------+| @@log_error |+-------------...转载 2018-04-26 14:39:34 · 969 阅读 · 0 评论