ºìÁªLinuxÃÅ»§
Linux°ïÖú

SybaseÊý¾Ý¿â±¸·Ý·½°¸(1)

·¢²¼Ê±¼ä:2005-09-07 17:35:36À´Ô´:ºìÁª×÷Õß:WWW
¶þ¡¢·ÖÊý¾Ý½á¹¹ºÍÊý¾Ý¼Ç¼×öÁ½´Î±¸·Ý

¡¡¡¡ÔÚÒ»°ãÇé¿öÏ£¬Éú²ú»úµÄÊý¾Ý¿â¶¼±È½ÏÅӴ󣬶øʵÑé»úÔòÏà¶Ô½ÏС£¬ÄÑÒÔÔÚʵÑé»·¾³ÖÐÒÔloadÃüÁî»Ö¸´¹¤×÷»úµÄÄÚÈÝ¡£ËùÒÔ£¬ÔÚ¹¤×÷ʵ¼ùÖУ¬ÎÒÃÇÃþË÷³öÁ˵ڶþÖÖÈ«Á¿±¸·Ý·½°¸¡£

¡¡¡¡1¡¢Êý¾Ý½á¹¹±¸·Ý

¡¡¡¡ÔÚwindowsƽ̨µÄSybase SQL Server Manager£¨Êý¾Ý¿â¹ÜÀí£©Æ½Ì¨ÖÐÑ¡ÔñServer¨¤Generate ddlÔò²úÉúÕû¸öÊý¾Ý¿â·þÎñÆ÷µÄËùÓÐÐÅÏ¢£¬Èç¹ûÑ¡Ôñdatabase¨¤generate ddlÔò²úÉúËùÑ¡¶¨Êý¾Ý¿âµÄÐÅÏ¢£¬ÒÔmaster¿âΪÀý£¬²úÉúµÄÎļþÖ÷Òª°üÀ¨£ºconfig.ddl£¨ÅäÖã©¡¢devices.ddl£¨É豸£©¡¢database.ddl£¨Êý¾Ý¿â£©¡¢logins.ddl£¨Óû§£©¡¢remote.ddl£¨Ô¶³Ì£©¡¢cache.ddl£¨»º³å£©¡¢segment.ddl£¨£©¡¢group.ddl£¨Óû§×飩¡¢user.ddl£¨Óû§£©¡¢default.ddl£¨È·Ê¡£©¡¢rule.ddl£¨¹æÔò£©¡¢udt.ddl¡¢table.ddl£¨±í£©¡¢view.ddl£¨ÊÓͼ£©¡¢proc.ddl£¨´æ´¢¹ý³Ì£©¡¢triger.ddl£¨´¥·¢Æ÷£©¡£

¡¡¡¡2¡¢Êý¾Ý¼Ç¼±¸·Ý

¡¡¡¡½«Êý¾Ý¿â¸÷±íÒÔSybase×Ô´úµÄbcp£¨bulk copy£©¹¤¾ßµÄ·½Ê½µ¼³ÉÒ»¶¨¸ñʽµÄÎı¾Îļþ£¬ÃüÁî¸ñʽ£º
bcp ±íÃû out ·¾¶Ãû ÎļþÃû -c -t ·Ö¸ô·û -u £¨Óû§Ãû£©-p£¨ÃÜÂ룩-S£¨·þÎñÆ÷Ãû£©
Èç¹û½«Ò»¸öÊý¾Ý¿âÖеÄËùÓÐ±í¶¼×öÒ»¸öbcp±¸·Ý£¬¾ÍÐèÒªÕë¶Ôÿһ¸ö±í¶¼×öÒ»´Îbcp£¬ÔÚÒ»°ãÇé¿öÏ£¬Ò»¸öÊý¾Ý¿âÓÐ100¶à¸ö±í£¬¹¤×÷Á¿±È½Ï´ó¡£¿ÉÒÔÀûÓÃÊý¾Ý¿âÖеÄϵͳ±íÐÅÏ¢×öÒ»¸öbcp±¸·Ý½Å±¾¡£Ô­ÀíÊÇÿһ¸öÓû§±íÔÚϵͳ±íÖж¼ÓÐÐÅÏ¢¼ÇÔØ£¬¿ÉÒÔͨ¹ýisqlÓï¾ä²éѯµÃµ½¡£ÏÖ¾ÙÒ»Àý˵Ã÷£º

