自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

luckyman100的专栏

点成线,线成网,网成全世界

  • 博客(134)
  • 收藏
  • 关注

原创 final和static的区别

今天在学Android时,遇到final static int a=1 这样的语法,就想深入了解下final和static的区别,因为字面上两个都是最终静态的意思。statictatic是静态修饰关键字,可以修饰变量和程序块以及类方法:当你定义一个static的变量的时候jvm会将将其分配在内存堆上,所有程序对它的引用都会指向这一个地址而不会重新分配内存;修饰一个程序块的时候(也就是直

2015-11-06 23:45:54 694

转载 5大布局方式详解

Android中常用的5大布局方式有以下几种:线性布局(LinearLayout):按照垂直或者水平方向布局的组件。帧布局(FrameLayout):组件从屏幕左上方布局组件。表格布局(TableLayout):按照行列方式布局组件。相对布局(RelativeLayout):相对其它组件的布局方式。 绝对布局(AbsoluteLayout):按照绝对坐标来布局组件。 1. 线性布局

2015-11-04 23:51:56 696

转载 使用剪切板在Activity中传值

在Activity之间传递数据还可以利用一些技巧,不管windows还是Linux操作系统,都会支持一种叫剪切板的技术,也就是某一个程序将一些数据复制到剪切板上,然后其他的任何程序都可以从剪切板中获取数据,在Android系统中也存在此技术。 使用剪切板会用到,ClipboardManager对象,这个对用剪切板会用到,ClipboardManager象用来操作剪切板,但是没有提供publ

2015-10-28 23:56:10 807

转载 AndroidManifest.xml中为啥android:name的值前面要加上点号

activity 组件的 android:name 属性采用类名的简写方式,查看文档类名的简写格式为 ".ClassName", 但为什么里的android:anem="ApiDemos",而不是android:anem=".ApiDemos"呢? 而后面的所有Activity组件的android:name的值都是".ClassName"格式呢?google查询android:name属性值的

2015-10-23 00:14:08 2810

转载 AndroidManifest.xml文件解析

一、关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Intent

2015-10-23 00:10:10 378

原创 出现should use @string resource的原因

我在xml文件中定义了一个button标签<Button android:id="@+id/button" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="wo de button">保存后旁边出现个小感

2015-10-20 23:19:07 10702 1

原创 R.layout是什么?

android.R.layout和R.layout是有区别的 :android.R.layout是Android SDK自带的布局文件 R.layout是自己在res目录下面写的布局android.表示安卓自带的东东。。。

2015-10-20 00:30:04 7822

转载 @+id/和android:id有什么区别?

Android中的组件需要用一个int类型的值来表示,这个值也就是组件标签中的id属性值。id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id/abc、@+id/xyz等。如果在@后面使用“+”,表示当修改完某个布局文件并保存后,系统会自动在R.java文件中生成相应的int类型变量。变量名就是“/”后面的值,例如,@+id/xyz会在R.java文件中生成int xyz = v

2015-10-16 23:05:23 519

原创 大表的索引问题

最新系统生产环境的性能发现有所下降,把sql提出来,发现是在程序备份的时候耗时明显增多(备份时是用insert select语句)。经过排查,执行计划是稳定的,而且select出来数据还是很快,所以初步定位为插入时性能有问题。看了下表的情况,表的数据达到9亿,再看了下索引情况:索引结构达到5层,叶子块达到400多万个数据块!这就是慢的原因所在。就好像一本书,如果书的页数越来越多,对应的目录也就越来

2015-02-08 21:55:41 633

转载 序列的性能问题

在RAC环境中,序列的Cache问题可能会对性能有着决定性的影响,缺省的序列Cache值为20,这对RAC环境远远不够。如果存在序列号使用的竞争,就可能在数据库中看到明显的队列等待:enq: SQ - contention在RAC情况下,可以将使用频繁的序列Cache值增加到10000,或者更高到50000,这些值在客户的环境中都有采用。这是RAC设置和RAC使用的基本常识,不

2014-12-11 21:39:13 927

原创 enq: TM – contention等待事件

enq: TM – contention等待事

2014-10-21 23:36:03 1159

原创 DML执行期间执行计划的动态切换

很久没写文章了,我的恒章都变灰了,其实

2014-10-21 22:59:13 865

原创 一次merge的优化经验

现在我们生产环境有这么个性能问题:suiz

2014-09-02 23:37:34 4370

转载 Adaptive Cursor Sharing(ACS)

Adaptive Cursor Sharing(ACS)是又一个大胆而吸引人的11G新特性。说它大胆是因为它试图解决一个CBO最令人头疼的问题:数据倾斜(data skew)和绑定变量窥视导致SQL PLAN太差。说它吸引人是因为想知道Oracle采用何种神秘的算法让Oracle变得更加智能。    之所以在11GR2出来之后才开始研究,是因为这个new feture在11GR1时

2014-06-30 12:20:01 819

转载 如何固定执行计划

在遭遇执行计划不稳定或者执行计划错误的情况下,通过baseline来固定SQL执行计划以确保执行计划稳定性、提高性能。baseline是oracle 11G提供的稳固sql执行计划的功能,是spm功能的一部分。步骤如下:[html] view plaincopySQL> set linesize 1000  SQL> col in

2014-06-29 11:56:47 1912

转载 由 bind_mismatch 引起的 大量 version_count 问题

从AWR报告里发现一个SQL存在大量的version_count. SYS@xezf(qs-xezf-db1)> select sql_id,version_count from v$sqlarea where version_count> 500 order by 2 desc ; SQL_ID        VERSION_COUNT------------- ------

2014-06-29 11:13:28 1093

原创 为什么v$sql中的执行次数会被重置(续)

刚刚通过实验,

2014-06-22 22:47:39 1033

原创 为什么v$sql中的执行次数会被重置

这几天一直在观察生产环境中一个长时间执行的sql

2014-06-22 22:06:46 2319

原创 LONG的模糊查询的问题

oracle是强烈不建议使用LANG类型的,因为它有太多弊端,很不灵活,bi

2014-06-22 20:03:13 8794

原创 ORA-01002

今天在测试程序时,发现了一个我之前

2014-06-17 23:01:23 4826

原创 关于性能问题的思考

说到性能问题,我想很多朋友第一想到的是SQL优化

2014-06-17 22:17:42 647

原创 从V$SQL中搜索sql时要注意的点

因为经常要观察

2014-06-15 22:11:37 856

原创 一次被JOB整的很惨的经历

昨天生产环境有个产品数据需要

2014-06-15 20:27:04 663

原创 DML的重启

DML重启,这是我今天学到的

2014-06-08 20:52:23 669

原创 让我们抛弃char吧

最近在阅读代码是,发现以前很多代码中,很多地方都用到了 char 类型的

2014-06-08 13:50:01 638

原创 varchar2最大长度的陷阱

以前在参考书籍上有看到

2014-06-08 12:49:21 936

原创 字段类型修改引起的性能问题

今天在生产环境一段平时表现良好的

2014-05-30 23:26:27 1005

原创 关于包授权的问题

我有一个包,想授权给另一个schema执行,我xu

2014-05-30 23:06:41 6610

原创 写复杂视图时需要注意的问题

不知道大家xie

2014-05-14 22:14:41 1212

原创 ora-01795 参数列表过长的问题

今天闲来无聊做了个测试,

2014-05-14 20:59:21 674

原创 连接与会话

学oracle几年了,今天才真正弄明白连接与会话的区别,真实惭愧,以前一直以为没啥区别,今天自己总结下。1. 连接是物理层级的,是客户端与服务器之间一条具体的连接;会话则是逻辑层级的,可以理解是客户端与数据库实例间交流的基础2. 会话可以理解为一个plsql窗口,开启一个窗口也就是新建了一个会话;连接可以理解为就是一个工作于服务器上的进程(或线程)当客户端与服务器端用专用服务器模式连接

2014-03-27 21:51:39 1614

转载 oracle事务槽(二)

oracle数据块头部有个事务槽(ITL)。当多个事务槽同时修改数据块,而且,此时,pctfree(数据块空闲空间的比例)不足10%,则会出现ITL争用。这种现象容易发生在update和delete身上。因为,insert时,oracle会优先分散地插入其他空闲块。如:      看一下表a有多少个事务槽:[sql] sys@ORCL> select

2014-03-23 23:23:47 1079

转载 CR块

1、概述Cr块consistent read块也就是用来维护oracle的读一致性的数据块。当查询某些数据的时候,发现数据块的版本比我们要查询的新,例如session1执行了dml操作并没有提交,session2此时查找跟session1相关的dml操作的数据信息,此时查询的数据却是原来的数据信息。查询的过程会在undo段中查找该数据块的前映像后,然后把前映像和cu

2014-03-23 23:21:09 1298

转载 oracle事务槽

一、ITL描述:ITL(Interested Transaction List)是Oracle数据块内部的一个组成部分,位于数据块头(block header),itl由xid,uba,flag,lck和scn/fsc组成,用来记录该块所有发生的事务,一个itl可以看作是一条事务记录。当然,如果这个事务已经提交,那么这个itl的位置就可以被反复使用了,因为itl类似记录,所以,有的时候也叫

2014-03-23 22:08:41 1162

原创 为什么plsql developer长时间执行sql会通信中断(3)

这个题目我已经写过两篇文章了,每次都会有新的发现,今天也不例外。今天我在做测试资料导入的测试时,需要插入4亿的数据量,我在PLSQL用insert/*+append*/ into XXX select/*+parallel(t 16)*/ * from XXX 然后一次提交,因为我担心会失败,所以sql一边运行,我一边观察表空间,UNDO空间,temp空间是否足够,结果这些空间都是足够的,但是

2014-03-10 21:12:56 2394

转载 DBMS_JOB

DBMS_Job包含以下子过程:  Broken()过程。  change()过程。  Interval()过程。  Isubmit()过程。  Next_Date()过程。  Remove()过程。  Run()过程。  Submit()过程。  User_Export()过程。  What()过程。1、Broken()过程更新一个已提交的工作的状

2014-03-09 23:16:07 708

原创 写视图应该要注意的问题

视图是我们开发过程中经常打交道的对象,不知道你在写视图时有没有犯过这样的错误:create or replace view test_view as select b.emp_no, b.salary from emp a,emp_salary b WHERE a.emp_no = b.emp_no(+)emp表中有个emp_no为123的员工,在emp

2014-03-09 22:52:39 1029

原创 追踪存储过程中报错行

开发的朋友经常遇到的问题是:程序在EXCEPTION的WHEN OTHERS 中报了错,这是很头疼的问题,尤其在程序包很大的时候。。这个时候就需要迫切的知道到底是哪里发生了异常,这里介绍一个很好用的方法,可以准确的定位到你存储过程哪行报了异常,这就是:dbms_utility.format_error_backtrace  举个例子1.新建程序包create or replace pack

2014-03-08 15:25:36 1800

原创 如何确定定时job正在运行

在判断oracle JOB是否在运行时,很多人第一时间会想到视图 dba_jobs_running ,不过这个视图有个缺陷,它只能显示当前实例上正在运行的JOB,单机环境当然没问题,如果是RAC环境,这个视图的查询结果就会不准确。。当然有个比较麻烦的办法,就是关联GV$SESSION 和 GV$SQL 去判断JOB是否在运行,不过这就要求你对执行的内容很熟悉,能够很快看的出SQL正是你JOB运行的

2014-03-08 13:27:49 2834

原创 oralce热块

oracle的热块问题一直是性能瓶颈的重要因素,下面我们来通过一个例子来了解下:1. 创建表CREATE TABLE test2 (ID NUMBER);2.插入一条记录INSERT INTO test2 (ID) VALUES(1);commit;3.查看表test2,看看需要多少一致读4.在另一个会话,做表的更新操作,并不提交BEGIN 

2014-03-08 13:12:07 1828

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除