随笔分类 -  数据库

摘要:在看Mysql相关内容的时候经常听到两阶段提交,那以前都是云里雾里的,通过学习丁奇老师的这篇文章彻底明白了其流程和含义。 提到两阶段提交,必须先说一下两个日志:redo log和binlog 重要的日志模块:redo log 数据在磁盘中是按照主键顺序存储的,在对数据进行更新操作(insert、up 阅读全文
posted @ 2019-10-17 19:46 爱我所艾 阅读(279) 评论(0) 推荐(0)
摘要:禁止使用索引:ignore index---------------------强制使用索引:forceindexmysql> explain select * from userinfo where username='test1'\G*************************** 1. row *************************** id: 1 select_type: SIMPLE table: userinfo type: refpossible_keys: username key: use... 阅读全文
posted @ 2013-09-05 09:13 爱我所艾 阅读(1543) 评论(0) 推荐(0)
摘要:纯属自己理解,如有误导概不负责O(∩_∩)O加索引:mysql> flush status;Query OK, 0 rows affected (0.00 sec)mysql> flush tables;Query OK, 0 rows affected (0.02 sec)mysql> explain select * from userinfo where username='test1'\G*************************** 1. row *************************** id: 1 select_type: S 阅读全文
posted @ 2013-09-04 18:31 爱我所艾 阅读(4024) 评论(0) 推荐(0)
摘要:在网上看到:定义:最左前缀原则指的的是在sql where 子句中一些条件或表达式中出现的列的顺序要保持和多索引的一致或以多列索引顺序出现,只要 出现非顺序出现、断层都无法利用到多列索引。该博文有误 ,暂未修改 2013年11月22日打算实践一下,但是实践结果却正好相反,最后找出原因。第一次实践过程如下: /*Navicat MySQL Data TransferSource Server : localhostSource Server Version : 50515Source Host : localhost:3306Source Database ... 阅读全文
posted @ 2013-08-23 11:01 爱我所艾 阅读(388) 评论(0) 推荐(0)
摘要:今天遇到一个问题:emr(拥有dba权限)导出来的dmp,想要导入到test(普通权限)中,提示:只有 DBA 才能导入由其他 DBA 导出的文件,而test又不能赋予dba权限,那解决办法就是在找一个具有dba权限的用户wangchy,然后导入,具体命令为:C:\Documents and Settings\Administrator>imp wangchy/wangchy@24 file=c:\1.dmp fromuser=emr touser=test ignore=y 阅读全文
posted @ 2013-05-29 09:35 爱我所艾 阅读(8241) 评论(0) 推荐(0)
摘要:持续更新中,争取少用Toad执行这些操作,多用命令行创建表空间(初始大小1024M,自增100M)CREATE TABLESPACE NNC_DATA01 DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\GORCLTABLESPACE\NNC_DATA04.DBF' SIZE 1024M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITEDLOGGINGONLINEPERMANENTEXTENT MANAGEMENT LOCAL UNIFORM SIZE 256KBLOCKSIZE 8KSEGMENT SPAC 阅读全文
posted @ 2013-01-24 11:22 爱我所艾 阅读(394) 评论(0) 推荐(0)
摘要:一、SGA(system global area )SGA可以认为是instance中的全局共享区,Instance是由SGA和processes(进程)组成。官方文档中的解释: A system global area (SGA)(系统全局区) is a group of shared memory structures that containdata and control information for one Oracle database instance(实例). If multiple users areconcurrently connected to the same in 阅读全文
posted @ 2012-11-22 15:19 爱我所艾 阅读(8293) 评论(0) 推荐(0)
摘要:最近测试的产品设计到了单条sql的消耗,网上找了下Copy下来记录。(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.(2)WHERE子句中的连接顺序.:ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在 阅读全文
posted @ 2012-10-08 14:25 爱我所艾 阅读(174) 评论(0) 推荐(0)
摘要:查看表空间:SQL> desc dba_data_files Name Null? Type ----------------------------------------- -------- ---------------------------- FILE_NAME VARCHAR2(257) FILE_ID NUMBER TABLESPACE... 阅读全文
posted @ 2012-09-06 10:09 爱我所艾 阅读(2359) 评论(0) 推荐(0)
摘要:清除数据库的时候经常遇到ORA-00054: 资源正忙这样的错误,转载个文章记录下。ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效=========================================================解决方法如下:=========================================================SQL> select session_id from v$locked_object;SESSION_ID----------142SQL> SELECT sid, seri 阅读全文
posted @ 2012-07-17 10:18 爱我所艾 阅读(465) 评论(0) 推荐(0)
摘要:从Oracle9iR2 开始,ORACLE提供了表/表空间压缩技术,以减少磁盘开销,节省空间,并在某些情况下提高查询性能。 表压缩是如何工作的在Orcle9i第2版中,表压缩特性通过删除在数据库表中发现的重复数据值来节省空间。压缩是在数据库的数据块级别上进行的。当确定一个表要被压缩后,数据库便在每一个数据库数据块中保留空间,以便储存在该数据块中的多个位置上出现的数据的单一拷贝。这一被保留的空间被称作符号表(symbol table)。被标识为要进行压缩的数据只存储在该符号表中,而不是在数据库行本身内。当在一个数据库行中出现被标识为要压缩的数据时,该行在该符号表中存储一个指向相关数据的指针,而. 阅读全文
posted @ 2012-06-28 16:23 爱我所艾 阅读(14122) 评论(0) 推荐(0)
摘要:Report A: Snap Id Snap Time Sessions Curs/Sess --------- ------------------- -------- ---------Begin Snap: 4610 24-Jul-08 22:00:54 68 19.1End Snap: 4612 24-Jul-08 23:00:25 17 1.7 Elapsed: 59.51 (mins) DB Time: 466.37 (mins)Report B: Snap Id Snap Time Sessions Curs/Sess --------- ------------------- 阅读全文
posted @ 2012-06-21 16:56 爱我所艾 阅读(923) 评论(0) 推荐(0)
摘要:原文地址:http://blog.csdn.net/ppp_10001/article/details/4688590控制文件(CONTROLFILE) 每个数据库都必须有一个控制文件。在装载数据库时,ORACLE会根据初始化参数文件中的control_file参数来定位控制文件;在启动例程时,ORACLE会根据控制文件中的数据库名称和位置,在例程和数据库只见建立关联;打开数据库时,ORACLE会根据控制文件中的数据文件名称和位置、重做日志文件名称和位置,打开这些文件。一、控制文件概述 控制文件是一个相当小的二进制文件。它含有数据库的结构信息(构成数据库的数据文件、重做日志文件)。在创建数据库 阅读全文
posted @ 2012-06-18 16:15 爱我所艾 阅读(244) 评论(0) 推荐(0)
摘要:原文地址:http://blog.csdn.net/ppp_10001/article/details/4688596重做日志文件(REDO LOGFILE)又被称为事务日志文件(TRANSACTION LOGFILE)。它对ORACLE数据库来说是至关重要的。ORACLE中每执行一条更新操作时,都会引起数据库的变化,因此都会生成一定数量的重做日志,他们将被记录到重做日志文件中。以便在数据库出现例程失败或介质故障时,可以利用重做日志文件来恢复数据库。一、重做日志文件概述 重做日志文件是ORACLE三类文件中最为复杂的一类。在ORACLE 10G安装完毕后,会自动创建3个重做日志文件。重做日志文 阅读全文
posted @ 2012-06-18 16:14 爱我所艾 阅读(241) 评论(0) 推荐(0)
摘要:原文地址:http://blog.csdn.net/ppp_10001/article/details/4688848数据文件(DATAFILE)是用于存储数据库中的数据的操作系统中的文件。系统数据、数据字典数据、临时数据、撤销数据、索引数据、应用程序表中存储的数据等都是物理的存储在数据文件中。表空间中不能没有数据文件,创建表空间必然创建数据文件,而一个数据文件却可以单独创建并隶属于一个表空间,尤其是可以不依赖于表空间而单独对数据文件进行管理。一、数据文件概述 数据文件是ORACLE三类文件中占用磁盘空间最大的一类文件。每个ORACLE数据库都有一个或多个数据文件。 ORACLE在存取数据时, 阅读全文
posted @ 2012-06-18 16:13 爱我所艾 阅读(331) 评论(0) 推荐(0)
摘要:原文地址:http://blog.csdn.net/ppp_10001/article/details/4688603表空间(TABLESPACE)是ORACLE数据库中最大的逻辑结构。ORACLE数据库是由一个或多个表空间组成的。它在物理上与磁盘上的数据文件相对应(一个表空间由一个或多个数据文件组成,但一个数据文件只能属于一个表空间)。从物理上说数据库的数据被存放在数据文件中,而从逻辑上说是被存放在表空间中的。 数据库的逻辑配置实际上就是指表空间的配置。一、表空间概述 表空间是ORACLE数据库中最大的逻辑结构。数据库的所有对象和方案都被逻辑的保存在表空间中。(一)表空间的特性与作用 数据库 阅读全文
posted @ 2012-06-18 16:11 爱我所艾 阅读(259) 评论(0) 推荐(0)
摘要:分区表: 当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。 oracle中提供了以下几种表分区: 一、范围分区:这种类型的分区是使用列的一组值,通常将该列成为分区键。 示例1:假设有一个CUSTOMER表,表中有数据200000行,我们将此表通过CUSTOMER_ID进行分区,每个分区存储100000行,我们将每个分区保存到单独的表空间中,这样数据文件就可以跨越多个物理磁盘。下面是创建表和分区的代码,如下: 阅读全文
posted @ 2012-06-18 16:09 爱我所艾 阅读(201) 评论(0) 推荐(0)
摘要:原文地址:http://blog.csdn.net/robinson_0612/article/details/5731158--==================================--Oracle 回滚(ROLLBACK)和撤销(UNDO)--==================================一、回滚(ROLLBACK)和撤销(UNDO) 回滚和前滚是保证Oracle数据库中的数据处于一致性状态的重要手段。 在9i版本以前 Oracle使用数据库中的回滚段来实现未提交数据或因系统故障导致实例崩溃时进行回滚操作 每一个表空间需要创建回滚段,各个表空间对回滚段实 阅读全文
posted @ 2012-06-18 16:06 爱我所艾 阅读(671) 评论(0) 推荐(0)
摘要:平时经常遇到,但也经常忘记怎么解决。问题1:bash: sqlplus: command not found解决1:[oracle@dg1 ~]$ sqlplus /nologbash: sqlplus: command not found[oracle@dg1 ~]$ ln -s $ORACLE_HOME/bin/sqlplus /usr/binln: creating symbolic link `/usr/bin/sqlplus' to `/bin/sqlplus': Permission deni ed[oracle@dg1 ~]$ su - rootPassword: 阅读全文
posted @ 2012-05-09 14:55 爱我所艾 阅读(313) 评论(0) 推荐(0)
摘要:em: emctl status dbconsole #状态 emctl start dbconsole #启动 http://172.30.0.23:1158/em查看ora进程: ps -ef|grep ora*was数据源: jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.71.24)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))netca:建立监听dbca:建立数据库 字符集选择:z... 阅读全文
posted @ 2012-05-09 14:53 爱我所艾 阅读(181) 评论(0) 推荐(0)