<?xml version="1.0" encoding="utf-8"?><rss version="2.0">
<channel>
<title><![CDATA[EricRyuu]]></title>
<link>http://blog.pfan.cn/EricRyuu</link>
<description>编程爱好者博客</description>
<language>zh-cn</language>
			<item>
		<title><![CDATA[asp.net中插播视频]]></title>
		<link>http://blog.pfan.cn/EricRyuu/53439.html</link>
		<description><![CDATA[&lt;object&nbsp;id="player"&nbsp;classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"&nbsp;style="width:&nbsp;682px;&nbsp;height:&nbsp;371px"&gt;
&lt;param&nbsp;name="AutoStart"&nbsp;value="-1"/&gt;
&lt;!--是否自动播放--&gt;
&lt;param&nbsp;name="Balance"&nbsp;value="0"&nbsp;/&gt;
&lt;!--调整左右声道平衡,同上面旧播放器代码--&gt;
&lt;param&nbsp;name="enabled"&nbsp;value="-1"/&gt;
&lt;!--播放器是否可人为控制--&gt;
&lt;param&nbsp;name="EnableContextMenu"&nbsp;VALUE="-1"/&gt;
&lt;!--是否启用上下文菜单--&gt;
&lt;param&nbsp;name="url"&nbsp;value="D:\11.wmv"/&gt;
&lt;!--播放的文件地址--&gt;
&lt;param&nbsp;name="PlayCount"&nbsp;value="1"&gt;
&lt;!--播放次数控制,为整数--&gt;
&lt;param&nbsp;name="rate"&nbsp;value="1"&gt;
&lt;!--播放速率控制,1为正常,允许小数,1.0-2.0--&gt;
&lt;param&nbsp;name="currentPosition"&nbsp;value="0"/&gt;
&lt;!--控件设置:当前位置--&gt;
&lt;param&nbsp;name="currentMarker"&nbsp;value="0"/&gt;
&lt;!--控件设置:当前标记--&gt;
&lt;param&nbsp;name="defaultFrame"&nbsp;value=""/&gt;
&lt;!--显示默认框架--&gt;
&lt;param&nbsp;name="invokeURLs"&nbsp;]]></description>
		<author><![CDATA[EricRyuu]]></author>
		<pubDate>2012-04-22 00:59:00</pubDate>
		</item>
				<item>
		<title><![CDATA[Oracle清理和重建临时表空间]]></title>
		<link>http://blog.pfan.cn/EricRyuu/53435.html</link>
		<description><![CDATA[正常来说，在完成Select语句、create index等一些使用TEMP表空间的排序操作后，Oracle是会自动 释放掉临时段a的。但有些有侯我们则会遇到临时段没有被释放，TEMP表空间几乎满的状况，甚至是我们 重启了数据库仍没有解决问题。这个问题在论坛中也常被网友问到，下面我总结一下，给出几种处理方法 。
&nbsp;
法一、重启库
&nbsp;
库重启时，Smon进程会完成临时段释放，TEMP表空间的清理操作，不过很多的时侯我们的库是不允许 down的，所以这种方法缺少了一点的应用机会，不过这种方法还是很好用的。
&nbsp;
法二、Metalink给出的一个方法
&nbsp;
修改一下TEMP表空间的storage参数，让Smon进程观注一下临时段，从而达到清理和TEMP表空间的目的 。
&nbsp;
SQL&gt;alter tablespace temp increase 1；
&nbsp;
SQL&gt;alter tablespace temp increase 0；
&nbsp;
法三、我常用的一个方法，具体内容如下：
&nbsp;
1、 使用如下语句a查看一下认谁在用临时段
&nbsp;
SELECT username,
&nbsp;
 sid,
&nbsp;
 serial#,
&nbsp;
 sql_address,
&nbsp;
 machine,
&nbsp;
 program,
&nbsp;
 tablespace,
&nbsp;
 segtype,
&nbsp;
 contents
&nbsp;
 FROM v$session se,
&nbsp;
 v$sort_usage su
&nbsp;
 WHERE se.saddr=su.session_addr


	&nbsp;


	&nbsp;


	&nbsp;


	2、那些正在使用临时段的进程
&nbsp;
SQL&gt;Alter system kill session 'sid,serial#';
&nbsp;
3、把TEMP表空间回缩一下
&nbsp;
SQL&gt;Alter tablespace TEMP coalesce;
&nbsp;]]></description>
		<author><![CDATA[EricRyuu]]></author>
		<pubDate>2012-04-17 09:28:00</pubDate>
		</item>
				<item>
		<title><![CDATA[Java数据库设计中的14个技巧]]></title>
		<link>http://blog.pfan.cn/EricRyuu/53413.html</link>
		<description><![CDATA[1. 原始单据与实体之间的关系 

可以是一对一、一对多、多对多的关系。在一般情况下，它们是一对一的关系：即一张原始单据对应且只对应一个实体。在特殊情况下，它们可能是一对多或多对一的关系，即一张原始单证对应多个实体，或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后，对我们设计录入界面大有好处。


	〖例1〗：一份员工履历资料，在人力资源信息系统中，就对应三个基本表：员工基本情况表、社会关系表、工作简历表。这就是“一张原始单证对应多个实体”的典型例子。


	2. 主键与外键 

一般而言，一个实体不能既无主键又无外键。在E?R 图中, 处于叶子部位的实体, 可以定义主键，也可以不定义主键(因为它无子孙), 但必须要有外键(因为它有父亲)。 

主键与外键的设计，在全局数据库的设计中，占有重要地位。当全局数据库的设计完成以后，有个美国数据库设计专家说：“键，到处都是键，除了键之外，什么也没有”，这就是他的数据库设计经验之谈，也反映了他对信息系统核心(数据模型)的高度抽象思想。因为：主键是实体的高度抽象，主键与外键的配对，表示实体之间的连接。


	3. 基本表的性质 

基本表与中间表、临时表不同，因为它具有如下四个特性： 

(1) 原子性。基本表中的字段是不可再分解的。 
(2) 原始性。基本表中的记录是原始数据（基础数据）的记录。 
(3) 演绎性。由基本表与代码表中的数据，可以派生出所有的输出数据。 
(4) 稳定性。基本表的结构是相对稳定的，表中的记录是要长期保存的。


	理解基本表的性质后，在设计数据库时，就能将基本表与中间表、临时表区分开来。


	4. 范式标准 

基本表及其字段之间的关系, 应尽量满足第三范式。但是，满足第三范式的数据库设计，往往不是最好的设计。为了提高数据库的运行效率，常常需要降低范式标准：适当增加冗余，达到以空间换时间的目的。


	〖例2〗：有一张存放商品的基本表，如表1所示。“金额”这个字段的存在，表明该表的设计不满足第三范式，因为“金额”可以由“单价”乘以“数量”得到，说明“金额”是冗余字段。但是，增加“金额”这个冗余字段，可以提高查询统计的速度，这就是以空间换时间的作法。 

在Rose 2002中，规定列有两种类型]]></description>
		<author><![CDATA[EricRyuu]]></author>
		<pubDate>2012-04-11 03:47:00</pubDate>
		</item>
				<item>
		<title><![CDATA[oracle优化]]></title>
		<link>http://blog.pfan.cn/EricRyuu/53403.html</link>
		<description><![CDATA[1、调整数据结构的设计。这一部分在开发信息系统之前完成，程序员需要考虑是否使用ORACLE数据库的分区功能，对于经常访问的数据库表是否需要建立索引等。 
2、调整应用程序结构设计。这一部分也是在开发信息系统之前完成，程序员在这一步需要考虑应用程序使用什么样的体系结构，是使用传统的Client/Server两层体系结构，
&nbsp;&nbsp; 还是使用Browser/Web/Database的三层体系结构。不同的应用程序体系结构要求的数据库资源是不同的。
3、调整数据库SQL语句。应用程序的执行最终将归结为数据库中的SQL语句执行，因此SQL语句的执行效率最终决定了ORACLE数据库的性能。ORACLE公司推荐使用ORACLE语句优化器（Oracle Optimizer）和
&nbsp;&nbsp; 行锁管理器（row-level manager）来调整优化SQL语句。 
4、调整服务器内存分配。内存分配是在信息系统运行过程中优化配置的，数据库管理员可以根据数据库运行状况调整数据库系统全局区（SGA区）的数据缓冲区、日志缓冲区和共享池的大小；
&nbsp;&nbsp; 还可以调整程序全局区（PGA区）的大小。需要注意的是，SGA区不是越大越好，SGA区过大会占用操作系统使用的内存而引起虚拟内存的页面交换，这样反而会降低系统。 
5、调整硬盘I/O，这一步是在信息系统开发之前完成的。数据库管理员可以将组成同一个表空间的数据文件放在不同的硬盘上，做到硬盘之间I/O负载均衡。 
6、调整操作系统参数，例如：运行在UNIX操作系统上的ORACLE数据库，可以调整UNIX数据缓冲池的大小，每个进程所能使用的内存大小等参数。


	实际上，上述数据库优化措施之间是相互联系的。ORACLE数据库性能恶化表现基本上都是用户响应时间比较长，需要用户长时间的等待。但性能恶化的原因却是多种多样的，
有时是多个因素共同造成了性能恶化的结果，这就需要数据库管理员有比较全面的计算机知识，能够敏感地察觉到影响数据库性能的主要原因所在。另外，良好的数据库管理工具对于优化数据库性能也是很重要的。
&nbsp;
ORACLE数据库性能优化工具 
常用的数据库性能优化工具有： 
1、ORACLE数据库在线数据字典，ORACLE在线数据字典能够反映出ORACLE动态]]></description>
		<author><![CDATA[EricRyuu]]></author>
		<pubDate>2012-04-07 00:15:00</pubDate>
		</item>
		</channel>
</rss>