Oct 26, 2008

How to connect to the Oracle server via PLSQL developer tool with out installation Oracle Client.

/*不用安装Oracle Client,Plsql developer 连接到Oracle server.
1: Seach the following files at your ORACLE server end. and copy those
files to a folder. for example: D:\oraclient
oci.dll
ocijdbc10.dll
ociw32.dll
orannzsbb10.dll
oraocci10.dll
oraociei10.dll
/*if have not found, then plsql develop tools can login via any
account and password. you should seach and download it by google or
baidu:)*/
sqlnet.ora
tnsnames.ora
classes12.jar
ojdbc14.jar

2、create a file: tnsnames.ora in the previous folder. eg. D:\oraclient.
like this:
oracledata =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.111)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)

3、Config the env. add TNS_ADMIN=D:\oraclient. if you have install the
oracle client. it should be listed under %ORACLE_HOME%/network/admin/。

4、Set the language env. NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
or AMERICAN_AMERICA.US7ASCII
5、Open your PLSQL developer and set the connection string. then save
it and quit.
check tools->preferences->connection
Oracle Home=D:\oracleclient
OCI library=D:\oracleclient\oci.dll

6、Ok, you can try it now, enjoy it!!! if have any issue, please feel
free contact me: Gtalk & Gmail: zhouxiangzhen@gmail.com

LiFan take about 之"最"

by Lifan
就要上班了,赶快抓住休闲时光的尾巴,总结一下我4年海外生活所游历的地方和感受.欧美15个国家,100多个城市,总结了如下我心中的之"最":
 
综合指数最高的城市
巴黎.国际大都市去了不少:米兰、巴塞罗那、柏林、纽约...既适合短期旅游,又适合长期居住,文化、艺术、历史、建筑、娱乐、美食各方面综合指数最高的城市非巴黎莫属.当然这纯属个人意见.巴黎博物馆、美术馆林立,各种风格的建筑比比皆是,文化艺术氛围浓厚;歌剧、表演、展览丰富多彩;吃的方面更不用说,不仅能享受到法国美食,欧洲其它国家、北非、美洲、亚洲风味的餐馆也随处可见;巴黎也是世界时尚的焦点,从国际大牌到中档品牌的服装设计得都是那么漂亮.所以,巴黎又被称为"艺术之都","美食之都","时尚之都".巴黎的美还在于它的鹅卵石的小巷,路边的咖啡馆...不过,巴黎也有些我不喜欢的地方,比如说房子太贵,人比较冷淡(大城市都如此),再就是冬天下雨.CIMG0817
 
公共交通最便利的城市
还是巴黎.这里我只想谈地铁,因为地铁速度快,又不会堵车.巴黎有14条市区地铁线路Metro和5条城郊线RER,四通八达,非常方便.站与站的距离不是很远,因而在巴黎市区的任何一个地方,方圆500米内总会有一个地铁站.不用说市内的各个名胜古迹,连郊区的凡尔塞宫、枫丹白露,地铁都能到,而且都是出了站,走上3、4分钟就到了.我还没去过伦敦,不过地铁系统比较发达的马德里、纽约、芝加哥和香港都比不上巴黎的地铁方便.CIMG1970
 
最美丽的城堡
新白天鹅城堡.欧洲,特别是法国、德国、西班牙,有很多历史悠久又美丽的城堡和宫殿.好多童话故事都是参照欧洲的城堡,比如白雪公主,灰姑娘等.单说外观,不谈内部的豪华,我觉得最漂亮的是德国的新白天鹅城堡.白色的城堡耸立在高高的山上,其四周环山和湖泊,有着梦幻般的美丽.难怪迪斯尼会选它作为其城堡的原形.照片 065CIMG2001
 
最漂亮的宫殿花园
凡尔塞宫花园.欧洲的宫殿一般都个自己的御花园.凡尔塞宫后花园,和其宫殿一样著名,其面积之大,是全欧洲最负盛名的皇家园林.全园广植花圃、树林、还有人工运河、样式精美的雕像和大型喷泉. 这般漂亮的花园,常年吸引着大批的游客.照片 029
 
最美丽的海滩
戛纳beach迈阿密beach.可惜在法国的时候没时间去Nice欣赏其美丽的石沙滩,但戛纳作为Cote d'Azur另一迷人城市,其海滩也非常美丽.照片 007
Miami Beach也是全球著名度假胜地,那淡蓝绿色的海水在蓝天白云下,真是美得令人陶醉.多希望自己能住在迈阿密,这样就可以常去如此美丽的海滩了!当时同去迈阿密的朋友说,到过了Miami Beach,对别的海滩都没兴趣了.DSC02060
 
