個人檔案味蕾的五味店相片部落格清單 工具 說明
9 April

无题

      这几天,blog都没有更新,果然养死仙人掌就是不一样……BUT我胡汉三又回来了~
前两天前辈介绍了几本书,就去网上定了一下,一看,还有打折,心里美啊,
可是,意料之中的事情发生了~,居然到现在还没有翻过,看了果然书非借不能读也
我周一决定把它们放到同事那里,然后向他借~嗯,真是好主意~
 
      啊~!!!
      刚刚一低头,腹部惊现轮胎,虽然只是儿童三轮车级别的,但是……,还说等到天气在暖和一点~,看来不行了,要立即部署环境,启动项目~,各位要监督我呀

初夏之夜

    刚下过雨,微风轻轻的,空气凉凉的,不时飘来阵阵树叶若有若无的清新的味道,在阳台燃起一支烟,没有人打扰,静静地感受初夏傍晚的凉意,惬意……
    咚咚咚——!!“收水电费了!!”
阿姨:你这个月是xxx度,上个月是xxx度,一共是xx.xx元,你上次交了还有八毛五的零钱再我这里。这次一起帮你算在里面,你就在给我xx.xx元就可以了
me:  哦,好,阿姨,您辛苦了,看礼拜天都不休息。
阿姨:哎呀,没办法啊,我们的工作就是琐碎,也是你们这些小年轻,都不及时去缴,平时就顾这睡觉, 约会,要是你们能自觉点去缴我能这么麻烦么,其实知道你们有时确实也是忙工作才忘了缴,但是 也应该及时补上,像你楼下那个小马,人家回来就给我补缴上了,如果都像你们这样,不把我累死才怪呢,你们这些年轻人阿……(应观众要求后面省略1238字,我才知道,有时候确实祸从口出)
me:  是是,阿姨你说的对,下次我一定及时给您缴过去
   送走了阿姨,又回到阳台,远处传来几声麻雀的叫声,忽然觉得那声音是从没有过的悦耳……
   烟一点点地烧完,天也一点点地黑下来,给自己斟了一杯红酒,抬头望着天,明月将银色洒在我脸上,一个醉人的初夏之夜……
   “大象,大象,你的鼻子怎么那么长……”(看我设定的这手机铃声,哎~……)
me:呀,你小子怎么想起来给我打电话了~是不是搞出人命然后给我报喜了。
哥们:我考,你搞出那么多条都没见你向我报过喜,
me:我呸,什么时候的事情啊?~我怎么不知道啊?我这里业务类倒是已经写好了~就是没地方调用阿
哥们:少废话,找你帮忙呢~,五一我要和女朋友去阳朔玩,你家人不是有阳朔的么?~?介绍几个值得去的地方,再帮我定个房间,别让我花冤枉钱。
me:这个你直接打电话去问我妈,我也不清楚。
哥们:靠,我好不容易找你帮个忙你就这态度。
me:你直接去问我妈不就好了,还打电话找我,你以为你不认识我妈阿……
    哥们骂骂咧咧的挂掉了电话,我就不明白,作为以前的发小,现在的邻居,为什么他不能直接从六楼下四楼直接问我妈,而要打长途电话来找我呢?~
    回到阳台,手撑在阳台的围栏上,继续喝着酒,看着小区里的小路,不时地会有一些爷爷奶奶爸爸妈妈,带着小朋友,出来散步,小朋友在前面边跑边玩,家长们在后面看着,脸上挂者慈爱的笑容。大家都在享受的假日的悠哉与清闲,好一个安逸的初夏之夜……
    “叮叮当,叮叮当……”~
me:舅舅阿,什么事?~
舅舅:我的电脑中毒了,现在要重新装一下系统,你过来帮我弄一下吧
me:…………哦,我现在就过去。
    酒,一饮而进……
    ……………………
    ……………………
    好一个惬意,安逸,醉人……而又可悲的初夏之夜!
      
31 March

创建和使用分区的表

        

    在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能。

    以system身份登陆数据库,查看 v$option视图,如果其中Partition为TRUE,则支持分区功能;否则不支持。Partition有基于范围、哈希、综和三种类型。我们用的比较多的是按范围分区的表。

    我们以一个2001年开始使用的留言版做例子讲述分区表的创建和使用:

1 、以system 身份创建独立的表空间(大小可以根据数据量的多少而定)

create tablespace g_2000q4 datafile '/home/oradata/oradata/test/g_2000q4.dbf' size 50M default storage (initial 100k next 100k minextents 1 maxextents unlimited pctincrease 1);

create tablespace g_2001q1 datafile '/home/oradata/oradata/test/g_2001q1.dbf' size 50M default storage (initial 100k next 100k minextents 1 maxextents unlimited pctincrease 1);

create tablespace g_2001q2 datafile '/home/oradata/oradata/test/g_2001q2.dbf' size 50M default storage (initial 100k next 100k minextents 1 maxextents unlimited pctincrease 1);

