??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲AV永久无码天堂影院,亚洲va久久久噜噜噜久久男同 ,国产亚洲综合色就色http://www.tkk7.com/Jcat/category/11844.html宠i不惊Q闲看庭前花开p~~zh-cnFri, 11 Jan 2013 16:32:29 GMTFri, 11 Jan 2013 16:32:29 GMT60Oracle 11g Release2 新特?/title><link>http://www.tkk7.com/Jcat/archive/2011/06/17/352525.html</link><dc:creator>Jcat</dc:creator><author>Jcat</author><pubDate>Fri, 17 Jun 2011 07:35:00 GMT</pubDate><guid>http://www.tkk7.com/Jcat/archive/2011/06/17/352525.html</guid><wfw:comment>http://www.tkk7.com/Jcat/comments/352525.html</wfw:comment><comments>http://www.tkk7.com/Jcat/archive/2011/06/17/352525.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Jcat/comments/commentRss/352525.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Jcat/services/trackbacks/352525.html</trackback:ping><description><![CDATA[ <font color="#a52a2a">单过一遍,详细的以后遇到慢慢研I?br />主要的更新在几个斚wQ?br />1. OUI的改q?br />2. Oracle Restart<br /></font> <b> <font color="#a52a2a">3. ASM的增强!Q!</font> </b> <br /> <br /> <br /> <font color="#0000ff">New Grid Infrastructure Installation Option</font> <br /> 1. 单点包括QASM、listener和Oracle RestartQ监控、管理ƈ自动重启各个lgQ?br /> 2. 集群包括QASM、listener和Clusterware<br /><br /><font color="#0000ff">New Desktop and Server Class Options</font><br /> 1. Desktop ClassQ适用于笔记本、台式机<br /> 2. Server ClassQ适用于服务器Q功能上没区别,多一些高U配|选项Q?br /><br /><font color="#0000ff">Daylight Savings Time Upgrade of Timestamp with Timezone Data Type</font><br /> 新的DBMS_DST包,优化对TIMESTAMP WITH TIMEZONE数据的管?br /><br /><font color="#0000ff">SYSASM Privilege</font><br /> 理ASM需要SYSASM权限Q旨在分清ASM理和DB理<br /><br /><font color="#0000ff">Fixup Scripts and Prerequisite Checks</font><br /> 安装前检查时Q如果遇CW合要求的配|,OUI会对一些检查项自动生成fixup脚本Q用root执行可以解决相应问题?br /><br /><font color="#0000ff">New Tool to Configure Custom Installation Options</font><br /> OUI不在提供对单个组件的配置功能Q如果需要只能用$ORACLE_HOME/bin/chopt命o行进行配|?b>我想Oracle的趋势就是ؓ了让更多已经成熟?font color="#ff0000">配置自动?/font>Q简化用?/b><br /><br /><font color="#0000ff">Deinstallation Tool</font><br /> OUI不再用来删除oracle软gQ请使用$ORACLE_HOME/deinstall<br /><br /><font color="#0000ff">Intelligent Data Placement</font><br /> 指定ASM盘的磁盘范_旨在高频访问的数据攑֜HOT regionQ比如磁盘的外道Q?br /><br /><font color="#0000ff">Oracle Automatic Storage Management Cluster File System (Oracle ACFS)</font><br /> 为其它文件提供ASM的存储功?br /><br /><font color="#0000ff">Data Pump Export and Data Pump Import</font><br /> Data Pump兼容Export/Import<br /><font color="#0000ff"><br />Use Oracle Restart to Automatically Restart Your Database</font><br /> 1. 针对单点环境<br /> 2. 自动重启又问题的lgQ如Qdb instance、listener、asm instance<br /><br /><font color="#0000ff">New Method of Installing Oracle Automatic Storage Management</font><br /> 以前QASM的安装是伴随着DB的安装;现在是伴随着Software的安装?br /> 其实Q就是把ASM上升C个Y件的高度Q以前只是db的一个组Ӟ<br /><br /><font color="#0000ff">SRVCTL Support for Single Instance Database in a Cluster</font><br /> SRVCTLl一理单点Qwith RestartQ和集群数据库(with ClusterwareQ?br /><br /><strike><font color="#0000ff">Deprecated in Oracle Database 11g Release 2</font></strike><br /> 不支持裸讑֤了:要么用文件系l、要么用ASMQ说白了Q?font color="#ff0000"><b>企业环境必ȝASM</b></font><br /> 不支持Oracle Ultra SearchQ?i的一个什么鸟功能Q?br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><img src ="http://www.tkk7.com/Jcat/aggbug/352525.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Jcat/" target="_blank">Jcat</a> 2011-06-17 15:35 <a href="http://www.tkk7.com/Jcat/archive/2011/06/17/352525.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Win - 启动l色版MYSQLhttp://www.tkk7.com/Jcat/archive/2011/06/16/352394.htmlJcatJcatWed, 15 Jun 2011 17:40:00 GMThttp://www.tkk7.com/Jcat/archive/2011/06/16/352394.htmlhttp://www.tkk7.com/Jcat/comments/352394.htmlhttp://www.tkk7.com/Jcat/archive/2011/06/16/352394.html#Feedback1http://www.tkk7.com/Jcat/comments/commentRss/352394.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/352394.html重装完系l,mysql不需要重装,直接当绿色版使用Q还更干净

//启动MYSQL
cd $MYSQL_HOME/bin
D:\JAVA\MYSQL\mysql-5.1.53-win32\bin>mysqld --console      
110616  1:26:26 [Note] Plugin 'FEDERATED' is disabled.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
110616  1:26:26  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
110616  1:26:26  InnoDB: Started; log sequence number 0 44233
110616  1:26:27 [Note] Event Scheduler: Loaded 0 events
110616  1:26:27 [Note] mysqld: ready for connections.
Version: '5.1.53-community'  socket: ''  port: 3306  MySQL Community Server (GPL
)

//单?/font>
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.03 sec)

mysql> use mysql
Database changed

mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| ndb_binlog_index          |


登陆
D:\JAVA\MYSQL\mysql-5.1.53-win32\bin>mysql.exe -uroot
创徏数据?/b>
mysql> create database testdb;






Jcat 2011-06-16 01:40 发表评论
]]>
分区?- 主键为本地烦?/title><link>http://www.tkk7.com/Jcat/archive/2010/09/15/332074.html</link><dc:creator>Jcat</dc:creator><author>Jcat</author><pubDate>Wed, 15 Sep 2010 07:26:00 GMT</pubDate><guid>http://www.tkk7.com/Jcat/archive/2010/09/15/332074.html</guid><wfw:comment>http://www.tkk7.com/Jcat/comments/332074.html</wfw:comment><comments>http://www.tkk7.com/Jcat/archive/2010/09/15/332074.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Jcat/comments/commentRss/332074.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Jcat/services/trackbacks/332074.html</trackback:ping><description><![CDATA[ <font color="#006400">--主键是非分区索引Q也可以看作是全局</font> <br />create table test_par1<br />(<br />  tdate   varchar2(8) <font color="#ff0000">primary key</font><br />)<br />partition by range ( tdate )<br />(<br />     partition p1 values less than ('20090201'),<br />     partition p2 values less than ('20090301'),<br />     partition pm values less than (MAXVALUE)  <br />) tablespace test;<br /><br /><br /><font color="#006400">--主键是分区烦?/font><br />create table test_par2<br />(<br />  tdate   varchar2(8)<br />)<br />partition by range ( tdate )<br />(<br />     partition p1 values less than ('20090201'),<br />     partition p2 values less than ('20090301'),<br />     partition pm values less than (MAXVALUE)  <br />) tablespace test;<br /><br /><font color="#ff0000">create index</font> i_tdate2 on test_par2(tdate) <b><font color="#ff0000">local</font></b>;<br /><br />alter table test_par2 <font color="#ff0000">add constraint</font> pk_tdate2 <font color="#ff0000">primary key</font>(tdate);<br /><br /><br /><br /><font color="#006400">--查看test_par2的DDL<br /></font>select dbms_metadata.get_ddl( 'TABLE', 'TEST_PAR2' ) from dual;<br /><font color="#006400">--整理如下</font><br />create table test_par3<br />(<br />  tdate   varchar2(8),<br />  constraint pk_tdate3 primary key (tdate) <font color="#ff0000">using index <b>local</b></font><br />)<br />partition by range ( tdate )<br />(<br />     partition p1 values less than ('20090201'),<br />     partition p2 values less than ('20090301'),<br />     partition pm values less than (MAXVALUE)  <br />) tablespace test;<br /><br /><br /><font color="#a52a2a">q个案例也告诉我们,在做DDLӞ量q是昄的写出属性,一些简易语法会引v不可知的定义。最后都?get_ddl 再查一下,q才是Oracle真正执行的DDL?/font><br /><img src ="http://www.tkk7.com/Jcat/aggbug/332074.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Jcat/" target="_blank">Jcat</a> 2010-09-15 15:26 <a href="http://www.tkk7.com/Jcat/archive/2010/09/15/332074.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DB2基础命ohttp://www.tkk7.com/Jcat/archive/2010/07/09/325651.htmlJcatJcatFri, 09 Jul 2010 06:32:00 GMThttp://www.tkk7.com/Jcat/archive/2010/07/09/325651.htmlhttp://www.tkk7.com/Jcat/comments/325651.htmlhttp://www.tkk7.com/Jcat/archive/2010/07/09/325651.html#Feedback0http://www.tkk7.com/Jcat/comments/commentRss/325651.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/325651.html列出所有实?/font>
[db2inst1@dcm ~]$ db2ilist
db2inst1

列出当前实例下的所有数据库

[db2inst1@dcm ~]$ db2 list db directory

 System Database Directory

 Number of entries in the directory = 1

Database 1 entry:

 Database alias                       = SAMPLE
 Database name                        = SAMPLE
 Local database directory             = /home/db2inst1
 Database release level               = d.00
 Comment                              =
 Directory entry type                 = Indirect
 Catalog database partition number    = 0
 Alternate server hostname            =
 Alternate server port number         =

启动实例
[db2inst1@dcm ~]$ db2start
07/09/2010 14:24:36     0   0   SQL1063N  DB2START processing was successful.
SQL1063N  DB2START processing was successful.

q接到数据库
[db2inst1@dcm ~]$ db2 connect to sample

   Database Connection Information

 Database server        = DB2/LINUX 9.7.1
 SQL authorization ID   = DB2INST1
 Local database alias   = SAMPLE

执行SQL
[db2inst1@dcm ~]$ db2
db2 => select * from staff where dept=20