¡¡¡¡1£©¡¢Ïȱ༭һ¸öÃûΪmkbcpout.sqlµÄÎļþ£¬ÄÚÈÝÈçÏ£º


select "echo bcp '"+name+" out ¡­¡­¡­¡­¡­¡­¡­¡­'
"+"bcp "+name+" out ./+"name+".table -c -t '|' -Uuser -Ppassword -S SERVER" from sysobjects where type='U'
go

¡¡¡¡2£©¡¢Ö´ÐÐisqlÃüÁÒÔ´ËÎļþ×÷ΪÊäÈ룬ִÐнá¹ûÊä³öµ½ÁíÍâÒ»¸öÎļþÀ


isql -Uuser -Ppassword -S server -I mkbcpout.sql -O bcpout

¡¡¡¡3£©¡¢¶ÔbcppoutÎļþÉÔ΢Ð޸ģ¬Ôö¼Ó¿ÉÖ´ÐÐȨÏÞ


chmod +x bcpout

¡¡¡¡4£©¡¢Ö´ÐÐbcpout£¬µ¼³öÊý¾ÝÎı¾


./bcpout

¡¡¡¡3¡¢Êý¾Ý¿â»Ö¸´

¡¡¡¡ÒµÎñÉú²ú»ú¿ÉÄÜΪСÐÍ»ú£¬¶øʵÑ鿪·¢»·¾³µÄÓ²¼þ»·¾³ÎªPC server£¬°²×°ºÃwin nt»òSCO unixϵÄSybase·þÎñÆ÷ºó£¬¸ù¾ÝÐèÒª´´½¨¿Õ¼ä×ã¹»´óµÄÊý¾Ý¿âºÍtempdb£¨ÏµÍ³ÁÙʱÊý¾Ý¿â£©£¬´´½¨Êý¾Ý¿âÓû§£¬²¢½«Æä¸ü¸ÄΪ´ËÊý¾Ý¿âµÄËùÓÐÕߣ¬Òª×¢ÒâÁ½µã£º1£©´ËÊý¾Ý¿âÔÊÐíbcp¿½±´£¬2£©´ËÊý¾Ý¿â×Ô¶¯Çå³ýlog¡£ÃüÁî¸ñʽΪ£º

¡¡¡¡1> sp_dboption databasedbname ,"select into/bulkcopy",true

¡¡¡¡2> go

¡¡¡¡1> sp_dboption databasename,"trunc log on chkpt",true

¡¡¡¡2> go

¡¡¡¡ÉÏÊöÁ½¸öÅäÖÿÉÄÜÓëÉú²ú»úµÄÅäÖò»Í¬¡£

¡¡¡¡È»ºóÒÔд´½¨µÄÊý¾Ý¿âÓû§µÇ¼£¬µ¼ÈëÊý¾Ý½á¹¹£¬×¢ÒâÒªÊ×Ïȵ¼Èë±í½á¹¹£¬È»ºó²ÅÊÇ´æ´¢¹ý³Ì¡¢´¥·¢Æ÷µÈµÈ¡£ÃüÁî¸ñʽ£º

¡¡¡¡1¡¢ isql -Uusername -Ppassword -I table.ddl -o error.log.table

¡¡¡¡2¡¢ isql -Uusername -Ppassword -I proc.ddl -o error.log.proc

¡¡¡¡¡­¡­