最有"主题"的城市
奥兰多拉斯维加斯.美国人知道自己的历史和文化无法和欧洲相比,为了吸引国内外游客,便建设了2个最具特色和主题的城市-奥兰多与拉斯维加斯.
在奥兰多,Disneyland, Universal Studios, Sea World,水上乐园等各种主题公园都有.像Disney和Univeral还都有好几个parks.因此要想在这儿把各个游乐园玩个遍的话,就要待上小2周的时间.CIMG2459
拉斯维加斯是世界上最著名的赌城.之前这里只是一片沙漠,建成为赌城后便变为了吸引无数游客的不夜城."赌"就是这里的主题.CIMG3828
 
最不想离开的地方
希腊的Satorini.去过不少地方,这个在爱琴海上的美丽岛屿是最使我去了后不想离开的地方.很多希腊的明信片和旅游介绍都是用的Satorini的照片.岛上只有2种主要颜色:蓝和白.蔚蓝的天空,碧蓝的大海和蓝色的屋顶,还有就是白色的房屋.美得真让我想在此度过余生.CIMG0731
 
最"大"的国家
美国.这里的大,并不是指国土面积.当然,美国在面积上也确实比较大.但我想说的是Everything in America is larger.美国人的体型大:美国是胖子比例最高的国家;人大开的车自然也大:在路上跑的大多是SUV,Mini Van,Hummer或是加长卡迪拉克,因而停车位也都比较大;衣服的size大:美国的S相当于欧洲的M和中国的L;食物、饮料的size大:快餐店里汉堡和可乐的size都比别的国家的大,餐厅里点的牛排,量也比其它国家的大.所以这也使美国人的胃更大了.结果恶性循环:美国人大吃东西的量就大,食物的size大使得人的size更大.
 
最不用花钱游览的城市
华盛顿.华盛顿的博物馆和纪念碑众多,从国家美术馆到历史博物馆,从国会大厦到林肯纪念堂,全部都是免费参观.真是个穷游者的好去处.CIMG3185
 
除了以上的之"最",还有:
  最最值得参观的博物馆-卢浮宫
  鸽子最多的广场-威尼斯的圣马可广场
  最爱罢工的国家-法国
  最发达,最人性化的国家-德国
  世界性组织最多的城市-日内瓦
  ......
 
我算是个博爱的人了,我喜欢每一个我去过的地方.无论是哪个国家和城市,都有它自己独特的魅力!
From Friend Lifan's live space: lifanlifan.spaces.live.com

Oct 25, 2008

Oracle -- How to export a table to a plane file by UTL_FILE

--author; Zhou xiangzhen
--created: 2008-10-25
--function: export table to a plane file
--you should call this procedure like this: dump2text('select * from all_users','|','EXPORTTABLEDIR','test.txt')
--
CREATE OR REPLACE procedure dump2text(sp_query     in varchar2,
                                      sp_separator in varchar2 default '|',
                                      sp_dir       in varchar2,
                                      sp_filename  in varchar2) authid current_user is
  ol_filehandle utl_file.file_type;
  cl_cursor     integer default dbms_sql.open_cursor;
  sl_coltext    varchar2(2000);
  nl_status     integer;
  nl_colcnt     number default 0;
  sl_separator  varchar2(10) default '';
  nl_cnt        number default 0;
begin
  ol_filehandle := utl_file.fopen(sp_dir, sp_filename, 'w');
  dbms_sql.parse(cl_cursor, sp_query, dbms_sql.native);
  for i in 1 .. 255 loop
    begin
      dbms_sql.define_column(cl_cursor, i, sl_coltext, 2000);
      nl_colcnt := i;
    exception
      when others then
        if (sqlcode = -1007) then
          exit;
        else
          raise;
        end if;
    end;
  end loop;
  dbms_sql.define_column(cl_cursor, 1, sl_coltext, 2000);
  nl_status := dbms_sql.execute(cl_cursor);
  loop
    exit when(dbms_sql.fetch_rows(cl_cursor) <= 0);
    sl_separator := '';
    for i in 1 .. nl_colcnt loop
      dbms_sql.column_value(cl_cursor, i, sl_coltext);
      utl_file.put(ol_filehandle, sl_separator || sl_coltext);
      if i < 2 then
        sl_separator := sp_separator;
      end if;
    end loop;
    utl_file.new_line(ol_filehandle);
    nl_cnt := nl_cnt + 1;
  end loop;
  dbms_sql.close_cursor(cl_cursor);
  utl_file.fclose(ol_filehandle);
  dbms_output.put_line('total export rows: ' || nl_cnt);