ID     NAME      DEPT   JOB   YEARS  SALARY    COMM     
------ --------- ------ ----- ------ --------- ---------
    10 Sanders       20 Mgr        7  98357.50         -
    20 Pernal        20 Sales      8  78171.25    612.45
    80 James         20 Clerk      -  43504.60    128.20
   190 Sneider       20 Clerk      8  34252.75    126.50

  4 record(s) selected.

退?/font>
db2 => quit
DB20000I  The QUIT command completed successfully.

断开q接Q不断开׃能db2stopQ?/font>
[db2inst1@dcm ~]$ db2 connect reset
DB20000I  The SQL command completed successfully.

关闭实例
[db2inst1@dcm ~]$ db2stop
07/09/2010 14:29:32     0   0   SQL1064N  DB2STOP processing was successful.
SQL1064N  DB2STOP processing was successful.



Jcat 2010-07-09 14:32 发表评论
]]>
数据库、实?on Oracle/DB2http://www.tkk7.com/Jcat/archive/2010/07/08/325584.htmlJcatJcatThu, 08 Jul 2010 10:26:00 GMThttp://www.tkk7.com/Jcat/archive/2010/07/08/325584.htmlhttp://www.tkk7.com/Jcat/comments/325584.htmlhttp://www.tkk7.com/Jcat/archive/2010/07/08/325584.html#Feedback0http://www.tkk7.com/Jcat/comments/commentRss/325584.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/325584.html最q初探了一下DB2Q发现关于“数据库”、“实例”的概念及其关系Ҏ把h弄晕Q这里小ȝ一下,q把Oracle也拉q来一h?br />另外Q发现Oracle和IBM老搞一些理Z针锋相对的事情Q如RAC vs DPF (database partitioning feature)Q很是有?/font>


基本概念q是相同?/b>
数据库YӞ下面U?b>软g
Q?/font>QY件本w,一C机安装一套就可以了。(抛开你故意在一台服务器上安?遍Oracle/DB2q种不正常思维Q?br />
实例Q数据库软g启动后的“进E?内存?br />
软g+实例的关p:一台电脑只需要按照一套QQQYӞQ但是我们可以多用户dQ实例)。换到哲学的角度Q就是抽象和具体的关pR?br />
数据库(狭义Q下面简U?b>?/b>Q?/font>Q一堆文Ӟ数据文g、控制文件、日志文件、参数文Ӟ
它和软g的区别:软g是厂商卖l你的东西;?/b>是你自己的东西(业务、应用)
它和实例的关p:用户需要借助实例Q所提供的各U手D)来访?b>?/b>
?/b>q当于是QQ聊天记录

最后:数据库(q义Q? 软g + 实例 + ?/font>
一台服务器Q即一套数据库软gQ可以徏多个实例Q多个库Q且互不相干


体系l构的不同之?/b>
Oracle  实例和库一一对应
DB2     一个实例可以挂多个?br />

高情况Q简单提一下,以后再慢慢研IӞ
OracleQRAC一个库被多个实例挂
DB2QDPF一个实例多个库
在数据库集群模式设计斚wQ有Share everything架构和Share nothing架构Q前者以ORACLE RACZ表,IBM DB2 Purescale为挑战者;后者以IBM DB2 DPFZ表?br />



Jcat 2010-07-08 18:26 发表评论
]]>
行链??行迁U?/title><link>http://www.tkk7.com/Jcat/archive/2010/06/13/323511.html</link><dc:creator>Jcat</dc:creator><author>Jcat</author><pubDate>Sun, 13 Jun 2010 06:08:00 GMT</pubDate><guid>http://www.tkk7.com/Jcat/archive/2010/06/13/323511.html</guid><wfw:comment>http://www.tkk7.com/Jcat/comments/323511.html</wfw:comment><comments>http://www.tkk7.com/Jcat/archive/2010/06/13/323511.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Jcat/comments/commentRss/323511.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Jcat/services/trackbacks/323511.html</trackback:ping><description><![CDATA[ <font size="5">行链接:</font> <br />1. 一条记录的大小大于block sizeQ则产生行链?br />2. Ҏ发生在比较大的行?br />3. 因ؓ行链接是由db_block_size不够大引LQ所以对已有的行链接是无法清除的<br />4. 9i以后Q可以对不同的表I间讄不同的db_block_sizeQ可以将一些特D的宽表攑֜大block size的表I间<br /><br />例子Q?br />表空间block size?kQ?192Q,因ؓ数据块头也要占一定空_所以如下例Q实际只能放7948的数据,一旦超q,׃生行链接<br /><br />--?br />create table test7948(a char(2000),b char(2000),c char(2000),d char(1948))<br />tablespace test;<br /><br />insert into test7948 values('a','b','c','d');<br />commit;<br /><br />--?br />create table test7949(a char(2000),b char(2000),c char(2000),d char(1949))<br />tablespace test;<br /><br />insert into test7949 values('a','b','c','d');<br />commit;<br /><br /><br /><br /><font size="5">行迁U:</font><br />1. 本来是放的下?br />2. 因ؓ更新使row size变大了,一个block里又不以放下增加的I间QPCTFREE相关Q,则生行q移<br />3. Ҏ发生在PCTFREE较小Q对cMvarcharcd的update又很多的表上<br />4. 无法避免Q但通过把数据导出导入进行清?br /><br />例子Q?br />--?br />create table test7948_vchar(a char(2000),b char(2000),c char(2000),d char(1940), e varchar(9))<br />tablespace test;<br /><br />insert into test7948_vchar values('a','b','c','d','12345678');<br />commit;<br /><br />一更新Q得row size大于7948了,产生行迁U?br />--?br />update test7948_vchar set e='123456789'<img src ="http://www.tkk7.com/Jcat/aggbug/323511.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Jcat/" target="_blank">Jcat</a> 2010-06-13 14:08 <a href="http://www.tkk7.com/Jcat/archive/2010/06/13/323511.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>切换TEMP表空?/title><link>http://www.tkk7.com/Jcat/archive/2010/04/30/319765.html</link><dc:creator>Jcat</dc:creator><author>Jcat</author><pubDate>Fri, 30 Apr 2010 03:05:00 GMT</pubDate><guid>http://www.tkk7.com/Jcat/archive/2010/04/30/319765.html</guid><wfw:comment>http://www.tkk7.com/Jcat/comments/319765.html</wfw:comment><comments>http://www.tkk7.com/Jcat/archive/2010/04/30/319765.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Jcat/comments/commentRss/319765.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Jcat/services/trackbacks/319765.html</trackback:ping><description><![CDATA[--创徏一个大一点的TEMP表空?br />create temporary tablespace temp1<br />tempfile '/oracledatafile/temp01.dbf' SIZE 100m autoextend on next 100m maxsize 5000m;<br /> <br />--切换默认TEMP表空?br />alter database default temporary tablespace temp1;<br /><br />--删掉以前的TEMP表空?br />drop tablespace temp including contents and datafiles;<img src ="http://www.tkk7.com/Jcat/aggbug/319765.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Jcat/" target="_blank">Jcat</a> 2010-04-30 11:05 <a href="http://www.tkk7.com/Jcat/archive/2010/04/30/319765.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>物化视图http://www.tkk7.com/Jcat/archive/2010/01/13/309251.htmlJcatJcatTue, 12 Jan 2010 16:04:00 GMThttp://www.tkk7.com/Jcat/archive/2010/01/13/309251.htmlhttp://www.tkk7.com/Jcat/comments/309251.htmlhttp://www.tkk7.com/Jcat/archive/2010/01/13/309251.html#Feedback2http://www.tkk7.com/Jcat/comments/commentRss/309251.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/309251.html 1. 物化视图׃是物理真实存在的Q故可以创徏索引?




--为基表创建MLOG
--创徏物化视图时应先创建存储的日志I间Q否则徏MV时报?br />--ORA-23413: table "SCOTT"."EMP" does not have a materialized view log

create materialized view log on scott.emp
tablespace test
/


--创徏物化视图
create materialized view test_mv
tablespace test
parallel (degree 4)
build immediate refresh fast
enable query rewrite
as
select * from scott.emp
/


--查看一下结果,果然很符合物化视囄定义Q一个表+一个视?/font>
SQL> select object_name, object_type from user_objects where object_name = 'TEST_MV';
OBJECT_NAME    OBJECT_TYPE
-----------    --------
TEST_MV        TABLE
TEST_MV        MATERIALIZED VIEW

SQL> select mview_name, container_name from user_mviews;
MVIEW_NAME       CONTAINER_NAME
---------------- ------------------------------
TEST_MV          TEST_MV  Q这是那个存储表)

--查看MLOG的情?/font>
--注意QMLOG的所属和MV的所属ƈ不是同一?/font>
SQL> select log_owner, master, log_table from dba_mview_logs
LOG_OWNER    MASTER    LOG_TABLE
---------------------------------
SCOTT        EMP    MLOG$_EMP QMLOG其实也就是一个表Q?/font>

SQL> desc scott.mlog$_emp;
Name            Type
-------------------------------
EMPNO            NUMBER(4)
SNAPTIME$$        DATE
DMLTYPE$$        VARCHAR2(1)
OLD_NEW$$        VARCHAR2(1)
CHANGE_VECTOR$$        RAW(255)



--删除MLOG
drop materialized view log on 物化视图所依赖的表? 
--删除物化视图
drop materialized view 物化视图?


