??xml version="1.0" encoding="utf-8" standalone="yes"?>高清福利在线观看,欧日韩在线观看,欧美69xxxxxhttp://www.aygfsteel.com/sailor/在一|情q日子里,谁能说得清是苦是甜,只知道确定了׃无反?/description>zh-cnTue, 17 Jun 2025 18:54:43 GMTTue, 17 Jun 2025 18:54:43 GMT60Oracle Partition 分区详细ȝ(?http://www.aygfsteel.com/sailor/articles/385814.htmlsailorsailorMon, 20 Aug 2012 02:00:00 GMThttp://www.aygfsteel.com/sailor/articles/385814.htmlhttp://www.aygfsteel.com/sailor/comments/385814.htmlhttp://www.aygfsteel.com/sailor/articles/385814.html#Feedback0http://www.aygfsteel.com/sailor/comments/commentRss/385814.htmlhttp://www.aygfsteel.com/sailor/services/trackbacks/385814.html        1.表空间及(qing)分区表的概念
        2.表分区的具体作用
        3.表分区的优缺?br />        4.表分区的几种cd?qing)操作方?br />        5.对表分区的维护性操?
(1.) 表空间及(qing)分区表的概念
表空_(d)(x) 是一个或多个数据文g的集合,所有的数据对象都存攑֜指定的表I间中,但主要存攄是表Q所以称作表I间?br />分区表:(x)
当表中的数据量不断增大,查询数据的速度׃(x)变慢Q应用程序的性能׃(x)下降Q这时就应该考虑对表q行分区。表q行分区后,逻辑上表仍然是一张完整的表,只是表中的数据在物理上存放到多个表I间(物理文g?Q这h询数据时Q不至于每次都扫描整张表?br />
( 2).表分区的具体作用
Oracle的表分区功能通过改善可管理性、性能和可用性,从而ؓ(f)各式应用E序带来了极大的好处。通常Q分区可以某些查询以及(qing)l护操作的性能大大提高。此?分区q可以极大简化常见的理dQ分区是构徏千兆字节数据pȝ或超高可用性系l的关键工具?br />
分区功能能够表、烦(ch)引或索引l织表进一步细分ؓ(f)D,q些数据?/a>对象的段叫做分区。每个分区有自己的名Uͼq可以选择自己的存储特性。从数据库管理员的角度来看,一个分区后的对象具有多个段Q这些段既可q行集体理Q也可单独管理,q就使数据库理员在理分区后的对象时有相当大的灉|性。但是,从应用程序的角度来看Q分区后的表与非分区表完全相同,使用SQL DML 命o(h)讉K分区后的表时Q无需M修改?br />
什么时候用分Q?br />1、表的大超q?GB?br />2、表中包含历史数据,新的数据被增加都新的分区中?br />
(3).表分区的优缺?br />表分区有以下优点Q?br />1、改善查询性能Q对分区对象的查询可以仅搜烦(ch)自己兛_的分区,提高?gu)(g)索速度?br />2、增强可用性:(x)如果表的某个分区出现故障Q表在其他分区的数据仍然可用Q?br />3、维护方便:(x)如果表的某个分区出现故障Q需要修复数据,只修复该分区卛_Q?br />4、均衡I/OQ可以把不同的分区映到盘以^衡I/OQ改善整个系l性能?br />
~点Q?br />分区表相养I(x)已经存在的表没有Ҏ(gu)可以直接转化为分。不q?a class="keylink" target="_blank">Oracle
提供了在UK定义表的功能?br />
(4).表分区的几种cd?qing)操作方?br /> 一.范围分区Q?br />范围分区数据基于范围映到每一个分区,q个范围是你在创建分区时指定的分区键军_的。这U分区方式是最为常用的Qƈ且分区键l常采用日期。D个例子:(x)你可能会(x)销售数据按照月份进行分区?br />当用范围分区时Q请考虑以下几个规则Q?br />1、每一个分区都必须有一个VALUES LESS THEN子句Q它指定了一个不包括在该分区中的上限倹{分区键的Q何值等于或者大于这个上限值的记录都会(x)被加入到下一个高一些的分区中?br />2、所有分区,除了W一个,都会(x)有一个隐式的下限|q个值就是此分区的前一个分区的上限倹{?br />3、在最高的分区中,MAXVALUE被定义。MAXVALUE代表了一个不定的倹{这个值高于其它分Z的Q何分区键的|也可以理解ؓ(f)高于M分区中指定的VALUE LESS THEN的|同时包括I倹{?br />例一Q?br />假设有一个CUSTOMER表,表中有数?00000行,我们此表通过CUSTOMER_IDq行分区Q每个分区存?00000行,我们每个分Z存到单独的表I间中,q样数据文g可以跨多个物理磁盘。下面是创徏表和分区的代码,如下Q?br />CREATE TABLE CUSTOMER
(
    CUSTOMER_ID NUMBER NOT NULL PRIMARY KEY,
    FIRST_NAME  VARCHAR2(30) NOT NULL,
    LAST_NAME   VARCHAR2(30) NOT NULL,
    PHONE        VARCHAR2(15) NOT NULL,
    EMAIL        VARCHAR2(80),
    STATUS       CHAR(1)
)
PARTITION BY RANGE (CUSTOMER_ID)
(
    PARTITION CUS_PART1 VALUES LESS THAN (100000) TABLESPACE CUS_TS01,
    PARTITION CUS_PART2 VALUES LESS THAN (200000) TABLESPACE CUS_TS02
)
例二Q按旉划分
CREATE TABLE ORDER_ACTIVITIES
(
    ORDER_ID      NUMBER(7) NOT NULL,
    ORDER_DATE    DATE,
    TOTAL_AMOUNT NUMBER,
    CUSTOTMER_ID NUMBER(7),
    PAID           CHAR(1)
)
PARTITION BY RANGE (ORDER_DATE)
(
  PARTITION ORD_ACT_PART01 VALUES LESS THAN (TO_DATE('01- MAY -2003','DD-MON-YYYY')) TABLESPACEORD_TS01,
  PARTITION ORD_ACT_PART02 VALUES LESS THAN (TO_DATE('01-JUN-2003','DD-MON-YYYY')) TABLESPACE ORD_TS02,
  PARTITION ORD_ACT_PART02 VALUES LESS THAN (TO_DATE('01-JUL-2003','DD-MON-YYYY')) TABLESPACE ORD_TS03
)
例三QMAXVALUE
CREATE TABLE RangeTable
(
  idd   INT PRIMARY KEY ,
  iNAME VARCHAR(10),
  grade INT
)
PARTITION  BY  RANGE (grade)
(
      PARTITION  part1 VALUES  LESS  THEN (1000) TABLESPACE  Part1_tb,
      PARTITION  part2 VALUES  LESS  THEN (MAXVALUE) TABLESPACE  Part2_tb
);

?列表分区Q?br />该分区的特点是某列的值只有几个,Zq样的特Ҏ(gu)们可以采用列表分区?br />例一
CREATE TABLE PROBLEM_TICKETS
(
    PROBLEM_ID   NUMBER(7) NOT NULL PRIMARY KEY,
    DESCRIPTION  VARCHAR2(2000),
    CUSTOMER_ID  NUMBER(7) NOT NULL,
    DATE_ENTERED DATE NOT NULL,
    STATUS       VARCHAR2(20)
)
PARTITION BY LIST (STATUS)
(
      PARTITION PROB_ACTIVE   VALUES ('ACTIVE') TABLESPACE PROB_TS01,
      PARTITION PROB_INACTIVE VALUES ('INACTIVE') TABLESPACE PROB_TS02
例二
CREATE  TABLE  ListTable
(
    id    INT  PRIMARY  KEY ,
    name  VARCHAR (20),
    area  VARCHAR (10)
)
PARTITION  BY  LIST (area)
(
    PARTITION  part1 VALUES ('guangdong','beijing') TABLESPACE  Part1_tb,
    PARTITION  part2 VALUES ('shanghai','nanjing')  TABLESPACE  Part2_tb
);
)

?散列分区Q?br />q类分区是在列g使用散列法Q以定行攑օ哪个分区中。当列的值没有合适的条gӞ使用散列分区?br />散列分区为通过指定分区~号来均匀分布数据的一U分区类型,因ؓ(f)通过在I/O讑֤上进行散列分区,使得q些分区大小一致?br />例一Q?br />CREATE TABLE HASH_TABLE
(
  COL NUMBER(8),
  INF VARCHAR2(100)
)
PARTITION BY HASH (COL)
(
  PARTITION PART01 TABLESPACE HASH_TS01,
  PARTITION PART02 TABLESPACE HASH_TS02,
  PARTITION PART03 TABLESPACE HASH_TS03
)
写:(x)
CREATE TABLE emp
(
    empno NUMBER (4),
    ename VARCHAR2 (30),
    sal   NUMBER
)
PARTITION BY  HASH (empno) PARTITIONS 8
STORE IN (emp1,emp2,emp3,emp4,emp5,emp6,emp7,emp8);

hash分区最主要的机制是Ҏ(gu)hash法来计具体某条纪录应该插入到哪个分区?hash法中最重要的是hash函数QOracle中如果你要用hash分区Q只需指定分区的数量即可。徏议分区的数量采用2的nơ方Q这样可以得各个分区间数据分布更加均匀?br />
?l合范围散列分区
q种分区是基于范围分区和列表分区Q表首先按某列进行范围分区,然后再按某列q行列表分区Q分Z中的分区被称为子分区?br />CREATE TABLE SALES
(
PRODUCT_ID VARCHAR2(5),
SALES_DATE DATE,
SALES_COST NUMBER(10),
STATUS VARCHAR2(20)
)
PARTITION BY RANGE(SALES_DATE) SUBPARTITION BY LIST (STATUS)
(
   PARTITION P1 VALUES LESS THAN(TO_DATE('2003-01-01','YYYY-MM-DD'))TABLESPACE rptfact2009
          (
              SUBPARTITION P1SUB1 VALUES ('ACTIVE') TABLESPACE rptfact2009,
              SUBPARTITION P1SUB2 VALUES ('INACTIVE') TABLESPACE rptfact2009
          ),
   PARTITION P2 VALUES LESS THAN (TO_DATE('2003-03-01','YYYY-MM-DD')) TABLESPACE rptfact2009
          (
              SUBPARTITION P2SUB1 VALUES ('ACTIVE') TABLESPACE rptfact2009,
              SUBPARTITION P2SUB2 VALUES ('INACTIVE') TABLESPACE rptfact2009
          )
)

?复合范围散列分区Q?br />q种分区是基于范围分区和散列分区Q表首先按某列进行范围分区,然后再按某列q行散列分区?br />create table dinya_test
(
transaction_id number primary key,
item_id number(8) not null,
item_description varchar2(300),
transaction_date date
)
partition by range(transaction_date)subpartition by hash(transaction_id)  subpartitions 3 store in (dinya_space01,dinya_space02,dinya_space03)
(
     partition part_01 values less than(to_date(‘2006-01-01’,’yyyy-mm-dd’)),
     partition part_02 values less than(to_date(‘2010-01-01’,’yyyy-mm-dd’)),
     partition part_03 values less than(maxvalue)
);

(5).有关表分区的一些维护性操作:(x)
一、添加分?br />以下代码lSALES表添加了一个P3分区
ALTER TABLE SALES ADD PARTITION P3 VALUES LESS THAN(TO_DATE('2003-06-01','YYYY-MM-DD'));
注意Q以上添加的分区界限应该高于最后一个分区界限?br />以下代码lSALES表的P3分区d了一个P3SUB1子分?br />ALTER TABLE SALES MODIFY PARTITION P3 ADD SUBPARTITION P3SUB1 VALUES('COMPLETE');
二、删除分?br />以下代码删除了P3表分区:(x)
ALTER TABLE SALES DROP PARTITION P3;
在以下代码删除了P4SUB1子分区:(x)
ALTER TABLE SALES DROP SUBPARTITION P4SUB1;
注意Q如果删除的分区是表中唯一的分区,那么此分区将不能被删除,要想删除此分区,必须删除表?br />三、截断分?br />截断某个分区是指删除某个分区中的数据Qƈ不会(x)删除分区Q也不会(x)删除其它分区中的数据。当表中即只有一个分区时Q也可以截断该分区。通过以下代码截断分区Q?br />ALTER TABLE SALES TRUNCATE PARTITION P2;
通过以下代码截断子分区:(x)
ALTER TABLE SALES TRUNCATE SUBPARTITION P2SUB2;
四、合q分?br />合ƈ分区是将盔R的分区合q成一个分区,l果分区采用较高分区的界限Q值得注意的是Q不能将分区合ƈ到界限较低的分区。以下代码实CP1 P2分区的合qӞ(x)
ALTER TABLE SALES MERGE PARTITIONS P1,P2 INTO PARTITION P2;
五、拆分分?br />拆分分区一个分区拆分两个新分区Q拆分后原来分区不再存在。注意不能对HASHcd的分行拆分?br />ALTER TABLE SALES SBLIT PARTITION P2 AT(TO_DATE('2003-02-01','YYYY-MM-DD')) INTO (PARTITION P21,PARTITION P22);
六、接合分?coalesca)
l合分区是将散列分区中的数据接合到其它分ZQ当散列分区中的数据比较大时Q可以增加散列分区,然后q行接合Q值得注意的是Q接合分区只能用于散列分Z。通过以下代码q行接合分区Q?br />ALTER TABLE SALES COALESCA PARTITION;
七、重命名表分?br />以下代码P21更改为P2
ALTER TABLE SALES RENAME PARTITION P21 TO P2;
八、相x?br />跨分区查?br />select sum( *) from
(select count(*) cn from t_table_SS PARTITION (P200709_1)
union all
select count(*) cn from t_table_SS PARTITION (P200709_2)
);
查询表上有多分?br />SELECT * FROM useR_TAB_PARTITIONS WHERE TABLE_NAME='tableName'
查询索引信息
select object_name,object_type,tablespace_name,sum(value)
from v$segment_statistics
where statistic_name IN ('physical reads','physical write','logical reads')and object_type='INDEX'
group by object_name,object_type,tablespace_name
order by 4 desc

--昄数据库所有分的信息:(x)
select * from DBA_PART_TABLES

--昄当前用户可访问的所有分信息:
select * from ALL_PART_TABLES

--昄当前用户所有分的信息:(x)
select * from USER_PART_TABLES

--昄表分Z?昄数据库所有分的详l分Z息:(x)
select * from DBA_TAB_PARTITIONS

--昄当前用户可访问的所有分的详l分Z息:(x)
select * from ALL_TAB_PARTITIONS

--昄当前用户所有分的详l分Z息:(x)
select * from USER_TAB_PARTITIONS

--昄子分Z?昄数据库所有组合分的子分区信息Q?br />select * from DBA_TAB_SUBPARTITIONS

--昄当前用户可访问的所有组合分的子分区信息Q?br />select * from ALL_TAB_SUBPARTITIONS

--昄当前用户所有组合分的子分区信息Q?br />select * from USER_TAB_SUBPARTITIONS

--昄分区?昄数据库所有分的分区列信息Q?br />select * from DBA_PART_KEY_COLUMNS

--昄当前用户可访问的所有分的分区列信息Q?br />select * from ALL_PART_KEY_COLUMNS

--昄当前用户所有分的分区列信息Q?br />select * from USER_PART_KEY_COLUMNS

--昄子分区列 昄数据库所有分的子分区列信息:(x)
select * from DBA_SUBPART_KEY_COLUMNS

--昄当前用户可访问的所有分的子分区列信息:(x)
select * from ALL_SUBPART_KEY_COLUMNS

--昄当前用户所有分的子分区列信息:(x)
select * from USER_SUBPART_KEY_COLUMNS

--怎样查询出oracle数据库中所有的的分
select * from user_tables a where a.partitioned='YES'

--删除一个表的数据是
truncate table table_name;

--删除分区表一个分区的数据?br />alter table table_name truncate partition p5;


【PS】:(x)当update更改数据所属分区时Q必赋予表row movement权限?br />alter table test_partition_tab enable/disable row movement;
update分区字段Q改变所属分区,数据在内部变化是l过了源数据插入新分区、新数据更新、源老数据删除的步骤Q因此rowid会(x)改变Q数据烦(ch)引也重走?

sailor 2012-08-20 10:00 发表评论
]]>
Oracle旉相关http://www.aygfsteel.com/sailor/articles/366783.htmlsailorsailorMon, 19 Dec 2011 09:29:00 GMThttp://www.aygfsteel.com/sailor/articles/366783.htmlhttp://www.aygfsteel.com/sailor/comments/366783.htmlhttp://www.aygfsteel.com/sailor/articles/366783.html#Feedback0http://www.aygfsteel.com/sailor/comments/commentRss/366783.htmlhttp://www.aygfsteel.com/sailor/services/trackbacks/366783.htmlOracle旉相关-(求timestampcd的时间差Q?/a>

TIMESTAMP数据cdQ?/strong>是DATE的扩展,可以存储q、月、日、小时、分钟、秒Q同时还可以存储U的数部分?/p>

通过to_timestamp函数date型{成这U类型,来看看它的Ş?/p>

详见代码Q?/p>

Sql代码 复制代码 收藏代码
  1. SELECT TO_TIMESTAMP('2009-7-30','yyyy-mm-dd')   
  2.   FROM dual  
SELECT TO_TIMESTAMP('2009-7-30','yyyy-mm-dd')
  FROM dual

 
l果为:(x)30-7?-09 12.00.00.000000000 上午

 

timestamp以日期格式输C?/strong> Q?/p>

Sql代码 复制代码 收藏代码
  1.  select TO_CHAR(to_timestamp('2009-7-30','yyyy-mm-dd hh24:mi:ss') ,'YYYY-MM-DD HH24:MI:SS')   
  2.   from dual  
 select TO_CHAR(to_timestamp('2009-7-30','yyyy-mm-dd hh24:mi:ss') ,'YYYY-MM-DD HH24:MI:SS')
  from dual

 
l果为:(x)2009-07-30 00:00:00

 

date格式的时间差Q以Uؓ(f)单位Q?/strong>

Sql代码 复制代码 收藏代码
  1. select (to_date('2009-7-30''yyyy-mm-dd hh24:mi:ss') -   
  2.        to_date('2009-7-29''YYYY-MM-DD HH24:mi:ss')) * 86400 as "itvtime"  
  3.  from dual  
select (to_date('2009-7-30', 'yyyy-mm-dd hh24:mi:ss') -
       to_date('2009-7-29', 'YYYY-MM-DD HH24:mi:ss')) * 86400 as "itvtime"
 from dual

 

l果为:(x)86400

 

timestamp格式求时间差Q以Uؓ(f)单位Q?/strong>

Sql代码 复制代码 收藏代码
  1. select (to_date(TO_CHAR(to_timestamp('2009-7-30','yyyy-mm-dd hh24:mi:ss') , 'yyyy-mm-dd hh24:mi:ss'),   
  2.                 'yyyy-mm-dd hh24:mi:ss') -   
  3.        to_date(TO_CHAR(to_timestamp('2009-7-29','yyyy-mm-dd hh24:mi:ss') , 'yyyy-mm-dd hh24:mi:ss'),   
  4.                 'YYYY-MM-DD HH24:mi:ss')) * 86400 as "itvtime"  
  5.  from dual  
select (to_date(TO_CHAR(to_timestamp('2009-7-30','yyyy-mm-dd hh24:mi:ss') , 'yyyy-mm-dd hh24:mi:ss'),
                'yyyy-mm-dd hh24:mi:ss') -
       to_date(TO_CHAR(to_timestamp('2009-7-29','yyyy-mm-dd hh24:mi:ss') , 'yyyy-mm-dd hh24:mi:ss'),
                'YYYY-MM-DD HH24:mi:ss')) * 86400 as "itvtime"
 from dual

 l果为:(x)86400

 

求Q意timestamp格式的时间戳Q据1970q?1?1日的毫秒敎ͼ(x)

Sql代码 复制代码 收藏代码
  1. SELECT (to_date(TO_CHAR(to_timestamp('2009-7-30','yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') -   
  2.        to_date('1970-01-01 00:00:00''YYYY-MM-DD HH24:mi:ss')) * 86400000   
  3.   FROM dual  
SELECT (to_date(TO_CHAR(to_timestamp('2009-7-30','yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') -
       to_date('1970-01-01 00:00:00', 'YYYY-MM-DD HH24:mi:ss')) * 86400000
  FROM dual

 l果为:(x)1248912000000


应用Q?/strong>具体应用时将例子中to_timestamp()阴媄(jing)部分代码换成相应字段卛_Q该字段是timestamp格式Q?/p>

          与得C分ؓ(f)单位或小时ؓ(f)单位只需要变乘的数即?/p>

虽然实现了时间差的计,自我感觉比较复杂化,希望扑ֈ比较便的Ҏ(gu)。。?/p>

 

 

Ҏ(gu)日期求当月天?/strong>

Sql代码 复制代码 收藏代码
  1. select add_months(trunc(to_date('2009-9''yyyy-mm'), 'mm'), 1)    
  2.        - trunc(to_date('2009-9''yyyy-mm'), 'mm')   
  3.   from dual  
select add_months(trunc(to_date('2009-9', 'yyyy-mm'), 'mm'), 1) 
       - trunc(to_date('2009-9', 'yyyy-mm'), 'mm')
  from dual

 

l果为:(x)30



sailor 2011-12-19 17:29 发表评论
]]>
solaris 10配置JAVA环境以及(qing)安装f(xi)irefox http://www.aygfsteel.com/sailor/articles/362727.htmlsailorsailorSat, 05 Nov 2011 01:40:00 GMThttp://www.aygfsteel.com/sailor/articles/362727.htmlhttp://www.aygfsteel.com/sailor/comments/362727.htmlhttp://www.aygfsteel.com/sailor/articles/362727.html#Feedback0http://www.aygfsteel.com/sailor/comments/commentRss/362727.htmlhttp://www.aygfsteel.com/sailor/services/trackbacks/362727.htmlsolaris 10配置JAVA环境以及(qing)安装f(xi)irefox
分类Q?Solaris 10 145人阅?/span> 评论(0) 收藏 举报

一、solaris10 上如何配|JAVA环境Q?/font>

     1、下载?
     讉K
https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u15-oth-JPR@CDS-CDS_DeveloperQ选择合适的版本(我们选择solaris sparc)后,有以下几U:(x)

image     不同的包有不同的使用Ҏ(gu)。xx.shq种比较单,直接./xxx.sh可以了。执行完后会(x)在当前目录下生成一个jdk1.6.0_15的文件夹Q像"l色?Q如下:(x)
     
image
     如果是xx.tar.ZQ先?uncompress -cvf *.z|tar -xvf -Q如果不行,则再用tar –xvf xx.tar,解压后的文g夹jdkjdk1.6.0_15文g夹,如下Q?
image     需要将q两个包加到pakage中?
     安装Q?pkgadd -d  SUNWj6rt SUNWj6dev SUNWj6cfg SUNWj6man SUNWj6dmo
     卸蝲Q?pkgrm SUNWj6rt SUNWj6dev SUNWj6cfg SUNWj6man SUNWj6dmo

   2、修攚w认ؓ(f)jdk1.6

     (1) 以xx.shZQ生成的文g夹jdk1.6.0复制?usr/jdk目录?
     (2) 建立软连?ln -s /usr/jdk/jdk1.6.0/   /usr/java   
#前者做一个链接,后者指向前者,后者ؓ(f)链接?
     (3) java –version 查看是否正确安装

  3、安装好CLASSPATH{环境变?
     修改/etc/profile 的内容,加入JAVA_HOME ?JRE_HOME Q以?/font>

     CLASSPATH的设定,例如
        JAVA_HOME=/usr/java
        export JAVA_HOME

        JRE_HOME=/usr/java/jre
        export JRE_HOME

        CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib
        export CLASSPATH

        PATH=.:$JAVA_HOME/bin:$JRE_HOME/bin
        export PATH

二、solaris10 上如何安装f(xi)irefox

     1、下载。访?/font>http://www.sunfreeware.com/mozilla.htmlQ下载相应版?/font>

     2、查看网站上的README.firefox3Q里面包含的安装的步?/font>

 3, First uncompress the zip file $ bzip2 -d <zip file basename>.bz2 You will get a package datastream file named <zip file basename> 4, Install the package as root # pkgadd -d ./<zip file basename> The default install location would be /opt/sfw/lib/firefox
 本blog地址Q?a href="blog.csdn.com/whuslei" target="_blank">blog.csdn.com/whusleiQ版权所有!


sailor 2011-11-05 09:40 发表评论
]]>
Oracle Applciation Server10g启动http://www.aygfsteel.com/sailor/articles/356772.htmlsailorsailorThu, 18 Aug 2011 03:13:00 GMThttp://www.aygfsteel.com/sailor/articles/356772.htmlhttp://www.aygfsteel.com/sailor/comments/356772.htmlhttp://www.aygfsteel.com/sailor/articles/356772.html#Feedback0http://www.aygfsteel.com/sailor/comments/commentRss/356772.htmlhttp://www.aygfsteel.com/sailor/services/trackbacks/356772.html

W二章:(x)理工具

关键两个QOEM和opmn命o(h)Q?br />2.1.1 Managing Oracle Application Server with Oracle Enterprise Manager 10g Application Server Control
Oracle Enterprise Manager 10g Application Server Control is installed with every instance of Oracle Application Server. As a result, you can immediately begin managing your application server and its components from your Web browser.

The Enterprise Manager home pages make it easy to locate the most important monitoring data and the most commonly used administrative functions—all from your Web browser.
q是个好东西Qƈ且它提供的帮助更是个好东ѝ?/p>

2.1.2 Managing Oracle Application Server Using the OPMN Command Line
You can also use the opmnctl command-line tool, which provides a command-line interface to Oracle Process Manager and Notification Server (OPMN). For example, you can use this command line (opmnctl) to:

l Start and stop applications and application server instances
l Associate two or more application server instances to form a cluster
l Display a summary of the instances that are part of a cluster


2.1.3 Managing Oracle Application Server Using the admin_client.jar Utility
q个用处不大

W三章:(x)Starting and Stopping

3.2 Starting and Stopping Application Server Instances
3.2.1 Starting a Middle-Tier Instance

To start a middle-tier instance:

If the middle-tier instance is associated with OracleAS Infrastructure services, such as Oracle Identity Management, make sure the services are started. See Section 3.4.3 for more information.

Start the middle-tier components:

(UNIX) ORACLE_HOME/opmn/bin/opmnctl startall
(Windows) ORACLE_HOME\opmn\bin\opmnctl startall

This command starts OPMN and all OPMN-managed processes such as Oracle HTTP Server, OC4J instances, and the Application Server Control Console.


3.2.2 Stopping a Middle-Tier Instance

(UNIX) ORACLE_HOME/opmn/bin/opmnctl stopall
(Windows) ORACLE_HOME\opmn\bin\opmnctl stopall

3.3 Starting and Stopping Components
opmnctl: A command-line tool.
Application Server Control Console: A Web-based tool. (OEM)


3.3.1 Starting and Stopping Components Using opmnctl
You can use the opmnctl command-line tool to start and stop components. It is located in the following directory:

(UNIX) ORACLE_HOME/opmn/bin
(Windows) ORACLE_HOME\opmn\bin

To start, stop, or restart a component using opmnctl:

opmnctl stopproc ias-component=component
opmnctl startproc ias-component=component
opmnctl restartproc ias-component=component

For example, the following command starts OracleAS Wireless at the <process-set> level:
prompt > opmnctl startproc ias-component=wireless process-type=alert_server process-set=alert_instance_1

The following command restarts OC4J at the <process-type> level:
prompt > opmnctl restartproc ias-component=OC4J process-type=home

The following command stops Oracle HTTP Server at the <ias-component> level:
prompt > opmnctl stopproc ias-component=HTTP_Server

Enter one of the following commands to obtain additional information:
prompt > opmnctl usage startproc

在我安装的环境里Q通过上面一行我们从帮助中找刎ͼ(x)
        Values for the target attributes (ias-instance, ias-component,
        process-type and process-set) should be the same as the id
        value of each attribute specified in opmn.xml.

从opmn.xml可以扑ֈq些ias-componentQ也可以通过命o(h)Q?/font>opmnctl status

To start, stop, or restart the sub-process of a component:

opmnctl stopproc process-type=process
opmnctl startproc process-type=process
opmnctl restartproc process-type=process

To start, stop, or restart an application, such as Application Server Control:

opmnctl startproc application=app_name
opmnctl stopproc application=app_name
opmnctl restartproc application=app_name

To view the status of components and processes:

[oracle@ias ~]$ opmnctl status

Processes in Instance: ias.ias
--------------------------------------+--------------------+---------+---------
ias-component                        | process-type     |     pid   | status
--------------------------------------+--------------------+---------+---------
OC4JGroup:default_group      | OC4J:home        |    4812 | Alive  
ASG                                         | ASG                   |     N/A | Down   
HTTP_Server                          | HTTP_Server    |    4312 | Alive  

 



sailor 2011-08-18 11:13 发表评论
]]>
Solaris 修改IP,HOSTNAMEhttp://www.aygfsteel.com/sailor/articles/356270.htmlsailorsailorWed, 10 Aug 2011 12:00:00 GMThttp://www.aygfsteel.com/sailor/articles/356270.htmlhttp://www.aygfsteel.com/sailor/comments/356270.htmlhttp://www.aygfsteel.com/sailor/articles/356270.html#Feedback0http://www.aygfsteel.com/sailor/comments/commentRss/356270.htmlhttp://www.aygfsteel.com/sailor/services/trackbacks/356270.html

@import url(http://www.aygfsteel.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

sailor 2011-08-10 20:00 发表评论
]]>
oracle db-linkhttp://www.aygfsteel.com/sailor/articles/346924.htmlsailorsailorThu, 24 Mar 2011 03:16:00 GMThttp://www.aygfsteel.com/sailor/articles/346924.htmlhttp://www.aygfsteel.com/sailor/comments/346924.htmlhttp://www.aygfsteel.com/sailor/articles/346924.html#Feedback0http://www.aygfsteel.com/sailor/comments/commentRss/346924.htmlhttp://www.aygfsteel.com/sailor/services/trackbacks/346924.htmlCREATE PUBLIC DATABASE LINK sxst03Q连接名Uͼ CONNECT TO sxdznydfdQ用户名Q?/span> IDENTIFIED BY sxdznydfd Q密码)USING
        '(DESCRIPTION =
            (ADDRESS_LIST =
              (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.3Q数据库所在机子的名称或IPQ?/span>)(PORT = 1521))
            )
            (CONNECT_DATA =
        (SERVICE_NAME = sxstQ要q接数据库的SIDQ?/span>)
            )
          )'
      下面是查询时的写法,在表名后增加 @sxst03  (@加上上面建立的连接名U?
          
          select * from  sde.Table_Registry@sxst03 where table_name='N2007E2003140411000B00XJLYD'

sailor 2011-03-24 11:16 发表评论
]]>
orale忘记密码破解http://www.aygfsteel.com/sailor/articles/323065.htmlsailorsailorTue, 08 Jun 2010 07:34:00 GMThttp://www.aygfsteel.com/sailor/articles/323065.htmlhttp://www.aygfsteel.com/sailor/comments/323065.htmlhttp://www.aygfsteel.com/sailor/articles/323065.html#Feedback0http://www.aygfsteel.com/sailor/comments/commentRss/323065.htmlhttp://www.aygfsteel.com/sailor/services/trackbacks/323065.htmlSQL>coon /as sysdba
SQL>shutdown
SQL>startup
SQL>alter user sys identified by hand2009