exception
  when no_data_found then
    return;
  when utl_file.invalid_path then
    dbms_output.put_line('invalid path');
  when utl_file.invalid_filehandle then
    dbms_output.put_line('invalid filehandle');
  when utl_file.invalid_operation then
    dbms_output.put_line('invalid operation');
  when others then
    dbms_output.put_line('error number: ' || sqlcode ||
                         ' error message: ' || sqlerrm);
end dump2text;
/

--
Thanks
Xiangzhen



Oct 24, 2008

AIX LVM比较

卷组描述区(VGDA)、卷组状态区(VGSA)和逻辑卷控制块(LVCB)构成了LVM的配置数据
1.
VGDA:卷组描述区。
位于所有硬盘起始的部分,VGDA记录着卷组中每个逻辑卷(LV)的逻辑分区(LP)与物理分区(PP)的映射关系。主要用于更新ODM。
VGSA:卷组状态区。
主要用于描述VG中PV和PP的状态信息,在激活一卷组时,VGSA可以确定卷组中那些物理分区(PP)是无效的(或陈旧的),哪些物理卷已丢失,进而确定卷组中的物理卷是否可用。

LVCB:逻辑卷控制块。
位于所有LV的起始部分,包含与LV有关的信息,如LV的大小、类型、最后更新时间等。卷组中的每个PV至少都有一个VGDA,VGDA能对该PV进行自我描述,每个LVM命令都可以同步卷组中所有PV的VGDA,从而使卷组中每个PV的VGDA都保持相同的时间戳,如果其中一个PV错误导致无法运行,则就无法更新同步VGDA。在把一个硬盘变成物理卷时(使用mkdev命令)就在这个硬盘的开始部分保留一个存放VGDA的空间,当把这个物理卷加入到一个卷组中时(使用mkvg或extendvg)才将该卷组的信息写进这个物理卷的VGDA中。当把一个PV从所属VG中删除时(使用reducevg命令),同时从这个PV的VGDA中清除该卷组的信息。

描述LVM的构成信息不会存放在一个地方,还会存在于系统的各个地方,AIX的大多数系统配置都会存放在ODM数据库中,所以已配置的VG,LV和PV的信息都会保存在ODM数据库中,所以当导入(import)一个卷组时,就会把要导入卷组的VGDA信息保存在ODM数据库中,相反,导出(export)一个卷组时,就会把这个卷组的VGDA信息从ODM数据库中删除。

关于PVID:PVID是PV的物理标识符,这个PVID是系统随机生成的,而且是可变的。
硬盘在未被定义为PV之前是没有PVID号的。当系统进行cfgmgr后,系统就会为硬盘分配一个名字和PVID号。
如果想手工清除PVID号用chdev -l hdiskn -a pv=clear.重新生成pvid号用cfgmgr或chdev -l hdiskn -a pv=yes.

ODM:ODM数据库用与描述物理设备相同的方式描述VG和LV,它影响VGDA、VGSA、LVCB中的信息。LV在ODM中处于Defined状态,而物理设备则处于Available状态。
在/etc/vg目录中保存有VGID,
可用#lqueryvg �p hdiskn �At查询VGID
可用#lqueryvg [�g VGID|-p PVname] [-NsFncDaLPAt]查询PVID
可用#getlvcb �AT hdn查询LVCB信息
可用 #ipl_varyon �i显示系统中的PV,PVID及PV所属的VG的VGID

2.
当VG中有两个PV,且两个PV互为镜像时,如一个PV上的VGID毁坏了,
可用#chvg -Q n vgname命令恢复,
然后用#varyonvg vgname将VG挂在系统上即可。

3.当ODM中的有关VG的信息毁坏时,
可用#varyoffvg vgname,
#exportvgvgname,
#importvg �y vgname �f hdiskn
#varyonvg vgname命令重建ODM中的VGDA项。