Jcat 2010-01-13 00:04 发表评论
]]>触发?/title><link>http://www.tkk7.com/Jcat/archive/2010/01/11/309025.html</link><dc:creator>Jcat</dc:creator><author>Jcat</author><pubDate>Mon, 11 Jan 2010 06:58:00 GMT</pubDate><guid>http://www.tkk7.com/Jcat/archive/2010/01/11/309025.html</guid><wfw:comment>http://www.tkk7.com/Jcat/comments/309025.html</wfw:comment><comments>http://www.tkk7.com/Jcat/archive/2010/01/11/309025.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Jcat/comments/commentRss/309025.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Jcat/services/trackbacks/309025.html</trackback:ping><description><![CDATA[ <font color="#a52a2a">注意Qؓ了能在终端看见put_line的输出,q需要先开?br />set serveroutput on</font> <br />  <br /><br /><font color="#006400">--用来试的表</font><br />create table test_tri(<br />a1 int,<br />a2 int<br />)<br />tablespace test<br /><br /><b><br /><i><font color="#0000ff">-----行</font><font color="#0000ff">insert</font><font color="#0000ff">触发?/font></i></b><font color="#0000ff"><i><b>-----</b></i><br />1) 插入的一行新数据保存?b>:new</b><br />2) </font><font color="#0000ff">insert触发器没?old?/font><br /><font color="#0000ff">3) ?new的修改,只能定义在beforecd的触发器?/font><br /><br /><font color="#800080">---触发器语?--</font><br /><font color="#800080">create or replace trigger 名称 <br />[after|before] [delete|update|insert] <br />[of 列名] [on 表名] <br />[referencing new as 新行别名 old as 旧行别名] <br />[for each row] [when(条g)]<br />declare <br />.... <br />begin <br />... <br />exception <br />.... <br />end; </font><br /><br /><font color="#006400">--定义</font><br />create or replace trigger test_before_insert<br /><b>before </b>insert on test_tri<br />for each row <font color="#ff0000">when(new.a2 is null)</font><br />begin<br />    dbms_output.put_line('insert row original: a1=' || :new.a1 || ' a2=' || :new.a2);<br />    :new.a2 := :new.a1 * 2;   <br />end;<br />/<br /><br />create or replace trigger test_after_insert<br /><b>after </b>insert on test_tri<br />for each row<br />begin<br />    dbms_output.put_line('insert row actual: a1=' || :new.a1 || ' a2=' || :new.a2);   <br />end;<br />/<br /><font color="#006400"><br />--试</font><br />SQL> insert into test_tri(a1) values(1);<br />insert row original: a1=1 <font color="#ff0000">a2=</font><br />insert row actual: a1=1 a2=2<br /><br />SQL> insert into test_tri values(2,3);<br />insert row actual: a1=2 a2=3<br /><br />SQL> select * from test_tri;<br />        A1         A2<br />---------- ----------<br />         1          <font color="#ff0000">2(p发器生成的?</font><br />         2          3<br /><br /><br /><br /><i><b><font color="#0000ff">-----DDL触发?----</font></b></i><font color="#006400"><br />--Mcreate语句都会触发q个语句</font><br />create or replace trigger test_ddl_trigger<br />before create on schema<br />begin<br />    dbms_output.put_line( 'DDL Trigger' );<br />    insert into test_tri values(9,9);<br />end;<br /><img src ="http://www.tkk7.com/Jcat/aggbug/309025.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Jcat/" target="_blank">Jcat</a> 2010-01-11 14:58 <a href="http://www.tkk7.com/Jcat/archive/2010/01/11/309025.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IPC extproc PLSExtProhttp://www.tkk7.com/Jcat/archive/2010/01/05/308354.htmlJcatJcatTue, 05 Jan 2010 13:59:00 GMThttp://www.tkk7.com/Jcat/archive/2010/01/05/308354.htmlhttp://www.tkk7.com/Jcat/comments/308354.htmlhttp://www.tkk7.com/Jcat/archive/2010/01/05/308354.html#Feedback0http://www.tkk7.com/Jcat/comments/commentRss/308354.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/308354.htmlOracle建好后,tnsnames和listener中自动就带有如下内容Q这里咱们就来解释一下这些东西是q什么用?/font>

----TNSNAMES.ora----
EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

----LISTENER.ora----
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /opt/oracle/10gR2)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = dcm)(PORT = 1521))
    )
  )


IPC - Inner Process Communication
When a process is on the same machine as the server, use the IPC protocol for connectivity instead of TCP. Inner Process Communication on the same machine does not have the overhead of packet building and deciphering that TCP has.
I've seen a SQL job that runs in 10 minutes using TCP on a local machine run as fast as one minute using an IPC connection. The difference in time is most dramatic when the Oracle process has to send and/or receive large amounts of data to and from the database.
For example, a SQL*Plus connection that counts the number of rows of some tables will run about the same amount of time, whether the database connection is made via IPC or TCP. But if the SQL*Plus connection spools much data to a file, the IPC connection will often be much faster -- depending on the data transmitted and the machine workload on the TCP stack.

For how to configure it:
1. you should add one IPC line in the LISTENER.ORA
2. You should also add one IPC line in the TNSNAMES.ORA



PLSExtPro - PL/Sql External Procdure
默认安装Ӟ会安装一个PL/SQL外部E序Q?font color="#ffa500">extproc
--q是E序名)条目在listener.ora中,是oracle用外部程序默认配|的监听Q它的名字(也就是SIDQ通常是ExtProc?font color="#ff0000">PLSExtProc
?br />但一般不会用它Q可以直接从listener.ora中将q项U除Q因为对ExtProc已经有多U攻LD了Q在不用外部程序时QOracle也是删除的?br />


extproc的作?/font>是在pl/sql中调?b>外部语句
Q如cQjava写的q程?br />现在QOracle已经全面支持JAVA了,q东西也p时了Q之所以l保留是考虑到兼容以前老版本的数据库实例?br />
[oracle@dcm bin]$ extproc
Oracle Corporation --- TUESDAY   JAN 05 2010 21:58:23.878
Heterogeneous Agent Release 10.2.0.1.0 - Production



Jcat 2010-01-05 21:59 发表评论
]]>Oracle Scheduler 10G NEWhttp://www.tkk7.com/Jcat/archive/2009/12/17/306315.htmlJcatJcatThu, 17 Dec 2009 08:13:00 GMThttp://www.tkk7.com/Jcat/archive/2009/12/17/306315.htmlhttp://www.tkk7.com/Jcat/comments/306315.htmlhttp://www.tkk7.com/Jcat/archive/2009/12/17/306315.html#Feedback0http://www.tkk7.com/Jcat/comments/commentRss/306315.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/306315.html--dsys用户Q创Z个测试用P权限可以l大?/font>
SQL> create user test identified by xxxxx;
SQL> grant connect to test;
SQL> grant resource to test;
SQL> grant dba to test;


--dtest用户Q开始测?/font>
--Z试?/font>
create table test_table(id int, time timestamp);

--创徏Job
begin
dbms_scheduler.create_job(
    job_name => 'test_job',
    job_type => 'PLSQL_BLOCK',
    job_action => 'insert into test_table
                  (select nvl(max(id),0)+1, systimestamp from test_table, dual);', --nvl函数同SQLServer的isnull函数
    start_date => null, --一Ȁz,开?/font>
    repeat_interval => 'FREQ=SECONDLY;INTERVAL=10');
end;

FREQ用来指定间隔的时间周期,可选参数有QYEARLYQMONTHLYQWEEKLYQDAILYQHOURLYQMINUTELYQSECONDLY?/font>

--光创建没用,q需要激z;也可以在创徏Ӟ直接把enable属性设|ؓtrueQ?font color="#a52a2a">enabled => trueQ?/font>
select job_name, enabled, run_count from user_scheduler_jobs;
JOB_NAME                       ENABL  RUN_COUNT
------------------------------ ----- ----------
TEST_JOB                       FALSE          0


begin
dbms_scheduler.enable('test_job');
end;

--查看效果
select id, to_char(time,'HH24:MI:SS:FF3') from test_table;
       ID  TO_CHAR(TIME,'HH24
---------- ------------------
         1 16:13:29:542
         2 16:13:39:506
         3 16:13:49:109
         4 16:13:59:097
         5 16:14:09:109
         6 16:14:19:103
         7 16:14:29:101
         8 16:14:39:099
         9 16:14:49:105
        10 16:14:59:100


--停止d
begin
dbms_scheduler.disable('test_job');
end;

--删除d
begin
dbms_scheduler.drop_job('test_job');
end;


Jcat 2009-12-17 16:13 发表评论
]]>
数据库的隔离U别http://www.tkk7.com/Jcat/archive/2009/12/05/304869.htmlJcatJcatSat, 05 Dec 2009 09:45:00 GMThttp://www.tkk7.com/Jcat/archive/2009/12/05/304869.htmlhttp://www.tkk7.com/Jcat/comments/304869.htmlhttp://www.tkk7.com/Jcat/archive/2009/12/05/304869.html#Feedback0http://www.tkk7.com/Jcat/comments/commentRss/304869.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/304869.html 一致和q发是对立的Q需要根据应用,选择权宜之计
数据不一致的现象