¡¡¡¡ÎªÁËÌá¸ßbcpµ¼ÈëÊý¾ÝµÄËٶȣ¬ÐèÒª½«±È½Ï´óµÄ±íµÄË÷ÒýºÍÖ÷¼üɾ³ý£¬·ñÔòµÄ»°£¬Ã¿bcp½øÒ»ÌõÊý¾Ý£¬Êý¾Ý¿â¶¼×Ô¶¯Ð´Ò»ÌõlogÈÕÖ¾£¬¼ÇÔØ´ËÊý¾ÝµÄÉÏÒ»ÌõºÍÏÂÒ»Ìõ¼Ç¼£¬È·¶¨±¾¼Ç¼Ôڴ˱íÖеÄ׼ȷλÖã¬Ò»ÊÇÓ°ÏìbcpËٶȣ¬¶þÊÇÊý¾Ý¿âµÄlog·ÉËÙÅòÕÍ¡£Êý¾Ý¿âµÄ×Ô¶¯Çå³ýlog¹¦ÄÜÖ»ÓÐÔÚÒ»¸öÊÂÎñ½áÊøºó²ÅÆð×÷Óá£
×¼±¸¹¤×÷×öÍêºó£¬¿ªÊ¼µ¹ÈëÊý¾Ý¼Ç¼¡£Ê¹ÓÃÀàËÆ×öbcpoutµÄ·½·¨×öÒ»¸öbcpinµÄ½Å±¾£¬È»ºóÖ´ÐУº

¡¡¡¡¡¡./bcpin |tee error.bcpin

¡¡¡¡Ê¹ÓÃtee¹ÜµÀÊä³öµÄÄ¿µÄÊÇÈüÆËã»úÍêÕû¼Ç¼Ïµ¹Èë¹ý³Ì£¬×Ô¶¯´æÈëerror.bcpinÎļþÖУ¬´ýµ¹Èë½áÊøºó£¬ÎÒÃÇÖ»ÐèÒª¼ì²éÈÕÖ¾Îļþ£¬²»ÐèÒªÒ»Ö±½ô¶¢×żÆËã»úÆÁÄ»¡£

¡¡¡¡ËùÓй¤×÷×öÍêÖ®ºó£¬²»ÒªÍü¼ÇÖØн«É¾³ýµÄÖ÷¼üºÍË÷Òý½¨ÉÏ¡£

¡¡¡¡Èç¹ûÓÐÏֳɵÄÊý¾Ý¿â£¬Ö»ÐèÒªµ¥´¿µØµ¼ÈëÊý¾Ý¼Ç¼£¬ÔòÊ×ÏȽ«Êý¾Ý¿âÖÐËùÓÐÓû§±í£¨Ò²¾ÍÊÇËùÓÐtype="U"µÄ±í£©Çå¿Õ£¬ÃüÁî¸ñʽ£º

¡¡¡¡1> truncate table tablename

¡¡¡¡2> go

¡¡¡¡µ±È»×îºÃÒ²ÊÇÀûÓÃ×öbcpout½Å±¾µÄ×öÒ»¸ötruncate½Å±¾£¬Í¨¹ýÖ´Ðд˽ű¾½«ËùÓÐÓû§±íÇå¿Õ¡£È»ºóµÄÊý¾Ýµ¼Èë¡¢´¦ÀíË÷ÒýºÍÖ÷¼üµÄ¹ý³ÌÓëÉÏÃæÀàËÆ¡£

¡¡¡¡Èý¡¢ÀûÓÃ×öbcp±¸·Ý½Å±¾µÄ·½·¨×öÊý¾Ý¿âËéƬÕûÀí

¡¡¡¡SybaseÊý¾Ý¿â×÷ΪÁª»úÊÂÎñ´¦ÀíÓ¦Ó÷þÎñÆ÷£¬Ã¿ÌìÓ¦ÓóÌÐò¶¼¶ÔÊý¾Ý¿â×ö´óÁ¿µÄ²åÈë¡¢Ð޸ĺÍɾ³ýµÈ²Ù×÷£¬²»¿É±ÜÃâµÄÔÚÊý¾Ý¿âµÄÎïÀí´æ´¢½éÖÊÉÏÁôÏÂÒ³ËéƬºÍÀ©Õ¹µ¥ÔªËéƬ£¬´Ó¶øÓ°ÏìÊý¾Ý¿âµÄ´æ´¢Ð§ÂʺÍÔËÐÐËٶȡ£¾ßÌå±íÏÖΪ£ºÒµÎñ·±Ã¦Ê±³öÏÖËÀËø£¨dead lock£©£¬Êý¾Ý¿âµÄÊäÈë/Êä³ö×ÊÔ´±»´óÁ¿Õ¼Óã¬ÒµÎñ´¦ÀíËÙ¶ÈÂý¡£Æä½â¾ö°ì·¨ÊÇ£º