4.当PV上的VGDA毁坏时(此问题通常是由于从系统中卸载一块PV而未事先将
其从VG中卸载),应先找出丢失PV的PVID,然后将丢失的PV重新加入ODM
中,再将此PV从VG中卸载,最后从系统中删除此PV。
具体步骤为:
#lqueryvg �p hdiskn �At从VGDA查找所有PV的PVID
#lspv从ODM和VGDA中查找所有PV的PVID
#dd if=/dev/hdiskn count=1|od �x|grep 0000200
查找系统中实际存在的所有PV的PVID)命令找出丢失PV的PVID
#odmget �q "name=hdiskn" CuDv >>/tmp/hdiskx.add
#odmget �q "name=hdiskn" CuAt >>/tmp/hdiskx.add
从ODM中取出系统中实际存在的PV的信息
#vi /tmp/hdiskx.add
#odmadd /tmp/hdiskx.add
将编辑好的文件加入到ODM中(用丢失的PV的Pvname和PVID替换文件中的
Pvname和PVID)
#lslv �l hdn
查看hdn上的LV分配情况(In Band:表示在LV中部的LP占全部LP的比例)
#lslv �m hdn
查看hdn上的LP-PP-PV的对应情况
#reducevg vgname hdiskx
#rmdev hdiskx
将丢失的PV从系统中删除。(可用extendvg �f vgname hdiskn命令加新的
PV至VG中)。

5.当ODM中的有关Rootvg的信息毁坏时,可用下面的scrīpt文件恢复ODM中
的VGDA信息。
#vi scrīpt
PV=/dev/ipldevice
VG=rootvg
cp /etc/objrepos/CuAt /etc/objrepos/CuAt.$$
cp /etc/objrepos/CuDep /etc/objrepos/CuDep.$$
cp /etc/objrepos/CuDv /etc/objrepos/CuDv.$$
cp /etc/objrepos/CuDvDr /etc/objrepos/CuDvDr.$$
lqueryvg �Lp $PV |awk '{print $2}' |while read Lvname;
do
odmdelete �q "name=$Lvname" �o CuAt
odmdelete �q "name=$Lvname" �o CuDv
odmdelete �q "value3=$Lvname" �o CuDvDr
done
odmdelete �q "name=$VG" �o CuAt
odmdelete �q "parent=$VG" �o CuDv
odmdelete �q "name=$VG" �o CuDv
odmdelete �q "name=$VG" �o CuDep
odmdelete �q "dependency=$VG" �o CuDep
odmdelete �q "value1=10" �o CuDvDr
odmdelete �q "value3=$VG" �o CuDvDr
importvg �y $VG $PV#igonre lvaryoffvg errors
varyonvg $VG
#./scrīpt hdiskn

6.迁移Rootvg时应注意:
重新创建BLV(BootLV),更改Bootlist,更改系统的DUMP设备。
迁移Rootvg的步骤:
#smit mksysb
先备份Rootvg,然后将新硬盘安装至系统
#bosboot �ad /dev/newdisk
在新硬盘上创建BLV
然后更新系统的Bootlist(参看系统安装说明)并重启
#mkboot �c �d /dev/olddisk
将欲移出的硬盘上的Boot记录删除
#savebase [-d /dev/newdisk]
将设备配置库中的设备信息保存在新硬盘上
#sysdumpdev �p /dev/sysdumpnull
激活临时的DUMP设备
#sysdumpdev �p /dev/hd6
重置系统的DUMP设备
#migratepv olddisk newdisk
将旧硬盘上的LV迁移至新硬盘上
#reducevg vgname olddisk
将旧硬盘从Rootvg中迁移出来
#rmdev �dl olddisk
将旧硬盘从系统和ODM数据库中删除
#extendvg [-f] vgname newdisk
将新硬盘加入到Rootvg中。

7.从Rootvg中卸载PV的步骤:
#migratepv �l lvname 欲卸载PV 保留PV
将在欲卸载的PV上的,与Rootvg有关的LV迁移至保留在Rootvg中的PV上
#backup �u �0 �f /dev/rmtn /fsname
将欲迁移至新VG的FS备份下来
#rmfs /fsname
删除欲卸PV上的FS
#reducevg rootvg 欲卸载PV
将欲卸载的PV从Rootvg中卸下
#mkvg �y 'newvg' 欲卸载PV
在此PV上创建新的VG
#varyonvg newvg
将新VG挂在系统上
#smit crfs
#mount /fsname
将FS安装在新VG上
#cd /fsname
#restore �rvf /dev/rmtn /fsname
#rm restoresymtable
将FS恢复到新VG上(以上步骤不适用于迁移BLV和系统DUMP设备)。

8.在同一VG中迁移FS:
#migratepv �l lvname 源PV 目标PV