---事务内单SQL的情?--
1.脏读-Dirty ReadQ本事务d了其它事务尚未提交的修改数据
例子Q读了不该读?br />1:00 x=1
1:01 A用户 Update x=2Q但未commitQ?br />1:02 B用户 Select x --> x=2
合理的情冉|x仍然{于1

---事务内多SQL的情况(典型的如Q先查再改)---
2.不可重复?/b>-Non Repeatable Read
例子1Q自相矛?br />1:00 x=1 y=2
1:01 B用户 Select x,y --> x=1 y=2
1:02 A用户 Update x=2; Commit;
1:03 B用户 Select x+y --> x+y=4
首先q个l果从单条SQL的角度看Q是没有问题的。但是,如果把B的两ơ查询看作一个整体(事务Q,那么合理的情况应该是
  x+y仍然{于3
  或者B再进行一ơ事务,得出 x=2 y=2 x+y=4 的结?/font>

例子2Q更C?br />1:00 x=1
1:01 B用户 Select x --> x=1
1:02 A用户 Select x --> x=1
1:03 A用户 Update x=2; Commit;
1:04 B用户 Update x=3; Commit;
同样Q从单条SQL来讲Q没有Q何问题?br />但是从逻辑的合理性讲Q一般的更新操作都是先查再改Q换a?br />  A真正惛_的是Update x from 1 to 2
  B真正惛_的是Update x from 1 to 3
但最l却造成了在B不知情的情况下,把B的初hZUpdate x from 2 to 3


3.qd?/b>-Phantom Read
例子Q读C未来
1:00 X1=1 X2=2
1:01 B用户 Select Xi --> X1=1 X2=2
1:02 A用户 Insert X3=3; Commit;
1:03 B用户 Select sum(Xi) --> re=6
其实道理和之前的不可重复ȝ同,只不q是由Insert引v的Ş了?br />Q甚至Delete也会引vcM的问题,但好像学术界q没有对Deleteq行讨论Q?/font>



Isolation Level
Read UncommittedQ?Q?Q?都会发生
  Oracle中严格禁止脏?br />  在SQL Server 7.0中,是可以选择该别的
Read CommittedQ发?Q?QOracle的默认别)
Repeatable ReadQ发?
SerializableQ都不发?br />

Oracle的实现方?/b>
Read CommittedQ默认就实现
Repeatable ReadQ?br />  1. 悲观锁(select ... for update)Q媄响ƈ?br />  2. 乐观锁(update where 所有字D都作ؓ条g)Q不影响q发
SerializableQ?br />  alter session set isolation_level=serializable/read only


Jcat 2009-12-05 17:45 发表评论
]]>
分区表初探,外加双引号问?/title><link>http://www.tkk7.com/Jcat/archive/2009/08/18/291683.html</link><dc:creator>Jcat</dc:creator><author>Jcat</author><pubDate>Tue, 18 Aug 2009 10:17:00 GMT</pubDate><guid>http://www.tkk7.com/Jcat/archive/2009/08/18/291683.html</guid><wfw:comment>http://www.tkk7.com/Jcat/comments/291683.html</wfw:comment><comments>http://www.tkk7.com/Jcat/archive/2009/08/18/291683.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Jcat/comments/commentRss/291683.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Jcat/services/trackbacks/291683.html</trackback:ping><description><![CDATA[ <font color="#006400">--创徏一个分</font> <br />create table scott.testpart <br />(<br />    TEXTDATE   VARCHAR2(8) <br />)<br />partition by range ( TEXTDATE )<br />(<br />     partition p1 values less than ('20090201'),<br />     partition <font color="#ff0000">"p2"</font> values less than ('20090301'), <font color="#006400">--注意q里的双引号</font><br />     partition pm values less than (MAXVALUE)  <br />)<br /><br /><font color="#006400"><br />--插入一些数据(Z实践一下双层@环)</font><br />DECLARE<br />    i int:=1;<br />    j int:=1;<br />BEGIN<br />       WHILE i<=3 LOOP<br />            WHILE j<=3 LOOP<br />                insert into scott.testpart values (2009*10000+i*100+j);<br />                j:=j+1;<br />            END LOOP;          <br />        i:=i+1;    <br />        j:=1; <font color="#006400">--注意要重|jQ否则就回不到j循环里面?/font><br />        END LOOP;<br />END;<br /><br /><br /><font color="#006400">--需要先q行分析Q否则num_rows列将为空</font><br />analyze table scott.testpart compute statistics;<br /><br /><font color="#006400">--查看各个分区的情?/font><br />select table_name, partition_name, num_rows from DBA_TAB_PARTITIONS<br />where table_owner='SCOTT' and table_name='TESTPART';<br />TABLE_NAME                PARTITION_NAME           NUM_ROWS<br />-------------------------- ------------------------------ ----------<br />TESTPART                       P1                                              3<br />TESTPART                       PM                                            3<br />TESTPART                       <b><font color="#ff0000">p2</font></b>                                             3<br /><font color="#ff0000">注意p2因ؓ加了引号仍然是小写(但ƈ不显C引Pq点比较讨厌Q,没加引号的会昄为大?/font><br /><br /><br /><font color="#006400">--验证数据实q入了正的分区</font><br />select * from scott.testpart partition(p1);<br />TEXTDATE<br />--------<br />20090101<br />20090102<br />20090103<br /><br /><font color="#006400">--创徏p2时有引号Q用p2时也需要引受?/font><br /><font color="#ff0000">--特别的,用一些第三方客户端创建分Ӟ生成的SQL往往会自动加上引P而查看DBA_TAB_PARTITIONS时又看不出来Q所以遇C面的问题Q可以加个引可试?/font><br />select * from scott.testpart partition(p2);<br />ERROR at line 1:<br />ORA-02149: Specified partition <font color="#a52a2a">does not exist</font><br /><br />select * from scott.testpart partition(<b><font color="#ff0000">"p2"</font></b>);<br />TEXTDATE<br />--------<br />20090201<br />20090202<br />20090203<br /><br /><br /><font color="#006400">--其它相关</font><br />select * from scott.testpart;<br />truncate table scott.testpart;<br />drop table scott.testpart;<br /><br /><img src ="http://www.tkk7.com/Jcat/aggbug/291683.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Jcat/" target="_blank">Jcat</a> 2009-08-18 18:17 <a href="http://www.tkk7.com/Jcat/archive/2009/08/18/291683.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>NLS_DATE_FORMAThttp://www.tkk7.com/Jcat/archive/2009/06/27/284404.htmlJcatJcatSat, 27 Jun 2009 08:18:00 GMThttp://www.tkk7.com/Jcat/archive/2009/06/27/284404.htmlhttp://www.tkk7.com/Jcat/comments/284404.htmlhttp://www.tkk7.com/Jcat/archive/2009/06/27/284404.html#Feedback0http://www.tkk7.com/Jcat/comments/commentRss/284404.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/284404.html--修改后重新启动数据库Q永久生?/b>
SQL> alter system set nls_date_format='yyyymmdd';
ERROR at line 1: --不能是memory scopeQ默认是bothQ所以也不行Q?/font>
ORA-02096: specified initialization parameter is not modifiable with this option

SQL> alter system set nls_date_format='yyyymmdd' scope=spfile;
System altered.

SQL> show parameter nls_date_format  --q个时候还没生?/font>
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
nls_date_format                      string

--重启数据库后
SQL> show parameter nls_date_format
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
nls_date_format                      string      yyyymmdd

SQL> select sysdate from dual;
SYSDATE
--------
20090627



--只对当前session有效Q重d一ơSQLPLUSQ效果就消失?/b>
SQL> alter session set nls_date_format='yyyy-mm-dd';   --q个格式也很常用 yyyy-mm-dd hh:mi:ss
Session altered.  --同时会覆盖初始化参数里的讄

SQL> select sysdate from dual;
SYSDATE
----------
2009-06-27

Jcat 2009-06-27 16:18 发表评论
]]>
Oracle Data Dictionaryhttp://www.tkk7.com/Jcat/archive/2009/06/18/283125.htmlJcatJcatThu, 18 Jun 2009 14:42:00 GMThttp://www.tkk7.com/Jcat/archive/2009/06/18/283125.htmlhttp://www.tkk7.com/Jcat/comments/283125.htmlhttp://www.tkk7.com/Jcat/archive/2009/06/18/283125.html#Feedback0http://www.tkk7.com/Jcat/comments/commentRss/283125.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/283125.html静态数据字?/b>来查找,但数据字典实在太多,也记不清名字?br />因ؓ数据字典都是?font color="#ff0000">DBA_开头的视图Q所以可以想办法先把它们列出来?br />btwQDBA>ALL>User

以下两句l果上是{效?br />select object_name from dba_objects where object_name like 'DBA\_%' escape '\' and object_type='VIEW';
select view_name from dba_views where view_name like 'DBA\_%' escape '\';



例子Q?br />我想查看数据文g的相关信息,但是从DBA_DATA_FILES里,q没有看见Temp表空间的数据文g的信息?br />于是可以试如下搜烦Q?br />SQL> select view_name from dba_views where view_name like 'DBA\_%TEMP%' escape '\';
VIEW_NAME
------------------------------
DBA_ADVISOR_SQLW_TEMPLATES
DBA_ADVISOR_TEMPLATES
DBA_HIST_BASELINE_TEMPLATE
DBA_LOB_TEMPLATES
DBA_REPCAT_REFRESH_TEMPLATES
DBA_SUBPARTITION_TEMPLATES
DBA_TEMPLATE_REFGROUPS
DBA_TEMPLATE_TARGETS
DBA_TEMP_FILES    --扑ֈ嫌疑犯,q去一看,果然记录的是关于Temp表空间的数据文g的信?/font>
DBA_TEMP_FREE_SPACE


列一些常用的在这?/span>



Jcat 2009-06-18 22:42 发表评论
]]>ALTER DATABASE vs ALTER SYSTEMhttp://www.tkk7.com/Jcat/archive/2009/06/16/282570.htmlJcatJcatTue, 16 Jun 2009 04:32:00 GMThttp://www.tkk7.com/Jcat/archive/2009/06/16/282570.htmlhttp://www.tkk7.com/Jcat/comments/282570.htmlhttp://www.tkk7.com/Jcat/archive/2009/06/16/282570.html#Feedback0http://www.tkk7.com/Jcat/comments/commentRss/282570.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/282570.html>alter database drop logfile group 1;
>alter system switch logfile;
>alter system kill session 'sid,serial#';

Z方便记忆Q归U_下:
alter database (改变数据?-database)
和物理文件直接相关的操作

alter system (改变实例--instance)
不直接牵涉到盘文g的操?/font>

当然Q这只是Z方便记忆Q只满大部分的情况Qƈ不是所有的命o都能套到q个框框里,最l还是用熟了p住哪个是哪个了?/font>


---外传---
oracle server=Instance (memory structure) + Database (disk file) + U/S Process
   Instance=SGA + Background Process
   Database=control file + data file + log file
   U/S Process= User Process + Server Process + PGA



Jcat 2009-06-16 12:32 发表评论
]]>
RMAN基础http://www.tkk7.com/Jcat/archive/2009/05/13/270434.htmlJcatJcatWed, 13 May 2009 07:47:00 GMThttp://www.tkk7.com/Jcat/archive/2009/05/13/270434.htmlhttp://www.tkk7.com/Jcat/comments/270434.htmlhttp://www.tkk7.com/Jcat/archive/2009/05/13/270434.html#Feedback0http://www.tkk7.com/Jcat/comments/commentRss/270434.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/270434.htmldRMAN
[oracle@dcm ~]$ rman target /
Recovery Manager: Release 11.1.0.6.0 - Production on Wed May 13 13:25:30 2009
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
connected to target database: O11G (DBID=140043054)
  ?/font>
[oracle@dcm ~]$ rman
Recovery Manager: Release 11.1.0.6.0 - Production on Thu Jun 18 13:28:07 2009
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
RMAN> connect target /
connected to target database: O11G (DBID=140043054)



因ؓ数据库是Open的,且又是非归模式Q所以无法进行在U全备䆾

RMAN> backup database;
ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode

关了Q整成mount状?/font>
RMAN> shutdown
database closed
database dismounted
Oracle instance shut down

RMAN> startup mount
connected to target database (not started)
Oracle instance started
database mounted



开始数据库全备?/font>
RMAN> backup database;
Starting backup at 13-MAY-09
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=154 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/o11g/system01.dbf
input datafile file number=00002 name=/u01/app/oracle/oradata/o11g/sysaux01.dbf
input datafile file number=00005 name=/u01/app/oracle/oradata/o11g/example01.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/o11g/undotbs01.dbf
input datafile file number=00007 name=/u01/app/oracle/oradata/o11g/testspace2.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/o11g/users01.dbf
channel ORA_DISK_1: starting piece 1 at 13-MAY-09
channel ORA_DISK_1: finished piece 1 at 13-MAY-09
piece handle=/u01/app/oracle/flash_recovery_area/O11G/backupset/2009_05_13/o1_mf_nnndf_TAG20090513T153229_50nxwnqz_.bkp tag=TAG20090513T153229 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:35
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00006 name=/u01/app/oracle/oradata/o11g/testspace.dbf
channel ORA_DISK_1: starting piece 1 at 13-MAY-09
channel ORA_DISK_1: finished piece 1 at 13-MAY-09
piece handle=/u01/app/oracle/flash_recovery_area/O11G/backupset/2009_05_13/o1_mf_nnndf_TAG20090513T153229_50nxzv00_.bkp tag=TAG20090513T153229 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 13-MAY-09