¡¡¡¡1¡¢ Çå¿ÕÊý¾Ý¿âÖеÄËùÓÐ±í£¬ÃüÁî¸ñʽ£º

¡¡¡¡¡¡¡¡isql -Uusername -Ppassword -I truncate.sql -o error.truncate

¡¡¡¡2¡¢ ɾ³ýËùÓбíµÄË÷ÒýºÍÖ÷¼ü

¡¡¡¡¡¡¡¡isql -Uusername -Ppassword -I dropindex.sql -o error.dropindex

¡¡¡¡3¡¢ µ¼ÈëÊý¾Ý

¡¡¡¡¡¡¡¡./bcpin

¡¡¡¡4¡¢ Ìí¼ÓË÷ÒýºÍÖ÷¼ü

¡¡¡¡¡¡¡¡isql -Uusername -Ppassword -I addindex.sql -o error.addindex

¡¡¡¡5¡¢ ¸üÐÂÊý¾Ý¿â״̬

¡¡¡¡¡¡¡¡1> update statistics tablename

¡¡¡¡¡¡¡¡2> go

¡¡¡¡ÉÏÊö²Ù×÷¶¼ÊÇÕë¶ÔÊý¾Ý¿âÖеÄËùÓÐÓû§±í½øÐеģ¬ÀûÓÃ×öbcp±¸·Ý½Å±¾µÄ·½·¨×ö³öÏàÓ¦µÄ½Å±¾£¬Ê¹·±ËöµÄÊý¾Ý¿âά»¤±äµÃ¼ò±ãÒ×ÐУ¬»¹¿Ë·þÁËÖ±½ÓʹÓÃisqlÓï¾ä²Ù×÷·çÏÕ´ó¡¢Ã»ÓвÙ×÷ÈÕÖ¾µÄ벡¡£

¡¡¡¡±ÊÕßÔÚʵ¼Ê¹¤×÷ÖУ¬Ê¹ÓõÚÒ»ÖÖ·½·¨¶ÔÉú²ú»ú×öÈÕ³£È«Á¿±¸·Ý£¬ÈÕÖÕͨ¹ýunixµÄcrontab¶¨Ê±ÅúÁ¿×÷Òµ£¨¾ßÌå×ö·¨Çë²Î¿¼¡¶Öйú½ðÈÚµçÄÔ¡·2001ÄêµÚ10ÆÚÓйØcrontabµÄÎÄÕ£©bcp³öÈ«²¿Êý¾Ý¡£Ê¹ÓøߵµPC server ´î½¨Ä£ÄâÔËÐл·¾³£¬ÔÚÐèÒªµÄÇé¿öϵ¼ÈëÉú²ú»úÊý¾Ý£¬´¦ÀíÔËÐÐÖкǫ́serverµÄ¸÷ÖÖÎÊÌ⣬´ýÑо¿³ö½â¾ö°ì·¨ºóÔÙÔÚÉú²ú»úÉÏ×öÏàÓ¦µ÷Õû£¬ÕâÑù×ö·çÏÕС£¬Ð§¹ûºÃ¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 4 ÌõÆÀÂÛ

  1. yuemao ÓÚ 2009-03-27 16:47:25·¢±í:

    ѧϰÁË

  2. jerry520 ÓÚ 2009-03-27 16:46:01·¢±í:

    ºÇºÇ,²»´í°¡!ѧϰÁË.

  3. Çؾ¸ ÓÚ 2005-10-25 00:03:47·¢±í:

    Ö§³Ö

  4. dboo78 ÓÚ 2005-10-19 00:23:26·¢±í:

    ²»´í£¬Ö§³Ö