9.在不同的VG间迁移FS:
#smit crfs
在目标VG上创建一与源FS大小相同的临时FS
#mount /tempfs
将临时FS安装目标VG上
#cd /sourcefs
#find . � print|tar cvf /tempfs
将源FS的内容拷贝至临时FS
#smit crfs
#mount /newfs
在目标VG上创建一与临时FS大小相同的新FS
#cd /tempfs
#find . �print|tar cvf /newfs
将临时FS的内容拷贝至新FS
#rmfs /tempfs
将目标VG中的临时FS删除。(源FS和新FS可以同名)。

10.在不重新创建和删除VG的基础上,更改VG名:
#umount �a
卸载所有属于VG的FS
#varyoffvg VG_Name
#exportvg VG_Name
卸载VG
#smitty importvg
装载VG,在VG name域中输入新的VG名,在PV name域中输入属于此VG的任一块PV名
#mount FS_Name
装载所有属于此VG的FS

AIX 存储笔记

1.基本概念:
PV 物理卷:普通的直接访问的存储设备,有固定的和可移动的之分,代表性的就是硬盘。
vg 卷组:AIX中最大的存储单位,一个卷组由一组物理硬盘组成,也就是由一个或多个物理卷组成。
pp 物理分区:是把物理卷划分成连续的大小相等的存储单位,一个卷组中的物理分区大小都相等。
lp 逻辑分区:适映射物理分区的逻辑单位,一个逻辑分区可以对应一个也可以对应多个物理分区。
lv 逻辑卷:是指卷组中由多个逻辑分区组成的集合,逻辑卷中的逻辑分区是连续的,但是对应的物理分   区是不连续的,可以在一个磁盘上,也可以在不同的磁盘上。
fs 文件系统:是指在AIX系统中面向用户的存储空间。一个逻辑卷只能创建一个文件系统,也就是说一个    文件系统对应一个逻辑卷,如果删除逻辑卷也将删除文件系统。


2.存储结构:
逻辑卷lv 不能被直接访问,是生设备(裸设备),逻辑卷上建文件系统,文件系统可以被用户访问,是熟设备。文件系统里建目录,目录下建文件。
物理卷,卷组,物理分区,逻辑卷,逻辑分区,逻辑卷是面向操作系统的概念
文件系统,目录,文件是面向用户的概念。 

3.LVM的配置数据
卷组描述区(VGDA):描述卷组中的所有物理卷和逻辑卷的对应关系
卷组状态区(VGSA):记录卷组中物理卷和物理分区的状态信息,在卷组激活时,确定哪些物理分区可用
逻辑卷控制块(LVCB):位于每个逻辑卷开头,包含逻辑卷的信息,占用数百个字节

LVM管理命令就是对VGDA内容的更新,当一块硬盘变成PV时,这个硬盘开始保留一部分空间存放VGDA信息,当把它加入卷组中时,开始将卷组信息写入VGDA区域,当把它从卷组删除时,也同时清除VGDA数据,这个数据还存在于AIX系统的ODM库中,当导入一个卷组时,把VGDA信息写入ODM,导出时删除。 

4.磁盘Quorum
卷组的每一个物理卷至少包含着一份VGDA和VGSA。当一个卷组只有一块硬盘时,这块硬盘存有两份VGDA和VGSA,当这个卷组由两块硬盘时,其中一块存有两份,另一块存有一份,当卷组由三块以上硬盘时,每块硬盘存有一份。  如果磁盘Quorum存在,则必须保证卷组有51%以上的VGDA/VGSA可以正常访问。淡然也可以关闭磁盘Quorum。

5.逻辑存储管理的限制
VG数:每个系统最多255个VG
PV数:对于普通卷组,每个VG最多32个PV,对于大VG,每个卷组最多128个PV
PP数:每个PV最多有1016个PP
LV数:对于普通VG,每个卷组最多255个LV,对于大VG,每个VG最多512个LV
LP数:每个LV最多有32512个LP
PP和LP的大小:1M到1024M 必须是2的幂次方
LP映射PP的数量:一个LP可以映射1-3个PP

6.物理区域的分布
外边缘(Outer-Edge):存放很少访问的数据
外中间(Outer-Middle):创建逻辑卷时默认的位置
中间(Center):磁盘搜索时间最短,速度最快。
内中间(Inner-Middle):比中间稍慢一些
内边缘(Inner-Edge)存放很少访问的数据

7.向系统添加一块硬盘

方法一:
添加硬盘后起动机器,自动运行cfgmgr,直接查看结果,如果没有识别再手工配置。
#cfgmgr -v
#lspv
#chdev -l hdisk2 -a pv=yes