Starting Control File and SPFILE Autobackup at 13-MAY-09
piece handle=/home/oracle/myo11g/autobackup/c-140043054-20090513-00 comment=NONE
Finished Control File and SPFILE Autobackup at 13-MAY-09

查看备䆾信息
RMAN> list backup of database;
List of Backup Sets
===================
BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
      Full    1.15G      DISK        00:01:33     13-MAY-09      
        BP Key: 1   Status: AVAILABLE  Compressed: NO  Tag: TAG20090513T153229
        Piece Name: /u01/app/oracle/flash_recovery_area/O11G/backupset/2009_05_13/o1_mf_nnndf_TAG20090513T153229_50nxwnqz_.bkp
  List of Datafiles in backup set 1
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----
  1       Full 1565621    13-MAY-09 /u01/app/oracle/oradata/o11g/system01.dbf
  2       Full 1565621    13-MAY-09 /u01/app/oracle/oradata/o11g/sysaux01.dbf
  3       Full 1565621    13-MAY-09 /u01/app/oracle/oradata/o11g/undotbs01.dbf
  4       Full 1565621    13-MAY-09 /u01/app/oracle/oradata/o11g/users01.dbf
  5       Full 1565621    13-MAY-09 /u01/app/oracle/oradata/o11g/example01.dbf
  7       Full 1565621    13-MAY-09 /u01/app/oracle/oradata/o11g/testspace2.dbf

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
2       Full    252.00K    DISK        00:00:07     13-MAY-09      
        BP Key: 2   Status: AVAILABLE  Compressed: NO  Tag: TAG20090513T153229
        Piece Name: /u01/app/oracle/flash_recovery_area/O11G/backupset/2009_05_13/o1_mf_nnndf_TAG20090513T153229_50nxzv00_.bkp
  List of Datafiles in backup set 2
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----
  6       Full 1565621    13-MAY-09 /u01/app/oracle/oradata/o11g/testspace.dbf

RMAN> list backup of controlfile;
List of Backup Sets
===================
BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
3       Full    9.36M      DISK        00:00:08     13-MAY-09     
        BP Key: 6   Status: AVAILABLE  Compressed: NO  Tag: TAG20090513T161909
        Piece Name: /home/oracle/myo11g/autobackup/c-140043054-20090513-01
  Control File Included: Ckp SCN: 1568079      Ckp time: 13-MAY-09



删除指定(BS Key)的备份集

RMAN> delete backupset 1;
using channel ORA_DISK_1
List of Backup Pieces
BP Key  BS Key  Pc# Cp# Status      Device Type Piece Name
------- ------- --- --- ----------- ----------- ----------
1       1       1   1   AVAILABLE   DISK        /u01/app/oracle/flash_recovery_area/O11G/backupset/2009_05_13/o1_mf_nnndf_TAG20090513T153229_50nxwnqz_.bkp

Do you really want to delete the above objects (enter YES or NO)? YES
deleted backup piece
backup piece handle=/u01/app/oracle/flash_recovery_area/O11G/backupset/2009_05_13/o1_mf_nnndf_TAG20090513T153229_50nxwnqz_.bkp RECID=1 STAMP=686763156
Deleted 1 objects

删除所有备份集
RMAN> delete backup;

using channel ORA_DISK_1

List of Backup Pieces
BP Key  BS Key  Pc# Cp# Status      Device Type Piece Name
------- ------- --- --- ----------- ----------- ----------
2       2       1   1   AVAILABLE   DISK        /u01/app/oracle/flash_recovery_area/O11G/backupset/2009_05_13/o1_mf_nnndf_TAG20090513T153229_50nxzv00_.bkp
3       3       1   1   AVAILABLE   DISK        /home/oracle/myo11g/autobackup/c-140043054-20090513-00

Do you really want to delete the above objects (enter YES or NO)? YES
deleted backup piece
backup piece handle=/u01/app/oracle/flash_recovery_area/O11G/backupset/2009_05_13/o1_mf_nnndf_TAG20090513T153229_50nxzv00_.bkp RECID=2 STAMP=686763258
deleted backup piece
backup piece handle=/home/oracle/myo11g/autobackup/c-140043054-20090513-00 RECID=3 STAMP=686763268
Deleted 2 objects



Jcat 2009-05-13 15:47 发表评论
]]>Oracle里的Ҏ数字http://www.tkk7.com/Jcat/archive/2009/04/23/267224.htmlJcatJcatThu, 23 Apr 2009 12:33:00 GMThttp://www.tkk7.com/Jcat/archive/2009/04/23/267224.htmlhttp://www.tkk7.com/Jcat/comments/267224.htmlhttp://www.tkk7.com/Jcat/archive/2009/04/23/267224.html#Feedback0http://www.tkk7.com/Jcat/comments/commentRss/267224.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/267224.html 01555
ORA-01555: snapshot too old    回滚D不够用?br />可以采取的措施有Q?br />1、应用程序尽量避免巨表的漫长查询操作Q改传统的cursor游标为bulk collectQ?br />2、尽量程序中不要使用大事务量的增删改操作Q同时记得及时commitQ?br />3、加大undo表空间和加大undo的retention?br />
10046
Event 10046是oracle用于pȝ性能分析时的一个最重要的事件?/font>

Jcat 2009-04-23 20:33 发表评论
]]>
Oracle buys Sunhttp://www.tkk7.com/Jcat/archive/2009/04/21/266694.htmlJcatJcatTue, 21 Apr 2009 02:27:00 GMThttp://www.tkk7.com/Jcat/archive/2009/04/21/266694.htmlhttp://www.tkk7.com/Jcat/comments/266694.htmlhttp://www.tkk7.com/Jcat/archive/2009/04/21/266694.html#Feedback0http://www.tkk7.com/Jcat/comments/commentRss/266694.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/266694.htmlOra
s le

74亿美?/span>呀Q现在Oracle可以?8摸全面抗衡了Q?br />
直就成了IT届的 GE vs 襉K?

oracle-sun.JPG


----收购后的格局----
航母U:IBM  vs  Oracle+SUN
软gQMicrosoftQSAPQRedHatQSybaseQ小赛的U别是不够放在这的,我觉得它最l也会走上被收购的道路)
gQHPQDellQFujitsu


----预测----
1. MySQL是生是死Q?br />Oracle是当今企业数据库的老大QMySQL是当今互联网应用的老大?br />如果O把小Myq掉Qƈ不代表小My的那部分市场会成为小O的;相反Q如果小O能好好照ְMyQ那直就无敌了?br />个h预测Q?5分,只要O能够保持一颗开攄心,My应该能有很好的发展?br />
2. Solaris是生是死Q?br />O一直致力于发展Linux技术(比如他和红合作搞的Unbreakable LinuxQ,是把Solaris拿来当补充,q是q掉Q?br />个h预测Q?0分,不会有太大发展,保持现状?br />
3. Java的发展方向?
Oracle在很多方面都很需要JavaQ这是好的一面?br />但是Java作ؓ一门技术,而不是一个品,需要有一个中立的代表QSUN以前的态度q是不错的。但O和小I昄是誓不两立的Q会不会DJava世界的分裂?
个h预测Q?0分,q个可能最N,实在不希望看C好的l果?br />
4. g部分
q是O没有的,但是不排除小O把它剥离卖出厅R但我又觉得q种可能性很,因ؓO最不缺的就是钱Q而且q是OdI叫板的一大资本?br />个h预测Q?0分,以后Oracle也可以玩total solution的游戏了?br />


----关系----
  和IBMQ这回真的成为死d头了
  和HP、DellQ选什么品还是由市场军_的,OM能强买强卖SUN的服务器吧,q好?br />  和RedHatQ小O和小U正在一hqUnbreakable LinuxQ我觉得O会l搞下去
  和SybaseQ这回搞得三大主操作系l(Windows、AIX、SolarisQ都有自q数据库了QSybase的数据库越来越隑֍?br />  和SAPQMicrosoftQ跟q次收购没太大关p,但震g定不?br />

Jcat 2009-04-21 10:27 发表评论
]]>试Oracle Jobhttp://www.tkk7.com/Jcat/archive/2009/04/16/265985.htmlJcatJcatThu, 16 Apr 2009 07:42:00 GMThttp://www.tkk7.com/Jcat/archive/2009/04/16/265985.htmlhttp://www.tkk7.com/Jcat/comments/265985.htmlhttp://www.tkk7.com/Jcat/archive/2009/04/16/265985.html#Feedback0http://www.tkk7.com/Jcat/comments/commentRss/265985.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/265985.html --最多同时运行的JOB个数Q如果太,JOB排队等待;如果?Q就没有JOB会被执行?/font>
SQL> show parameter job_queue_processes
NAME                                        TYPE          VALUE
--------------------------         ----------    -------------
job_queue_processes         integer          10


--一个什么也不做的SP

CREATE OR REPLACE PROCEDURE mytest
IS
BEGIN
    NULL;
END;

--一个往表里写数据的SP
CREATE OR REPLACE PROCEDURE mytest
IS
BEGIN
    insert into test_table values(...);
END;

--定时调用SPQ?0U(86400U?1天)
SQL> VARIABLE job_id NUMBER;
SQL> BEGIN
           -- :job_id中的冒号表示冒号后面的是变量Q类似SQL Server的@
           DBMS_JOB.SUBMIT(:job_id, 'mytest;', sysdate, 'sysdate + 10 / 86400') ;
           COMMIT;  --记得一定要commit?/font>
           END;

--查看刚才生成的Job ID
SQL> set serveroutput on
SQL> execute dbms_output.put_line(:job_id)  --q里倒是不需要commitQ直接execute好?/font>
318

--查看所有Job
 select * from user_jobs;

--删除Job
SQL> BEGIN
           DBMS_JOB.REMOVE(123); --123是Job ID
           COMMIT;
           END;


如果Job׃某种原因未能成功q行QOracle重?6ơ,之后如果q未能成功运行,被标记为Broken?br />


http://www.tkk7.com/Jcat/archive/2009/12/17/306315.html
?0g开始,DBMS_SCHEDULER 逐步会替换掉 DBMS_JOB

DBMS_JOB has been around forever, and now it is deprecated. Although DBMS_JOB still exists in 10g and 11g, but only for backward compatibility. No new features are being added to dbms_job and you will likely quickly run into its limitations. Oracle recommends the use of DBMS_SCHEDULER in releases 10g and up. DBMS_SCHEDULER is a much more robust package and fully-featured than DBMS_JOB. To use the DBMS_SCHEDULER package a user must be granted the CREATE JOB privilege.

After replace DBMS_JOB with DBMS_SCHEDULER for all jobs successful, the job_queue_processes parameter can now be set to zero.
SQL&gt; alter system set job_queue_processes=0;