sailor 2010-06-08 15:34 发表评论
]]>
利用OPIdExcle文ghttp://www.aygfsteel.com/sailor/articles/293588.htmlsailorsailorWed, 02 Sep 2009 05:44:00 GMThttp://www.aygfsteel.com/sailor/articles/293588.htmlhttp://www.aygfsteel.com/sailor/comments/293588.htmlhttp://www.aygfsteel.com/sailor/articles/293588.html#Feedback0http://www.aygfsteel.com/sailor/comments/commentRss/293588.htmlhttp://www.aygfsteel.com/sailor/services/trackbacks/293588.html阅读全文

sailor 2009-09-02 13:44 发表评论
]]>
DWR ?Converter 实现原理单分析及(qing)应用 http://www.aygfsteel.com/sailor/articles/292464.htmlsailorsailorMon, 24 Aug 2009 15:12:00 GMThttp://www.aygfsteel.com/sailor/articles/292464.htmlhttp://www.aygfsteel.com/sailor/comments/292464.htmlhttp://www.aygfsteel.com/sailor/articles/292464.html#Feedback0http://www.aygfsteel.com/sailor/comments/commentRss/292464.htmlhttp://www.aygfsteel.com/sailor/services/trackbacks/292464.html我们在应?DWR 调用q程Ҏ(gu)时涉?qing)?JS ?JAVA 之间参数和返回值的数据转换Q例如:(x)