方法二:
系统不能重起时,县查看原有硬盘,然后安装新硬盘,检查新设备,配置新设备
#lspv
#cfgmgr -v
#lspv
#chdev -l hdisk2 -a pv=yes
#mkdev -c disk -s scsi -t 670mb -p scsi3 -w 6,0 -a pv=yes
#smit makdsk

8.修改物理卷属性
#chpv -a n hdisk1    禁止hdisk1在分配新的PP
#chpv -a y hdisk1    允许

#chpv -v r hdisk1    关闭hdisk1的可用性,无法通过逻辑形式读写和访问该物理卷
#chpv -v a hdisk1    允许

#chpv -c hdisk1      清除hdisk1上的引导记录
#smit chpv

9.显示物理卷信息

#lsdev -Cc disk  显示系统一定义和已配置的物理卷
#lspv            以不带任何参数的形式显示系统中所有物理卷信息 
#lspv hdisk0     显示一个物理卷hdisk0的属性
#lspv -l hdisk0  显示物理卷hdisk0上分布的逻辑卷。
#lspv -p hdisk0  显示物理卷上每个逻辑卷物理分区的分布情况,同时显示逻辑卷类型和文件mount点。
#lspv -M hdisk0  显示物理分区和逻辑分区的对应情况。

10迁移物理卷上的内容:

a.确定系统中有哪些磁盘可用
#lsdev -Cc dev
#lspv
#extendvg rootvg hdisk5

b.检查卷组中包含哪些磁盘,确认源磁盘和目标磁盘在同一个卷组中,
#lsvg -p rootvg
c.确定目的盘上有足够的空间存放源盘的内容
#lspv hdisk0 |grep "USED PPs"
#lspv hdisk5 |grep "USED PPs"
d.如果是rootvg 上的磁盘,检查引导逻辑卷是否在源磁盘上
#lspv -l hdisk0 |grep hd5
#megratepv -l hd5 hdisk0 hdisk5

e.重设系统引导记录
#bosboot -a -d /dev/hdisk5
#bosboot -m normal hdisk5
#mkboot -c -d /dev/hdisk0

f.迁移
#smit migratevg
#migratevg hdisk0 hdisk5
#migratevg -l lv01 hdisk0 hdisk5

g.删除原盘数据
#reducevg rootvg hdisk0
#rmdev -dl hdisk0
 

11.卷组管理

#mkvg -y datavg -d 6 -s 8 hdisk7 hdisk8
#smit mkvg      创建卷组是保证/etc/vg下有2M空间
#lsvg           查看系统所有VG
#lsvg -o        查看激活状态的VG
#lsvg rootvg    查看rootvg属性
#lsvg -l rootvg 查看rootvg里的LV
#lsvg -p rootvg 查看rootvg中包含的物理卷

#chvg -ay datavg 使卷组启动时自动激活
#chvg -an datavg 使卷组启动时不能自动激活
#chvg -u datavg  给卷组解锁

#extendvg datavg hdisk5
#reducevg datavg hdisk5
#varyonvg datavg
#varyoffvg datavg
#exportvg datavg
#importvg -y datavg hdisk5
#syncvg -p hdisk03 hdisk05   同步物理卷
#syncvg -v vg05 vg06         同步卷组vg05和vg06上的拷贝
#redefinevg -d hdisk0 rootvg   在ODM库中重定义卷组信息,

#swapoff paging_spce_name  使页面空间处于非活动状态
#mirrorvg -c 3 datavg   做3份拷贝的卷组镜像
#mirrorvg -S -c 3 datavg    后台同步

镜像环境中替换磁盘
#unmirrorvg datavg hdiak7   删除hdisk7上的镜像
#reduncevg datavg hdisk7    在卷组中删除hdisk7
#rmdev -dl hdisk7           在系统中删除hdisk7
#extendvg datavg hdisk7     将新盘加入datavg
#mirrorvg datavg            给卷组datavg做镜像
#unmirrorvg                 取消卷组镜像

12.逻辑卷管理

#getlvcb -TA hd2   查看逻辑卷控制块信息
#lsvg -l rootvg  查看rootvg上的逻辑卷信息
#lslv mylv        查看一个lv的详细属性
#lslv -l lv_01   显示一个逻辑卷所跨越的物理卷,以及PP在物理卷上的分布情况
#lslv -p hdisk1  显示物理卷上的逻辑卷分配图