Jcat 2009-04-16 15:42 发表评论
]]>
MySQL CMDhttp://www.tkk7.com/Jcat/archive/2009/03/27/262518.htmlJcatJcatFri, 27 Mar 2009 14:33:00 GMThttp://www.tkk7.com/Jcat/archive/2009/03/27/262518.htmlhttp://www.tkk7.com/Jcat/comments/262518.htmlhttp://www.tkk7.com/Jcat/archive/2009/03/27/262518.html#Feedback0http://www.tkk7.com/Jcat/comments/commentRss/262518.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/262518.htmld
  shell> mysql -u用户?-p密码

查看数据?/b>  mysql> show databases;
臛_会显C出两个数据库mysql和testQ这是系l自建的Q供大家l习用?/font>

使用数据?/b>  mysql> use 数据库名

查看?/b>  mysql> show tables;

查看表结?/b>  mysql> desc 表名;

备䆾数据?/b>  shell> mysqldump -uroot -p密码 数据库名 > 备䆾的文件\?br />

Jcat 2009-03-27 22:33 发表评论
]]>(Z) ?SQL_Trace 诊断Oracle中的问题http://www.tkk7.com/Jcat/archive/2008/12/19/247345.htmlJcatJcatFri, 19 Dec 2008 07:19:00 GMThttp://www.tkk7.com/Jcat/archive/2008/12/19/247345.htmlhttp://www.tkk7.com/Jcat/comments/247345.htmlhttp://www.tkk7.com/Jcat/archive/2008/12/19/247345.html#Feedback0http://www.tkk7.com/Jcat/comments/commentRss/247345.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/247345.htmlORA-00604: error occurred at recursive SQL level 1 .

关于Recursive SQL错误Q?br />我们知道Q当我们发出一条简单的命o以后QOracle数据库要在后台解析这条命令,q{换ؓOracle数据库的一pd后台操作Q这些后台操作统UCؓ递归SQL?br />比如create tableq样一条简单的DDL命oQOracle数据库在后台Q实际上要把q个命o转换为对于obj$Qtab$Qcol${底层表的插入操作。Oracle所作的工作可能比我们有时候想的要复杂的多.?br />
所以对于这L提示Q很多时候是没有丝毫用处的?br />
q时Q我们需要更详细的信息,sql_trace是一个好办法?br />sql_trace实际上就是Oracle内部事g10046的第一个别,即level=1。通过event 10046, 我们可以得到详细的数据库会话的信息,每个会话I竟在干什么,在等什么。通过对这个事件的学习Q我们可以深入的理解和调整Oracle?br />

l合eygle的文章整理的QSQL Trace更详l的用法误原文?/font>


----------

Event 10046是oracle用于pȝ性能分析时的一个最重要的事件。当Ȁz这个事件后Q将通知oracle kernelq踪会话的相兛_时信息,q写入到相应trace文g中。这些有用的信息主要包括sql是如何进行解析,l定变量的用情况,话中发生的等待事件等?br />Trace文g会存放?font color="#ff0000"> user_dump_dest
所指向的目录,如,C:\ent\oracle\admin\o10g01\udump

Event 10046可分成不同的U别QlevelQ,分别q踪记录不同E度的有用信息。对于这些不同的U别Q应当注意的是向下兼容的Q即高一U的trace信息包含低于此的所有信息?br />    level 1Q跟tsql语句Q包括解析、执行、提取、提交和回滚{?br />    level 4Q包括变量的详细信息
    level 8Q包括等待事?br />    level 12Q包括绑定变量与{待事g
其中Qlevel 1相当于打开了sql_trace?br />
在当前会话启用eventQ可以利用alter session + 事g名称 + levelQ?br />SQL> alter session set event ?0046 trace name context forever, level 12?

关闭当前会话的eventQ?br />SQL> alter session set event ?0046 trace name context off?

q里应当值得一提的是,TRACE消耗相当的pȝ资源Q因此我们在使用TRACE的时候应当慎重。对于正式的pȝQ应当只在必要的时候进行TRACE操作Qƈ且应当及时关闭?br />

Jcat 2008-12-19 15:19 发表评论
]]>
The meaning of Oracle's version numberhttp://www.tkk7.com/Jcat/archive/2008/11/17/241045.htmlJcatJcatMon, 17 Nov 2008 14:32:00 GMThttp://www.tkk7.com/Jcat/archive/2008/11/17/241045.htmlhttp://www.tkk7.com/Jcat/comments/241045.htmlhttp://www.tkk7.com/Jcat/archive/2008/11/17/241045.html#Feedback1http://www.tkk7.com/Jcat/comments/commentRss/241045.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/241045.html数字+字母
Q数字自然是大版本号Q?b>字母则是代表了这个版本的“中心思想?/b>

8iQ?998Q,9iQ?001Q:那时候正好互联网兴vQi׃表internetQ网l)

10gQ?003Q,11gQ?007Q:现在L分布式计,g׃表gridQ网|



另外Q还有个11iQ这Ҏ引vhQ其?1i是指Oracle EBSQE-Business Suite电子商务套gQ的版本P其实是Oracle ERP。(q好像跟Oracle Database没什么必然联p,我也不知道这个i代表什么)

q也说明Oracle不等于Oracle Database。^常我们说“Oracle”,一般都是指Oracle DatabaseQ当然这是它最著名的品;不过Q其实Oracle早就已经不是一家数据库厂商了,而是航母U厂商,东收西购Q啥都有了?/font>

我见q这L问题Q?/font>从版本命名来?i-9i-10g-11iQ是不是意味着grid只是昙花一玎ͼ”显然这是h了Oracle Database和Oracle ERP?/font>



----以下是一些参?---
In 1998, Oracle announced Oracle8i, which is sometimes referred to as Version 8.1 of the Oracle8 database. The i was added to denote added functionality supporting Internet deployment in the new version. Oracle9i followed, with Application Server available in 2000 and Database Server in 2001.

Oracle Database 10g was introduced in 2003; the g denotes Oracle's focus on emerging grid deployment models.

Oracle 11i refers to the Oracle ERP Application Suite (often called Oracle E-Business Suite) and really has nothing to do with the database. The latest release (12) will be referred to as 12i. The confusing part is that Oracle used to call its database "i" for "internet" in releases 8 and 9, but now calls the database "g" for "grid". So, to summarize, Oracle 11i refers to the apps and Oracle 11g refers to the database






Jcat 2008-11-17 22:32 发表评论
]]>Hash Hashhttp://www.tkk7.com/Jcat/archive/2008/07/18/215866.htmlJcatJcatFri, 18 Jul 2008 08:55:00 GMThttp://www.tkk7.com/Jcat/archive/2008/07/18/215866.htmlhttp://www.tkk7.com/Jcat/comments/215866.htmlhttp://www.tkk7.com/Jcat/archive/2008/07/18/215866.html#Feedback0http://www.tkk7.com/Jcat/comments/commentRss/215866.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/215866.html <What's Hash>

HashQ一般翻译做“散列”,也有直接韌为“哈希”的?br />
我们通常说的HashQ其实指的是Hash法Q即散列法Q:把Q意长度的输入Q通过Hash法Q变换成固定长度的输出(即Hash倹{散列|?br />
Hash法有多U实现Ş式,比如MD5、SHA1Q这里就不对法本nq行讨论了。重点谈谈Hash法的特性和作用吧:
    1QHash是一U压~映:散列值的长度通常q小于输入的长度Q比如emuleQQ意大是视频文gQ都可以映射成一个固定长度的字符Ԍ它就相当于这个文件的信息摘要Q?br />    2Q不同的输入可能会Hash成相同的输出Q这是一个小概率事gQ且采用安全性高的Hash法Ӟ两个不同的输入几乎不可能得到相同的Hashl果?br />    3Q与加密法不同QHash法是一个不可逆的单向函数Q不可能从散列值来唯一的确定输入倹{?br />


<What's Hash Table>

0. 在下面的讨论中,我们用C国这个例子:假设我们要做个存储结构,需要存储下来三国中的英雄,以及他们的详l信息。我们用他们的名字来作ؓ存储的关键|例如Q刘备,关羽Q张飞,ҎQ孙?..n?br />
1. 一般的?/b>
    name    age    w高    体重
    刘备    30    175    60
    关羽    28    190    80
    张飞    27    185    80
    ...n

q时Q如果我们想要查找某个英雄,需要一辚w历表Q一边对名字q行比较。它的时间复杂度为OQnQ?-U性阶?br />
ȝQ记录在l构中的相对位置和记录的关键字之间不存在定的关p,在结构中查找记录旉q行一pd和关键字的比较,查找的效率与比较ơ数密切相关?br />
2. 数组
    1Q通过地址的访问方式(数组Q:Array[2]Q这?是它的“物理”地址Q找?所对应的内Ҏ通过“直接定位”,而不是“遍历比较”。所以,在所有的U性数据结构中Q数l的定位速度最快。它的时间复杂度为OQ?Q?-常熟阶?br />
    q时Q我们会惻I那我们把???...nQ按?-2-3-...n的顺序放在一个数l里Q数l的内容是q个英雄的对象)不就可以直接定位了?
    arrayid    Qname    age    w高    体重Q?br />    1            Q刘备 ? 30    175    60Q?br />    2            Q关q? 28    190    80Q?br />    3            Q张飞 ? 27    185    80Q?br />    ...n

    2Q但是:
        aQ可你凭什么说?1Q关=2呢?Q显然不是叫你用拼音或者笔L序)
        bQ我们查扄时候,不可能用arrayid作ؓ查找条gQ那q查个P呀Q,怎样通过name=关羽Q“计”得到arrayid=2呢?


3. 散列?/b>Q其主要目的是用于解x据的快速定位问题,也即Q?font color="#ff1493">怎样通过关键字,计算Q而不是遍历比较)得到物理地址?/font>

1Q存放时
    HashQ刘备)=13
    HashQ关)=7
    HashQ张飞)=26
    ...n


    arrayid    Qname    age    w高    体重Q?br />    ...
    7            Q关q? 28    190    80Q?br />    ...
    13          Q刘备 ? 30    175    60Q?br />    ...
    26          Q张飞 ? 27    185    80Q?br />    ...n


    我们也可以看出:
    aQ?font color="#ff0000">散列
Q数据ƈ非紧凑的、按序存入的:我们可以先在13的位|存上刘备,再在7的位|存上关;有些位置q可能一直是I的?br />    bQ?font color="#ff0000">I间换时?/font>Q因为散列,昄数组的大要大于实际实际数据的数量。比如,即我们只存刘关?个hQ我们也需要一个至?6的数l?br />
2Q查找时Q就很简单了
    Aarry[HashQ关)]=Array[7]