2 、用EXPORT工具把旧数据备份在guestbook.dmp中

把原来的guestbook表改名

alter table guestbook rename to guestbookold;

以guestbook 身份创建分区的表

create table guestbook(
	id		number(16) primary key,
	username		varchar2(64),
	sex		varchar2(2),
	email		varchar2(256),
	expression	varchar2(128),
	content		varchar2(4000),
	time		date,
	ip		varchar2(64)
) 
  partition by range (time)
  (partition g_2000q4 values less than (to_date('2001-01-01','yyyy-mm-dd'))
    tablespace g_2000q4
      storage(initial 100k next 100k minextents 1 maxextents unlimited pctincrease 0), 
   partition g_2001q1 values less than (to_date('2001-04-01','yyyy-mm-dd'))
    tablespace g_2001q1
      storage(initial 100k next 100k minextents 1 maxextents unlimited pctincrease 0),
   partition g_2001q2 values less than (to_date('2001-07-01','yyyy-mm-dd'))
    tablespace g_2001q2
      storage(initial 100k next 100k minextents 1 maxextents unlimited pctincrease 0)
   );

(说明:分区的名称可以和表空间的名称不一致。这里是每个季度做一个分区,当然也可以每个月做一个分区)

3、IMPORT导入数据,参数ignore=y

4、分区表的扩容:

到了2001 年下半年,建立新的表空间:

create tablespace g_2001q3 datafile '/home/oradata/oradata/test/g_2001q3.dbf' size 50m default storage (initial 100k next 100k minextents 1 maxextents unlimited pctincrease 1);

为表添加新分区和表空间:

alter table guestbook add partition g_2001q3
values less than (to_date('2001-10-01','yyyy-mm-dd')
tablespace g_2001q3
storage(initial 100k next 100k minextents 1 maxextents unlimited pctincrease 0);

5、删除不必要的分区

将2000年的数据备份(备份方法见 6、EXPORT 分区),将2000年的分区删除。

alter table guestbook drop partion g_2000q4;

删除物理文件

%rm /home/oradata/oradata/test/g_2000q4.dbf

6、EXPORT 分区:

% exp guestbook/guestbook_password tables=guestbook:g_2000q4 rows=Y file=g_2000q4.dmp

7、IMPORT分区:

例如在2001 年,用户要查看2000 年的数据,先创建表空间

create tablespace g_2000q4 datafile '/home/oradata/oradata/test/g_2000q4.dbf' size 50m default storage (initial 100k next 100k minextents 1 maxextents unlimited pctincrease 1);

为表添加新分区和表空间:

alter table guestbook add partition g_2000q4
values less than (to_date('2001-01-01','yyyy-mm-dd')
tablespace g_2001q3
storage(initial 100k next 100k minextents 1 maxextents unlimited pctincrease 0);

导入数据

%imp guestbook/guestbook_password file=g_2000q4.dmp tables=(guestbook:g_2000q4) ignore=y

(说明:如果不指明导入的分区,imp会自动按分区定义的范围装载数据)

30 March

记一次做家务

 
 
      今天,我放学到回家里,发现家里没人,爸爸妈妈还没有下班,昨天我看了妈妈煎鸡蛋,
我想,如果我今天把这道菜做给爸爸妈妈吃,他们会多么高兴啊。
      说干就干,我从冰箱里拿出6个鸡蛋,又拿出油,盐,味精,把炒锅放到煤炉上面,打开
煤炉的门,让火能烧得大一点,但不能太大,妈妈说太大了容易把鸡蛋煎焦的。好,万事俱
备,准备开始煎蛋了。
      不一会,炒锅开始冒烟,我往里到了一点油,就听见油里面稀里哗啦的响,我拿起
一个鸡蛋在炒锅边上一嗑,蛋壳就碎了,然后双手一掰,鸡蛋就掉进锅里了,就听“呲——”
的一声,油就溅出来了一些,正好有一滴溅到我的手上,我痛得直咧嘴,就赶快把手放到水龙
头下冲冷水,冲了一会,忽然闻到一股焦味,原来是鸡蛋焦,是因为油放太少了,而且火开的太大。
      看着煎焦的鸡蛋,想起妈妈昨天煎得那么好,我却做得这么糟糕,真想不做了。就在这个时候,
我想起妈妈以前对我说的一句话,做事一定要坚持到底,这样才会成为一个成功的人,想到这里,
我决定今天要把煎鸡蛋做好。
      想到这里,我重新拿起锅,放到水龙头下洗干净,然后放回炉子上,开始仔细回忆起妈妈昨天煎
鸡蛋的过程,那个时候炒锅是干的,而现在炒锅里有水,于是,我就用洗碗布把锅里的水渍搽干,倒入油。一会儿的功夫,油滚了,我小心翼翼的打下一个鸡蛋,又听见“呲——”的一声响,可是这次,
油没有溅出来,鸡蛋在油里稀里哗啦的响着,好像是笑着对我说:“小朋友,做的不错。”这样,我更
信心百倍,更仔细的回忆妈妈昨天煎鸡蛋的过程,对,妈妈昨天大约等了半分钟左右就用铲把鸡蛋翻了过来,嗯,现在正好半分钟。于是,我也学着妈妈样子,用铲轻轻的铲起鸡蛋,小心的一翻,鸡蛋就被翻过来了,继续稀里哗啦地在锅里愉快的唱歌,大约又过了半分钟,我把鸡蛋用铲铲起来,放到一个盘子里,一个鸡蛋就煎好。
      有了这个成功的例子,我有了经验,又用同样的方法,煎了5个。正在这个时候,妈妈下班回来了,看见我正端着鸡蛋从厨房里走出来,就笑吟吟走过来:“哟,儿子会煎鸡蛋了,真香,来,妈妈尝尝。”说着,妈妈拿了一双筷子夹起一个鸡蛋,咬了一口:“咦,怎么没有味道啊?”“啊,我忘记放盐了!”“哈哈哈哈。”妈妈听了哈哈大笑起来,我也不好意思地跟着笑了。
    通过这次煎鸡蛋,我知道了煎鸡蛋做法,更重要的是我知道了做事想要成功,不能轻易放弃,一定要坚持到底。
 
     其实我们胡说八道,也正是开始于小学的作文课上。
29 March

建立数据快照的步骤

A数据库:域名:web.guangwai,服务名:to243
B数据库:域名:fortune.guangwai,服务名:fortune_chen
要求:在B数据库建立A数据库中某表(questioncontent)的快照,并且进行定时刷新。
1、 检查初始化参数
show parameter global_names
show parameter job
如果初始化参数设置的不满足要求,可以通过下列语句动态修改。
alter system set global_names = true;
alter system set job_queue_processes = 20;
2、 检查数据库全局名
在A、B数据库上,检查全局数据库名称
两个数据库的db_domain 名称应该相同,只有db_name 不同。
通过下列语句检查主站点和物化视图站点的全局数据库名
select * from global_name;
如果全局数据库名设置不符合规范,可以通过如下语句动态修改。
alter database rename global_name to web.guangwai;
alter database rename global_name to fortune.guangwai;
3、 在B数据库建立表空间
创建一个名为Snapshot_ts的表空间来存放快照,并创建一个和该表空间有关的名为Snap的用户。
创建表空间
SQL > CREATE TABLESPACE snapshot_ts DATAFILE
'c:\orant\dbfiles\prod\snapshot01.dbf' SIZE 30M
DEFAULT STORAGE (INITIAL 30 K
NEXT 15 K
MINEXTENTS 1
MAXEXTENTS 100
PCTINCREASE 0)
ONLINE
PERMANENT;
创建用户
SQL > CREATE USER snap
IDENTIFIED BY snap
DEFAULT TABLESPACE snapshot_ts
SQL > GRANT CONNECT, RESOURCE ,
CREATE SESSION,
CREATE TABLE,
CREATE PROCEDURE,
CREATE SEQUENCE,
CREATE TRIGGER,
CREATE VIEW,
CREATE SYNONYM,
ALTER SESSION,
CREATE MATERIALIZED VIEW,
ALTER ANY MATERIALIZED VIEW,
CREATE DATABASE LINK to
 snap;
4、 在snap用户下建立一个数据库连接
SQL> CREATE PRIVATE DATABASE LINK WEB.GUANGWAI
CONNECT TO TEST
IDENTIFIED BY TEST  USING 'TO243';
5、 在SNAP用户下建立快照
CREATE SNAPSHOT snap.questioncontent
PCTFREE 10 PCTUSED 40
TABLESPACE snapshot_ts
STORAGE (INITIAL 163840 NEXT 57344 PCTINCREASE 0)
AS SELECT * FROM test. questioncontent @web.guangwai;
刷新快照:
SQL > EXECUTE DBMS_SNAPSHOT.REFRESH
('snap.questioncontent ')
6、 创建快照刷新脚本或者在管理界面配置刷新
CREATE OR REPLACE PROCEDURE sp_snapshot_refresh IS BEGIN DBMS_REFRESH.MAKE ( NAME=>'tax_dmb_grp', LIST=>'snap.questioncontent’, NEXT_DATE=>TRUNC (SYSDATE+1)+2/24, INTERVAL=>'(SYSDATE+1)', IMPLICIT_DESTROY=>FALSE, LAX=>TRUE); END; / SQL > EXECUTE sp_snapshot_refresh
7、 添加刷新任务
SQL > SELECT JOB, WHAT FROM DBA_JOBS;
8、 在用户b下创建快照的同义词
SQL > CREATE SYNONYM userB.questioncontent FOR snap.questioncontent;
9、以Snap用户向userB用户授与快照可以select的权限
SQL > GRANT SELECT ON questioncontent TO userB;
 

荣华

職業
哟,奔三的人了~
沒有相簿。