JS ?123 ?Java ?int  ?Integer、long 间的转换
JS ?"2009-06-23" ?Java ?java.util.Date 之间的{?br /> JS ?"[1,2,3]" ?Java ?int[] 间的转换
JS ?"{id:123, name: 'Unmi'}" ?Java ?Class Person{int id; String name} 间的转换

或者更复杂的嵌套类? "{id:123, name: 'Unmi', blogs:['http://unmi.blogjava.net','http://blog.csdn.net/kypfos']}" ) ?Java cd间的转换Q等{。那么这一切是怎么q行的呢Q其实我们见识过很多lg的类型映,?Java ?PropertyEditor、Hibernate(UserType)、iBatis(TypeHandler) 的类型映,Struts1/2 ?Form/Model 用的 Converter {?br />
q里我来E稍分析 DWR ?Converter 实现Q以?qing)说明如何定制自q Converter。本文所?DWR ?2.0.5 版?br />
1. DWR 内置?Converter ?qing)应用类?/strong>

名称 应用cd 转换?/strong>
null voidQjava.lang.Void NullConverter
enum   EnumConverter
primitive boolean,byte,short,int,long,float,double,char,
java.lang.Boolean,java.lang.Byte,java.lang.Short,
java.lang.Integer,java.lang.Long,java.lang.Float,
java.lang.Double,java.lang.Character
PrimitiveConverter
bignumber java.math.BigInteger,java.math.BigDecimal BigNumberConverter
string java.lang.String StringConverter
array [Z,[B,[S,[I,[J,[F,[D,[C,[L* ArrayConverter
map java.util.Map MapConverter
collection java.util.Collection CollectionConverter
date java.util.Date,java.sql.Date,java.sql.Time,
java.sql.Timestamp,java.util.Calendar
DateConverter
dom org.w3c.dom.Node,org.w3c.dom.Element,org.w3c.dom.Document DOMConverter
dom4j org.dom4j.Document,org.dom4j.Element,org.dom4j.Node DOM4JConverter
jdom org.jdom.Document,org.jdom.Element JDOMConverter
xom nu.xom.Document,nu.xom.Element,nu.xom.Node XOMConverter
servlet javax.servlet.ServletConfig,javax.servlet.ServletContext,
javax.servlet.http.HttpServletRequest,
javax.servlet.http.HttpServletResponse,
javax.servlet.http.HttpSession
ServletConverter
bean   BeanConverter
object   ObjectConverter
hibernate2   H2BeanConverter
hibernate3   H3BeanConverter
url java.net.URL URLConverter
exception   ExceptionConverter
miniException java.lang.Throwable MinimalistExceptionConverter


它们是应用启动的时候,通过 org.directwebremoting.servlet.DwrServlet 初始?dwr-2.0.5.jar!/org/directwebremoting/dwr.xml 文g加蝲q来的。例如:(x)

<converter id="date" class="org.directwebremoting.convert.DateConverter"/> 注册?date 转换?br /> <convert converter="date" match="java.util.Date"/> 应用注册?date 转换器应用到 java.util.Date cd

看到上面Q你也许?x)惊讶一下,我们qx可能也就用下 bean 转换器,其他用内|就行。然?DWR ؓ(f)我们考虑的很周到的,包括 hibernate 相关的,URL、Servlet、Dom {相关类型的转换器?br />
2. DWR 如何定用哪?Converter?

DWR 是根据方法参数来定入口参数?Converter、根据返回值类型确定传?JS 的出口参数的 Converter。M是以 Java Ҏ(gu)原型为基准来军_每一参数或返回值各自用哪个 Converter 来{换数据?br />
?BaseCallMarshaller.marshallInbound(HttpServletRequest request, HttpServletResponse response) Ҏ(gu)中,使用

Class paramType = method.getParameterTypes()[j] 来获得参数的cdQ然后从已加载的 Converter Map 中找?Converter 名称Q进而确?Converter cd?/p>

而确定返回值类型就不是直接用反的 method.getReturnType()。而是以反方式调用方法后Q根据具体返回值的cd来确定的。见Q?br />
Replay DefaultRemoter.execute(Call) Ҏ(gu)中的
Object reply = chain.doFilter(object, method, call.getParameters()); 再进入到
Object ExecuteAjaxFilter.doFilter(Object obj, Method method, Object[] params Ajax FilterChain){
      return method.invoke(obj, params);
}

是Ҏ(gu)上面的返回|然后?br />
DefaultConverterManager.convertOutbound(Object, OutboundContext) Ҏ(gu)中的

Converter converter = getConverter(object);  //Ҏ(gu)q回?object  定该用?Converter?br />
3. DWR Converter 的调?/strong>

多留意下 DWR 自带?ConverterQ可以看到所有的 Converter 直接或简接的 extends BaseV20Converter implements ConverterQ其?BaseV20Converter(DWR 1.x 中对应ؓ(f) BaseV10Converter) 本n实C Converter。在 BaseV20Converter 抽象cM默认实现?Converter 的方?br />
public void setConverterManager(ConverterManager config)  {  }

具体?Converter 只要专心d现接?Converter 中的另两个方?

Object convertInbound(Class paramType, InboundVariable data, InboundContext inctx) throws MarshallException;
OutboundVariable convertOutbound(Object data, OutboundContext outctx) throws MarshallException;

q行Ӟ它们相应的被 ConvertManager(默认?DefaultConvertManager) ?br /> Object convertInbound(Class paramType, InboundVariable iv, InboundContext inctx, TypeHintContext incc) throws MarshallException
OutboundVariable convertOutbound(Object object, OutboundContext outctx) throws MarshallException
来调用?br />
DWR Ҏ(gu)个参数或q回D会(x)应用一?ConverterQ但对于复杂的类型会(x)递归的调?ConverterQ比如,要完?br />
JS "{id:123, name: 'Unmi', blogs:['http://unmi.blogjava.net','http://blog.csdn.net/kypfos']}"  ?Java ?Person{int id, String name, String[] blogs;} 的{换,׃(x)使用?bean->primitive->array 三个 Converter?br />
4. 定制自己?Converter

基本?DWR  内置?Converter 够用的Q但也有可能需要定定自q Converter。从 DWR ?Converter 实现来看Q一般会(x)用两U方式:(x)

1) extends BaseV20Converter implements ConverterQ实?Converter ?converterInbound() ?converterOutbound() Ҏ(gu)
2) extends BasicObjectConverter implements ConverterQ或l承 BeanConverterQ实?BasicObjectConverter ?getPropertyMapFromObject()QgetPropertyMapFromObject() ?createTypeHintContext() Ҏ(gu)?br />
前一U方式,请参?org.directwebremoting.convert.DateConverter 的源码实玎ͼ(x)

convertInbound() ?JS 的字W串转换成要求的 Date、Time、Timestamp ?Calender 对像?br /> convertOubound() ?Java 的类型{换成 JS ?new Date() cdQ注意返回值的写法Q?br />                              return new SimpleOutboundVariable("new Date(" + millis + ")", outctx, true);

W二U?BasicObjectConverter 或是 BeanConverter 的做法,可参?BeanConverter  的源码实现。表现在 JSON ?Java 对象间的转换Q要是引入解?JSON ?JAR 包或许能有不帮助?br />
定制 Converter 的内容讲的很,主要是真有这斚w的需要的时候请参?DWR  的相x码,实际中理解各个接口方法参数的意义Q及(qing)q回值的要求。对待开源组件还是要保持阅读源码的好?fn)惯?br />
好啦Q自q Converter 写好Q需要注册,需要应用。我们还是参?DWR 的做法,写在自己?dwr.xml 中。例如定制了 com.unmi.dwr.converter.SpecialConverterQ要?com.unmi.model.SpecialObject q行出入cd的{换,p么写Q?br />
<converter id="special" class="com.unmi.dwr.converter.SpecialConverter"/> 注册?nbsp;special 转换?br /> <convert converter="special" match="com.unmi.model.SpecialObject"/> 应用注册?special 转换器应用到 com.unmi.model.SpecialObject  cd

5. 结

?DWR 其实也有D|日了Q未曄l的学,L遇一问题、扫除一个,不免也会(x)L扄xpȝ的资料。然而着下此的动机是上周六在书城翻了下 ?DWR 实战》,它实际讲 DWR 本n的较?yu)。最后我W一个想了解了是 DWR 能完?JS ?Java 间什么类型的转换Q第一手的资料|上也没搜烦(ch)刎ͼ于是q到源码中去Q亲w历l,也更加深了印象?br />
读者也许和我一L(fng)的,只想看看内置的{换器有哪些,能{换哪些类型,那就只需看最为抢眼的那张表格吧。需要定?Converter 应该很少Q就像我们很定?Struts ?Converter、Hibernate ?UserType ?iBatis ?TypeHandler 一栗因此也对定制 DWR ?Converter 所用篇q不多?br />
对待开源,自己L个习(fn)惯就是必L相关的源代码伴随在它w边。开源组件的使用一般不难,到问题Q既然源码都掌握了,我想总能从源码中扑և原因来。尚且,对这L(fng)知名lg发深入Q就更能嚼出许多呛_?br />

参考:(x)DWR 2.0.5 的源代码Q对 DWR 目q行单步调试


原文Q?a href="http://www.aygfsteel.com/Unmi/archive/2009/06/23/283741.html">http://www.aygfsteel.com/Unmi/archive/2009/06/23/283741.html



sailor 2009-08-24 23:12 发表评论
]]>
参考资?/title><link>http://www.aygfsteel.com/sailor/articles/292399.html</link><dc:creator>sailor</dc:creator><author>sailor</author><pubDate>Mon, 24 Aug 2009 07:52:00 GMT</pubDate><guid>http://www.aygfsteel.com/sailor/articles/292399.html</guid><wfw:comment>http://www.aygfsteel.com/sailor/comments/292399.html</wfw:comment><comments>http://www.aygfsteel.com/sailor/articles/292399.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/sailor/comments/commentRss/292399.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/sailor/services/trackbacks/292399.html</trackback:ping><description><![CDATA[1、J2EE介绍<br />        <a ><font color="#000000">参考文Ӟ(x)</font>http://www.ibm.com/developerworks/cn/java/j2ee/</a> <br /> <br /> 2、Cache技术――OSCache<br />     <p style="margin: 0cm 0cm 0pt; text-indent: 21pt"><span style="font-size: 10pt; font-family: Arial">Cache</span><span style="font-size: 10pt; font-family: 宋体">是一U用?span style="color: red">提高pȝ响应速度</span>?span style="color: red">改善pȝq行性能</span>的技术。尤其是?/span><span style="font-size: 10pt; font-family: Arial">Web</span><span style="font-size: 10pt; font-family: 宋体">应用中,通过~存面的输出结果,可以很显著的改善pȝq行性能?/span></p> <p style="margin: 0cm 0cm 0pt; text-indent: 21pt"><span style="font-size: 10pt; font-family: 宋体">OSCache标记库由O(jin)penSymphony设计Q它是一U开创性的~存Ҏ(gu)Q它提供了在现有JSP面之内实现内存~存的功能。OSCache是个一个被q泛采用的高性能的J2EE~存框架QOSCacheq能应用于Q何Java应用E序的普通的~存解决Ҏ(gu)?/span></p> <br />         <a >参考文Ӟ(x)http://aumy2008.blogbus.com/logs/36462858.html</a> <img src ="http://www.aygfsteel.com/sailor/aggbug/292399.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/sailor/" target="_blank">sailor</a> 2009-08-24 15:52 <a href="http://www.aygfsteel.com/sailor/articles/292399.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ľ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʤ</a>| <a href="http://" target="_blank">ɳ</a>| <a href="http://" target="_blank">ͭɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">³ľ</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ֵ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɳ</a>| <a href="http://" target="_blank">Ϳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank">ܿ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Т</a>| <a href="http://" target="_blank">ԭ</a>| <a href="http://" target="_blank">ζ</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">ػ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>