3Q当然实际的hash法Q要比上q复杂,比如
    “把Key通过Hash法转换成一个整型数字,然后将该数字对数组长度q行取余Q取余结果就当作数组的下标,value存储在以该数字ؓ下标的数l空间里Q?br />    而当使用哈希表进行查询的时候,是再次使用哈希函数key转换为对应的数组下标Qƈ定位到该I间获取valueQ如此一来,可以充分利用到数组的定位性能q行数据定位。?br />
4QHash冲突Q前面说了,不同的输入是有可能hash成相同的输出?br />    如果HashQ关)=HashQ张飞)=250Q我们岂不是在存储过E中会遇到麻烦,怎么安排他们二位的地方呢?QM能让二位打一Ӟ谁赢了谁呆在那吧Q,q就需要一个解军_H的Ҏ?br />    先存储好了关,当张飞进入系l时会发现关已l是250了,那咱加一位,251得了。我们查扑ּ飞的时候也是,一?50不是张飞Q那加?Q就扑ֈ了?br />    更极端地Q如果这时HashQn云)=251Q张飞已l早早占了他的地方,那就再加1存到252呗。呵呵,q时我们会发玎ͼ当哈希函数冲H发生的机率很高Ӟ可能会有一英雄在250q个值后面扎堆排队。要命的是查扄时候,旉法复杂度早已不是OQ?Q了。所以我们说理想情况下哈希表的时间算法复杂度为OQ?Q?br />    q就是说哈希函数的编写是哈希表的一个关键问题,会涉及到一个存储值在哈希表中的统计分布。如果哈希函数已l定义好了,冲突的解军_成ؓ了改变系l性能的关键因素。其实还有很多种Ҏ来解军_H情况下的存储和查找问题Q不一定非要线性向后排队,如果有好的哈希表冲突的解x法也能很大程度上提高pȝ的效率?br />

FYIQ比较书面化的定义:
    理想的情冉|能直接找到需要的记录Q因此必d记录的存储位|和它的关键字之间徏立一定的对应关pfQ每个关键字和l构中一个唯一的存储位|相对应。因而查找时Q只需Ҏq个对应关系f扑ֈl定值K的像fQKQ。若l构中存在关键字和K相等的记录,则必定在fQKQ的存储位置上,由此不需要进行比较便可直接取得所查记录。在此,U这个对应关pf为哈希函敎ͼ按这个思想建立的表为哈希表Q又UCؓ杂凑法或散列法)?/font>


参考:
http://calmness.javaeye.com/blog/184465
http://blog.163.com/xx_snoopy/blog/static/12577162008426731299/



Jcat 2008-07-18 16:55 发表评论
]]>数据库范?/title><link>http://www.tkk7.com/Jcat/archive/2008/04/16/193422.html</link><dc:creator>Jcat</dc:creator><author>Jcat</author><pubDate>Wed, 16 Apr 2008 06:16:00 GMT</pubDate><guid>http://www.tkk7.com/Jcat/archive/2008/04/16/193422.html</guid><wfw:comment>http://www.tkk7.com/Jcat/comments/193422.html</wfw:comment><comments>http://www.tkk7.com/Jcat/archive/2008/04/16/193422.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Jcat/comments/commentRss/193422.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Jcat/services/trackbacks/193422.html</trackback:ping><description><![CDATA[ <b>1NF</b>Q属性单一Q不可再分(仅一个g一U|<br />很显Ӟ在当前的MRDBMS中,ȝ也不可能做出不符合第一范式的数据库Q因为RDBMS不允怽把数据库表的一列再分成二列或多列。实际上Q还真有q样的垃圾设计,我在某个目中遇刎ͼ?first_nameQmiddle_nameQlast_name攑֜一个字D늚Q最后想分都分不开Q完全折服?br /><br /><br /><b>2NF</b>Q消除了部分依赖Q部分依赖由复合主键DQ显然所有单主键的表都符?NFQ?br /><反例> 一个表<br />Q学P 评名称Q→Q姓名, q龄Q?成WQ?学分Q?br /><部分依赖><br />Q课E名Uͼ→(学分Q?br />Q学P→(姓名Q?q龄Q?br /><Ҏ> 改ؓ三个?br />Q学P→(姓名Q?q龄Q?br />Q课E名Uͼ→(学分Q?br />Q学P评名称Q→Q成l)<br /><br /><br /><b>3NF</b>Q消除了传递依?br /><反例><br />Q学P→(姓名Q?q龄Q?学院Q?学院地点Q?学院电话Q?br /><传递依?gt;<br />Q学P→(学院Q→Q学院地点, 学院电话Q?br /><Ҏ> 改ؓ两个?br />Q学P→(姓名Q年龄,学院Q?br />Q学院)→(地点Q电话)<img src ="http://www.tkk7.com/Jcat/aggbug/193422.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Jcat/" target="_blank">Jcat</a> 2008-04-16 14:16 <a href="http://www.tkk7.com/Jcat/archive/2008/04/16/193422.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(z) 存储定whttp://www.tkk7.com/Jcat/archive/2008/04/07/191210.htmlJcatJcatMon, 07 Apr 2008 03:41:00 GMThttp://www.tkk7.com/Jcat/archive/2008/04/07/191210.htmlhttp://www.tkk7.com/Jcat/comments/191210.htmlhttp://www.tkk7.com/Jcat/archive/2008/04/07/191210.html#Feedback0http://www.tkk7.com/Jcat/comments/commentRss/191210.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/191210.html
1KB=2(10)B=1024BQ?括号中的数字?的指?卛_次?
1MB=2(10)KB=1024KB=2(20)BQ?br />1GB=2(10)MB=1024MB=2(30)B?br />1TB=2(10) GB=1024GB=2(40)B
1PB=2(10) TB=1024TB=2(50)B
1EB=2(10) PB=1024PB=2(60)B

1Byte相當g個英文字母?br />Kilobyte(KB)=1024B相當g則短故事的內容?br />Megabyte(MB)=l024KB相當g則短小說的文字內容?br />Gigabyte(GB)=1024MB相當D多芬W五樂章交響曲的樂譜內容?br />Terabyte(TB)=1024GB相當g家大型醫院中所有的X光圖片資a量?br />Petabyte(PB)=l024TB相當?0%的全學術研I圖曔R藏書資訊內容?br />Exabyte (EB)=1024PBQ?EB相當D今全世界人類所過的話語?br />Zettabyte(ZB)=1024EB如同全世界v灘上的沙子數量總和?br />Yottabyte(YB)=1024ZB相當?000位h體內的微細胞總和?br />

厂商刉硬盘时Q?1K=1000BQ?M=1000KQ?G=1000M
所有标80G的硬盘,拿到电脑里就变小了(除以3?.024Q:74.5 = 80 ÷ 1.07374

-----------

1 Byte = 8 bitQ??q制敎ͼ2?ơ方Q?56

一般网l的速度是以“位每秒”(bpsQ来表示。注意,是小写bQ位Q,而不是大写BQ字节)。所以,昄的网l速度是需要除8?/font>?br />比如我的230K的无U猫Q也是说它一U钟可传?30K个bitQ其实也?8K个字节,而且q?8Kq只是理惛_|最快确实达到过20KQ一般能?K都笑了?img src ="http://www.tkk7.com/Jcat/aggbug/191210.html" width = "1" height = "1" />

Jcat 2008-04-07 11:41 发表评论
]]>
Oracle LOBhttp://www.tkk7.com/Jcat/archive/2008/03/27/188959.htmlJcatJcatThu, 27 Mar 2008 03:12:00 GMThttp://www.tkk7.com/Jcat/archive/2008/03/27/188959.htmlhttp://www.tkk7.com/Jcat/comments/188959.htmlhttp://www.tkk7.com/Jcat/archive/2008/03/27/188959.html#Feedback0http://www.tkk7.com/Jcat/comments/commentRss/188959.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/188959.html    随着C会的发展,在现代信息系l的开发中Q需要存储的已不仅仅是简单的文字信息Q同时还包括一些图片和韛_资料或者是长的文本。比如开发一套旅怿息系l,每一个景炚w有丰富的囄、音像资料和大量的文字介l。这p求后台数据库要有存储q些数据的能力?br />    ORACLE自Oracle8i起通过提供LOB字段实现了该功能?br />
<LOB分类>
    LOBQ即Large ObjectsQ大对象Q,是用来存储大量的二进制和文本数据的一U数据类型(一个LOB字段可存储可多达4GB的数据)。它又分ZU类型:内部LOB和外部LOB?br />    1.内部LOB数据以字节的形式存储在数据库的内部。因而,内部LOB的许多操作都可以参与事务Q也可以像处理普通数据一样对其进行备份和恢复操作。Oracle支持三种cd的内部LOBQ?br />    1QBLOBQ二q制数据Q?br />    2QCLOBQ单字节字符数据Q?br />    3QNCLOBQ多字节国家字符数据Q?br />    其中CLOB和NCLOBcd适用于存储超长的文本数据QBLOB字段适用于存储大量的二进制数据,如图像、视频、音频等?br />
    2.目前只支持一U外部LOBcdQ即BFILEcd。在数据库内Q该cd仅存储数据在操作pȝ中的位置信息Q而数据的实体以外部文件的形式存在于操作系l的文gpȝ中。因而,该类型所表示的数据是只读的,不参与事务?br />    该类型可帮助用户理大量的由外部E序讉K的文件?br />

<LOB存储方式>
    LOB׃部分l成Q数据(|和指向数据的指针Q定位器Q。尽g表自w一起存储,但是一个LOB列ƈ不包含|仅有它的定位指针。更q一步,Z使用大对象,E序必须声明定位器类型的本地变量?br />
    当内部LOB被创建时Q定位器被存攑֜列中QD存放在LOBD中QLOBD|在数据库内部表的一部分?br />    当BFILE被创建时Q定位器如同q_一样存储在列中Q但是它的D存储在数据库之外的操作系l文件中?img src ="http://www.tkk7.com/Jcat/aggbug/188959.html" width = "1" height = "1" />

Jcat 2008-03-27 11:12 发表评论
]]>
Sybase PD vs PBhttp://www.tkk7.com/Jcat/archive/2008/03/10/185127.htmlJcatJcatMon, 10 Mar 2008 08:55:00 GMThttp://www.tkk7.com/Jcat/archive/2008/03/10/185127.htmlhttp://www.tkk7.com/Jcat/comments/185127.htmlhttp://www.tkk7.com/Jcat/archive/2008/03/10/185127.html#Feedback0http://www.tkk7.com/Jcat/comments/commentRss/185127.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/185127.html

PowerDesigner


Enterprise architecture modeling and design solution

Build or re-engineer your applications using PowerDesigner, Sybase's all-in-one enterprise modeling and design solution.

PowerDesigner 12.5, a model-driven approach to aligning business and IT, is an enterprise modeling and design solution that helps you implement effective enterprise architecture. It brings powerful analysis and design techniques to your development lifecycle.

