开发应用
搞怪的索引
对数据库特别是oracle有特殊的偏爱
展开
-
create table new_table as select ...from old_table ... 创建表后,依附于表的约束、键值、索引都不存在
emp 表列名类型可为空默认值EMPNONUMBER(4)ENAMEVARCHAR2(10)Y'YJG'JOBVARCHAR2(9)YMGRNUMBER(4)Y原创 2013-04-25 10:39:43 · 3160 阅读 · 0 评论 -
Oracle Scheduler Concepts(Programs Schedules Jobs Events Chains)
关于调度内容,官方文档:Scheduler ConceptsOracle Database provides advanced job scheduling capabilities through Oracle Scheduler (the Scheduler). This chapter introduces you to Scheduler concepts and incl转载 2013-06-23 21:25:35 · 1973 阅读 · 0 评论 -
数据库资源管理器(Oracle Database Resource Manager)
转载自:http://blog.chinaunix.net/uid-26190993-id-3586933.html Resource Manager 提供了一种优化数据库资源分配的有效办法,相对于在OS层面进行资源分配,Resource Manager 拥有更精细的控制粒度,以及更小的资源消耗,并且解决了一些OS层面无法解决的资源分配问题。一,基本概念. Sim转载 2013-07-18 13:18:34 · 1975 阅读 · 0 评论 -
oracle Wallet的使用
摘自:http://www.2cto.com/database/201107/97945.htmloracle Wallet的使用(即内部加密技术TDE(Transparent Data Encryption ))1. TDE是Oracle10gR2中推出的一个新功能,使用时要保证Oracle版本是在10gR2或者以上--查看oracle版本:select * fr转载 2013-07-21 12:20:19 · 1939 阅读 · 0 评论 -
sqlplus 链接数据库
实验目的:在虚拟机中用sqlplus工具访问真实机的数据库;实验环境:真实机(windows系统,数据库服务名 orcl):SQL> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g Enter原创 2013-07-28 14:32:54 · 1161 阅读 · 0 评论 -
点评Oracle 11g新特性之执行计划管理
摘自:http://doc.chinaunix.net/oracle/200707/156806.shtml 【内容导航】第1页:执行计划管理的工作原理第2页:执行计划管理的测试 摘要:本文描述了11g的新特性之一:执行计划管理,介绍了引入该新特性的原因,以及该新特性的相关特点、工作原理等。最后通过引入一个测试案例来介绍如何使用该新特性。1. 执行计划管理的工转载 2013-07-25 14:13:05 · 1024 阅读 · 0 评论 -
Oracle natural join(自然连接)
摘自: http://www.blogjava.net/stevenjohn/archive/2012/12/04/392444.html虽然natural join(自然连接)实际上的用的比较少,但实际上这个连接是非常有用的,若能经常使用一下,实际上是非常方便的。自然连接是在两张表中寻找那些数据类型和列名都相同的字段,然后自动地将他们连接起来,并返回所有符合条件按的结转载 2013-08-22 08:12:02 · 1600 阅读 · 0 评论 -
PL/SQL 异常错误处理机制
摘自:http://www.cnblogs.com/huyong/archive/2011/05/06/2038743.html本篇主要内容如下:5.1 异常处理概念5.1.1 预定义的异常处理5.1.2 非预定义的异常处理5.1.3 用户自定义的异常处理5.1.4 用户定义的异常处理5.2 异常错误传播5.2.1 在执行部转载 2013-08-12 12:52:24 · 890 阅读 · 0 评论 -
buffer cache
今天看到一ocp关于buffer cache 的题目,在这里记录一下Which is the correct description of a pinned buffer in the database buffer cache?A.The buffer is currently being accessed.B.The buffer is empty and has not been原创 2013-08-23 14:40:28 · 1264 阅读 · 0 评论 -
data pump(数据泵)
先给出oracle给出的一个定义:“Oracle Data Pump technology enables very high-speed movement of data and metadata from one database to another.“ 听起来很牛的玩意,理论暂不去考虑,先来几个操作过过瘾;(Blog: http://blog.csdn.net/pe原创 2013-08-13 19:14:40 · 1344 阅读 · 0 评论 -
HIERARCHICAL QUERIES AND SYS_CONNECT_BY_PATH
Hierarchical QueriesIf a table contains hierarchical data, then you can select rows in a hierarchical order using the hierarchical query clause:hierarchical_query_clause::=Description of t原创 2013-06-09 14:02:11 · 1416 阅读 · 0 评论 -
ORCLE lightweight jobs
摘自:http://space.itpub.net/26474945/viewspace-745050OCP题库Q11. Which three statements are true regarding persistent lightweight jobs? (Choose three.)A. Persistent lightweight jobs modify s转载 2013-06-08 15:53:51 · 3075 阅读 · 0 评论 -
oracle 重定义表
摘自:http://blog.csdn.net/edcvf3/article/details/8721655ORACLE数据库支持在线(不关库)修改表的各种物理属性和逻辑属性,包括责增加/更改/删除分区、更改表空间、增加列、删除列、将表改为IOT表等等。个人觉得将未分区的表重定义为分区表是用的最多的,因为一些DB前期设计未考虑周全,很多大表到后期都需要分区。(对大表做在转载 2013-06-08 14:41:51 · 1728 阅读 · 0 评论 -
数据库调度
除了第三方工具提供的作业调度外,ORACLE 本身提供也提供了复杂的调度功能,在10g中使用dbms_scheduler来实现:参考自:http://baike.baidu.com/view/6374492.htm首先简单讲一下oracle 10g scheduler,10g引入dbms_scheduler来替代先前的dbms_job,在功能方面,它比dbms_job提供了转载 2013-05-26 16:42:51 · 3527 阅读 · 0 评论 -
Windows 下 SQLPLUS中操作出现乱码解决方案
今天本机做数据库恢复的时候SQLPLUS出现乱码,一串??????,这个时候已经知道数据库用的字符集是ZHS16GBK,但是NLS_LANGUAGE 用的是AMERICAN,所以需要在注册表里修改一下:regedithkey_local_machine-->software-->oracle-->key_OraDb10g_home1参数nls_lang 的值是SIMPLIFIED原创 2013-04-17 16:26:03 · 1229 阅读 · 0 评论 -
难以琢磨的redo log (什么情况下产生redo)
这段时间想弄明白什么情况下对表的操作会产生日志,以及想避免产生日志时需要做哪些动作;首先select *from v$sysstat twhere t.class=2;找到name为redo size的行的STATISTIC#;然后创建一张表,在上面做DML ,查看select * from v$sysstat t where t.STATISTIC#=刚才找到的那个值; 根据两次的v转载 2013-03-26 13:18:40 · 1277 阅读 · 0 评论 -
生成数据库性能报告
这两天关注了一下数据库性能,顺便写一下生成数据库awr报告的语句sqlplus system/admin@orcl @E:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\awrrpt.sqlsqlplus system/admin@orcl @E:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\ashrpt.sql生成的报原创 2013-01-18 15:08:47 · 679 阅读 · 0 评论 -
查看僵死进程
select a.owner, a.object_name, b.session_id, b.oracle_username, b.os_user_name, b.process, b.locked_mode, c.sid, c.serial#, c.program from all_objects a, v$locked_object b, sys原创 2012-12-07 17:00:36 · 701 阅读 · 0 评论 -
ORACLE 开发常用操作(个人开发总结)
这里是平时的开发过程中自己记录的一些常用命令及开发技巧,在此建立自己的知识库,便于以后查询; 1. 导出表(表结构和内容)exp scott/tiger@orcl tables=dept,emp file=e:\script\tab.dmp只导出表结构exp ods/ods@epmdev tables=sp_exe_log rows=n file原创 2013-05-31 16:03:00 · 974 阅读 · 0 评论 -
几张表中同一个字段中内容的出现次数(比如说name)
需求:http://bbs.csdn.net/topics/390483676?page=1#post-394744861想得到这5张表里 name字段相同的分别有几条数据EMP 表:EMP_COPY表:EMP_BACK表:WITH TB1 AS (SELECT ENAME,COUNT(*) AS T1_COUNT FROM EMP原创 2013-06-09 16:22:59 · 1080 阅读 · 0 评论 -
外部表(EXTERNAL TABLE)
来自:http://blog.itpub.net/post/12524/461332external table可以实现将flat file的内容不用真正装载到数据库,就跟使用数据库内部的表一样来使用。只是不能对这种类型的表进行DML和INDEX操作。这样方便我们在flat file和数据库表之间load和unload数据。这个功能在oracle 9i上就实现了,当时仅转载 2013-05-08 13:41:35 · 4578 阅读 · 0 评论 -
多表链接的问题
select a.*,b.*,c.*,d.* from a left join b on a.id=b.idleft join c on a.id=c.id left join d on a.id=d.idwhere a.id in (....);首先会把a和b按照id 关联,得出来的合集再和进行关联,依次类推;如果a里id=1的记录有4条,a 和b有相同id原创 2013-06-17 16:20:39 · 868 阅读 · 0 评论 -
view (视图定义中含distinct时的操作)
SQL> select * from v$version;BANNER--------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - ProductionPL/SQL原创 2013-08-17 16:46:57 · 2502 阅读 · 1 评论 -
external table
external tableA read-only table whose metadata is stored in the database but whose data in stored in files outside the database. The database uses the metadata describing external tables to expose原创 2013-05-08 13:39:59 · 2553 阅读 · 0 评论 -
DBMS_RANDOM
开发过程中经常会有产生随机数的需求,而oracle本身自带的有这样的功能,下面介绍一下拥有此功能的包DBMS_RANDOM,主要以官方文档来说明:The DBMS_RANDOM package provides a built-in random number generator.该包里包含了几个子程序,这里仅仅介绍两个:RANDOM functionThis原创 2013-11-11 14:15:54 · 956 阅读 · 0 评论 -
创建索引的另一种方式(index)
今天看ocp题库,发现了一个新知识点,原来索引还可以这样创建;CREATE TABLE order_item (order_id NUMBER(3),item_id NUMBER(2),qty NUMBER(4),CONSTRAINT ord_itm_id_pk PRIMARY KEY (order_id,item_id)USING INDEX(CREATE INDEXord_i原创 2013-08-18 12:06:25 · 2068 阅读 · 0 评论 -
绑定变量
今天看了郭大师的书,关于绑定变量的一个用法:首先清空共享池命令 ALTER SYSTEM FLUSH SHARED_POOL因为共享池是存放已经执行的SQL语句的地方,所以,当执行完上面一条语句之后,再次查询V$SQL时之前执行的语句都清空了;创建过程CREATE OR REPLACE PROCEDURE proc1ASBEGINFOR i IN原创 2013-11-13 21:36:28 · 796 阅读 · 0 评论 -
windows下重装ORACLE碰到的几个小问题
在一台安装了oracle 10.2.0.3.0 的机器上,先卸载该数据库,然后再安装一个10.2.0.4.0;卸载的时候载用dbca命令弹出的安装界面中删除数据库,如图:然后把安装数据库时的相应目录全部删除,如果提示有些再用的话,就重启机器,然后删除;相应目录不删除的话,oracle在选择主目录的时候会在最后一个子路径里用db_2 而不是默认的db_1;接下来删除相应的环境原创 2013-07-29 15:15:59 · 1645 阅读 · 0 评论 -
oracle 递归查询 CONNECT BY、START WITH、CONNECT_BY_ROOT、CONNECT_BY_ISLEAF、SYS_CONNECT_BY_PATH
转载自:http://blog.csdn.net/feier7501/article/details/21815691 创建表,初始化数据;[sql] view plaincopyprint?CREATE TABLE TB_COMPANY ( COMPANY_ID INTEGER PRIMARY KEY, COMPANY VARCHAR2(25转载 2014-07-09 14:01:39 · 1476 阅读 · 0 评论 -
ORACLE 数据泵技术
一. 理论部分数据泵(EXPDP和IMPDP)是10g的新增功能;而10g之前的替代工具是EXP和IMP;注(官方文档):The Data Pump API provides a high-speed mechanism to move all or part of the data and metadata for a site from one database to anoth原创 2013-04-11 11:21:31 · 1286 阅读 · 0 评论 -
RHEL6部署ORACLE11g相关设置
1. 安装前检查 rpm –qa |grep 软件包名称 Oracle官方文档中确定要安装的包如下: binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 compat-libstdc++-33-3.2.3 (32 bit) elfutils-libelf-0.125 elf原创 2016-03-03 11:24:35 · 530 阅读 · 0 评论 -
连接 ORACLE 出现 "TNS-12535: TNS: 操作超时"
虚拟机上安装linux6操作系统,部署了oracle 11g,在本机上手动添加的TNS,在连接数据库时出现“TNS-12535: TNS: 操作超时”,以下是解决步骤1.ping 虚拟机ip 没问题2.tnsping 虚拟机数据库的tns名称,出现操作超时错误3.检查虚拟机的防火墙设置、关闭防火墙、查看状态4.可以成功连接;原创 2016-03-03 11:41:41 · 10491 阅读 · 0 评论 -
数据库启动各阶段操作
1 启动实例过程shutdown ----> nomount startup nomount 操作:$ORACLE_HOME/dbs spfile.ora spfile.ora init.ora 根据参数分配SGA启动后台进程打开日志和跟踪文件instance 启动成功如何判转载 2013-09-29 09:45:25 · 1005 阅读 · 0 评论 -
常见hash算法的原理
转载自:http://blog.csdn.net/zxycode007/article/details/6999984散列表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙。散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结转载 2013-11-10 21:57:52 · 1620 阅读 · 0 评论 -
EXPLAIN PLAN FOR
在10g以前的版本中,需要单独创建PLAN_TABLE并授予,10g中自动创建PLAN_TABLE$不再需要这一步骤下面是10g之前初始化PLAN_TABLE需要创建的步骤:SQL> @?/rdbms/admin/utlxplan.sqlSQL> create public synonym plan_table for plan_table;SQL> grant all on pl原创 2013-09-26 10:53:38 · 1026 阅读 · 0 评论 -
表(table)
在一个表中删除一列,特别是在一个大表中删除一列是相当耗时的,对系统的效率冲击是很大的,所以应尽可能地避免在数据库繁忙期间删除。那么可以把要删除的列置为无用列,在空闲的时候在删除。Alter table table_nameSet unused(列名);或Alter table table_nameSet unused column 列名;数据库空闲时,用alter tabl原创 2013-09-24 14:55:58 · 929 阅读 · 0 评论 -
关于(系统/用户对象)权限、角色及角色内权限的相关表 [role 、privilege]
--查看用户所拥有的系统权限SELECT * from USER_SYS_PRIVS;--用户所拥有的别的对象的权限SELECT * from USER_TAB_PRIVS;--用户所拥有的角色SELECT * from USER_ROLE_PRIVS;--当前用户的权限SELECT * from SESSION_PRIVS;--查看角色中有多少系统权限原创 2013-03-27 16:37:37 · 1280 阅读 · 0 评论 -
merge into 相关操作
今天看ocp题,有一个新的发现:View the Exhibit and examine the data in ORDERS_MASTER and MONTHLY_ORDERStables. Evaluate the following MERGE statement:MERGE INTO orders_master oUSING monthly_orders m原创 2013-08-18 20:30:25 · 1530 阅读 · 0 评论 -
start with connect by 子句
l 对于含有层次话查询的语句需要用到start with connect by 子句;语法结构:SELECT [level] ,column,expression ,……FROM table[WHERE where_clause][[START WITHstart_condition] [ CONNECT BY PRIOR prior_condition]][OR原创 2013-09-06 16:47:02 · 2333 阅读 · 0 评论 -
DBMS_ROWID
The DBMS_ROWID package lets you create ROWIDs and obtain information about ROWIDs from PL/SQL programs and SQL statements. You can find the data block number, the object number, and other ROWID co原创 2013-09-10 14:34:33 · 1135 阅读 · 0 评论