PowerDesignerQ数据库建模工具Q与ERWin{工兯v名,它的归类?Modeling & Metadata


PowerBuilder


A 4GL rapid application development tool

Accelerate development with PowerBuilder, the market’s favorite 4GL RAD tool.

PowerBuilder lets you stay ahead of the development curve and offers the flexibility to develop for your most productive platform. PowerBuilder 11.1 incorporates new and emerging technologies that let you to build traditional two-tier applications, distributed applications, Web applications and Smart Clients with speed and ease. And with this new release, you can easily deploy your existing PowerBuilder applications to .NET. Get started with PowerBuilder 11.1 today, and see how quickly and easily you can build data-driven applications.


PowerBuilderQ是公司随数据库产品的一个前台开发工P专门开发应用程序的。它的归cL Development


Jcat 2008-03-10 16:55 发表评论
]]>
Sybase的三大?/title><link>http://www.tkk7.com/Jcat/archive/2008/03/10/185113.html</link><dc:creator>Jcat</dc:creator><author>Jcat</author><pubDate>Mon, 10 Mar 2008 08:33:00 GMT</pubDate><guid>http://www.tkk7.com/Jcat/archive/2008/03/10/185113.html</guid><wfw:comment>http://www.tkk7.com/Jcat/comments/185113.html</wfw:comment><comments>http://www.tkk7.com/Jcat/archive/2008/03/10/185113.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Jcat/comments/commentRss/185113.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Jcat/services/trackbacks/185113.html</trackback:ping><description><![CDATA[ <table style="border: 0pt none ; border-spacing: 0px; vertical-align: top; background-color: rgb(255, 255, 255); width: 100%; border-collapse: collapse;"> <tbody> <tr> <td style="text-align: left; vertical-align: bottom;"> <h1 class="header_title">Adaptive Server Enterprise</h1> </td> </tr> <tr> <td style="height: 10px;"> <br /> </td> </tr> <tr> <td style="height: 15px; text-align: left; vertical-align: bottom;"> <h2 class="header_description header_h2"> Mission-critical enterprise data management</h2> </td> </tr> </tbody> </table> <!-- HtmlOnly - content --> <p> <strong> <em>Adaptive Server Enterprise is the mission-critical data management system for taming the information explosion.</em> </strong> </p> <p> Adaptive Server Enterprise (ASE) has long been noted for its reliability, low total cost of ownership and superior performance. With its latest version, ASE 15, it has been dramatically enhanced to deliver capabilities urgently needed by enterprises today. It lays the long-term foundation for strategic agility and continuing innovation in mission-critical environments. ASE 15 provides unique security options and a host of other new features that boost performance while reducing operational costs and risk. Find out how you can exploit new technologies such as grids and clusters, service-oriented architectures and real-time messaging. <br /></p> <font color="#ffa500">ASEQ企业及数据库服务器Q适合用于企业UOLTPQ和混合负蝲Q环? </font> <br /> <br /> <br /> <table style="border: 0pt none ; border-spacing: 0px; vertical-align: top; background-color: rgb(255, 255, 255); width: 100%; border-collapse: collapse;"> <tbody> <tr> <td style="text-align: left; vertical-align: bottom;"> <h1 class="header_title">SQL Anywhere</h1> </td> </tr> <tr> <td style="height: 10px;"> <br /> </td> </tr> <tr> <td style="height: 15px; text-align: left; vertical-align: bottom;"> <h2 class="header_description header_h2">Sybase iAnywhere - Mobile and Embedded Database</h2> </td> </tr> </tbody> </table> <!-- HtmlOnly - content --> <p> <strong> <em>The industry-leading mobile and embedded database, providing data management and exchange technologies that enable applications for frontline environments. </em> </strong> </p> <p> SQL Anywhere provides data management and exchange technologies designed for database-powered applications that operate in frontline environments without onsite IT support. It offers enterprise-caliber features in a database that is easily embedded and widely deployed in server, desktop, remote office and mobile applications. <br /></p> <font color="#808080"> <font color="#ffa500">ASAQAdaptive Server AnywhereQ:轻量U数据库服务器,适合用于Ud计算QPDA、带操作pȝ的手机等Q?嵌入式计(POS机、\由器{)Q和工作lOLTP环境Q特别是Ud计算/嵌入式计。(我估计ASA现在改名叫SQL Anywhere了)</font> <br /> </font> <br /> <p> <br /> </p> <table style="border: 0pt none ; border-spacing: 0px; vertical-align: top; background-color: rgb(255, 255, 255); width: 100%; border-collapse: collapse;"> <tbody> <tr> <td style="text-align: left; vertical-align: bottom;"> <h1 class="header_title">Sybase IQ</h1> </td> </tr> <tr> <td style="height: 10px;"> <br /> </td> </tr> <tr> <td style="height: 15px; text-align: left; vertical-align: bottom;"> <h2 class="header_description header_h2">Highly optimized business intelligence, analytics and data warehousing</h2> </td> </tr> </tbody> </table> <!-- HtmlOnly - content --> <p> <strong> <em>The smartest way to deliver high-performance enterprise analytics and data warehousing with dramatically faster results at a low cost.</em> </strong> </p> <p> Sybase IQ is a highly optimized analytics server designed specifically to deliver faster results for mission-critical business intelligence, data warehouse and reporting solutions on any standard hardware and operating systems. It works with diverse data ?including unstructured data ?and diverse data sources to deliver unsurpassed query performance at the lowest price/performance available. </p> <font color="#ffa500">ASIQQ企业数据仓库数据库服务器Q适合于DSS环境中的企业U数据仓库和数据集市 </font> <br /> <br /> <br /> <br /> <br /> <font color="#ee82ee">谨以此篇记录我开始Sybase之旅的第一?/font> <br /> <img src ="http://www.tkk7.com/Jcat/aggbug/185113.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Jcat/" target="_blank">Jcat</a> 2008-03-10 16:33 <a href="http://www.tkk7.com/Jcat/archive/2008/03/10/185113.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(z) SQL Server vs Oracle 存储q程语法转换http://www.tkk7.com/Jcat/archive/2007/09/13/144886.htmlJcatJcatThu, 13 Sep 2007 07:42:00 GMThttp://www.tkk7.com/Jcat/archive/2007/09/13/144886.htmlhttp://www.tkk7.com/Jcat/comments/144886.htmlhttp://www.tkk7.com/Jcat/archive/2007/09/13/144886.html#Feedback0http://www.tkk7.com/Jcat/comments/commentRss/144886.htmlhttp://www.tkk7.com/Jcat/services/trackbacks/144886.html

1.  top N 问题
在sql server中,top N 问题很容易解冻I如下例:从表stbdbdj中选取排序后的W一行数据进行赋倹{?/span>

在sql中解x法很单,在select 后面加上Qtop n 卛_Q其?n 代表行数?

select top 1 @entrust_date = entrust_date,
@entrust_no = entrust_no
from run2k..stbdbdj
where entrust_date = @date
and entrust_no > @entrust_no_q
and report_status = '1'
order by entrust_date,entrust_noQ?/span>


在oracle中,没有top nq个命oQ我们采取把两层查询方式解决Q首先,把需要查扄字段值直接进行排序,然后在外面进行第二次查询Qƈ使用rownum军_行数?br />
select entrust_date,entrust_no
into @entrust_date@entrust_no
from ( select entrust_date,entrust_no
from stbdbdj
where entrust_date = @date
and entrust_no > @entrust_no_q
and report_status = '1'
order by entrust_date,entrust_no )
where rownumber <=1 ;



2. 如何解决l果集返回时Q? 和变量同时存在的问题
下面例子表示Q在用游标返回结果集Ӟ同时q回一个变量的|?/span>
sql server 中代码如下所C:
select a.*,b.organ_id
from run2k..stbbp a,run2k..stkaccoarg b
where a.date = @entrust_date
and a.serial_no = @serial_no
and a.branch_no = b.branch_no
and a.exchange_type = b.exchange_type;

但在oracle中却没有q种用法Q?’后面必需跟from。解x法如下:
1Q我们可以把 '*' 变成所需要选择的字D,是说采用表中需要显C的全部字段表示*?br /> 例如Q?br />

open  p_cursor  for
select  branch_no,...,organ_id
where ...

2Q如果这个字D|者说变量是从另外一张表中取出来的,同样可以采用下面的办法?br />
open p_cursor for
select a.*,b.organ_id;
from stkaccoentrust a, stkaccoarg b
where a.branch_no = b.branch_no
and a.exchange_type = b.exchange_type
and a.init_date = v_entrust_date
and a.serial_no = v_serial_no;

3. 外联接问?/b>
sql
<---> oracle
a = *b <---> a(+)= b
a *= b <---> a = b(+)

4. 多条记录求和问题
select sum(A+B+C)
into D
from ...
where ...
group by ...

单条记录求和
select A+B
into C
from ...
where ...

5. case 问题转换
sql:
case client_status
when '0' then '正常'
when '1' then 'ȝ'
when '2' then '挂失'
when '3' then '销?
else '未知'
end

oracle:
decode(client_status,'0','正常Q?1','ȝ','2','挂失','3','销?,'未知');

6. char ?varchar cd区别Q?
char N补空|varchar N不补I格?b>

7. convert转换问题

sql
---> oracle
convert(char(5),branch_no) ---> to_char(branch_no,'99999')
convert(char(19),count(*)) ---> lpad(to_char(count(*)),19)
convert(varchar(20),serial_no) ---> to_char(serial_no,'999...9' )
d20?
lpad(to_char(serial_no),20)


8. charindex(substring,string) ---> instr(string,substring)
子串 父串 ---> 父串 子串



Jcat 2007-09-13 15:42 发表评论
]]>
վ֩ģ壺 ëƬѹۿ| Ʒަv| ޾Ʒþ| vvaþ| aѹۿþav| Ƶ߲| ձxxwwxxwwƵ| ֳִˬֳƵ| ޹| Ƶվ| 99þ99ֻѵľƷ| øƵ| ޾Ʒһ| ޾þһ| | þþþþaŷa| õ߳| ۺѾƷþþ| ޹ۺϾƷĵһ| Ůһ| žžžƷƵ| ƷѹۿƵ| ѧһ| ޹Ʒva߲| ˬˬձƵ| պavþþƷ| þþþþþþþùƷ| avר| Ƶһ| þ޾Ʒ벥| ȾþþƷƵ| **aaaaaëƬ| ߾ƷƵѹۿ| ޾ƷŮþþþþþ| ɫƵ߹ۿ| һĻ| һԿĿ| þþþþþƷѿSSS| ĻӰ| ԻƵ߿Ƭ | žŮվ|