ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

sql plusµÄ·Ç½»»¥Ê½Ê¹ÓÃ
2015-11-21 01:51:58 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:0´Î
Tags£ºsql plus ½»»¥Ê½ ʹÓÃ

sqlplus½»»¥½çÃæ´æÔÚµÄÎÊÌâ sqlplusµÄÁ½Öַǽ»»¥Ê½Ê¹Ó÷½Ê½ 1 ͨ¹ýÍⲿÃüÁîÎļþ 2 ͨ¹ý±ê×¼ÊäÈë ÀûÓùܵÀ×öºóÐø´¦Àí ÐèҪעÒâµÄµØ·½ Ò»¸ö¼òµ¥µÄ½Å±¾

1 sqlplus½»»¥½çÃæ´æÔÚµÄÎÊÌâ

sqlplusÊÇORACLEÊý¾Ý¿âµÄ×îÖØÒªµÄ¹Ù·½ÃüÁîÐпͻ§¶ËÈí¼þ£¬ÊÇDBAµÄ±Ø±¸¹¤¾ß£¬Ê¹ÓÃËü¿ÉÒÔÍê³É¼¸ºõÈ«²¿µÄ¹ÜÀíÈÎÎñ¡£È»¶ø£¬sqlplusµÄ½»»¥½çÃæ²¢²»ÊǷdz£ÓѺã¬ÊäÈëÃüÁîʱ²»¾ßÓÐÀúÊ·ÃüÁî¼Ç¼¹¦ÄÜ£»Ä¬ÈϵÄÊä³ö½á¹û¸üÊDz»¿°ÈëÄ¿¡£ÔÚÒ×ÓÃÐÔ·½Ã棬sqlplusȷʵ±Èmysql¿Í»§¶Ë²îÁ˲»ÉÙ¡£

¼ÈÈ»sqlplus½»»¥Ä£Ê½´æÔÚÕâô¶àµÄ²»±ã£¬ÄÇô²»Èç¸É´àÖ±½ÓʹÓ÷ǽ»»¥Ä£Ê½Ê¹ÓÃËü£¬ÔÙ½èÖú²Ù×÷ϵͳÌṩµÄshell¹¤¾ß¼¯À´Ð­ÖúÍê³É¸ü¸´ÔÓµÄÈÎÎñ¡£sqlplus±¾Éí¾ÍÊÇÖ§³Ö·Ç½»»¥Ê½Ê¹Óõ쬶øÇÒÖ§³ÖµÄ·Ç³£ºÃ£¬·ûºÏÒ»°ãµÄUnixÉè¼ÆÕÜѧ£º´Ó±ê×¼ÊäÈë¶ÁÈ¡ÃüÁ°Ñ½á¹ûдµ½±ê×¼Êä³ö¡£

2 sqlplusµÄÁ½Öַǽ»»¥Ê½Ê¹Ó÷½Ê½

sqlplusÔڷǽ»»¥Ä£Ê½Ï£¬¿ÉÒÔ´ÓÁ½¸öµØ·½ÎªÆäÌṩsqlÃüÁһÊÇͨ¹ýÍⲿÎļþ£¬¶øÊÇͨ¹ý±ê×¼ÊäÈë¡£

2.1 ͨ¹ýÍⲿÃüÁîÎļþ

sqlplus Óû§Ãû/ÃÜÂë@·þÎñÆ÷IP/ÕìÌý·þÎñÃû @ÃüÁîÎļþÃû

ÏÂÃæ¾ÙÒ»¸öÀý×Ó¡£
ÃüÁîÎļþÃûΪ 1.sql£¬ÄÚÈÝÈçÏ£º

select count(*) from dba_objects;
exit;

Ö´ÐÐÃüÁîΪ£º

sqlplus sys/***@172.16.2.190/xgdb.db001.xigang @1.sql

´ËʱִÐÐÍê±Ï»á°Ñ½á¹ûÊä³ö¡£
ÕâÖÖÍⲿÃüÁîÎļþµÄ·½Ê½£¬ÐèÒª½¨Á¢µ¥¶ÀµÄÎïÀíÎļþÀ´´æ´¢ÃüÁÊʺϾ­³£Ê¹ÓõĴóÅúÁ¿¹ÜÀíÈÎÎñ¡£

2.2 ͨ¹ý±ê×¼ÊäÈë

¼ÈÈ»sqlplus´Ó±ê×¼ÊäÈëÀ´¶ÁÈ¡ÃüÁÄÇô¾Í¿ÉÒÔÀûÓùܵÀ°ÑÃüÁî·¢Ë͸øËü¡£

echo ÃüÁî | sqlplus Óû§Ãû/ÃÜÂë@·þÎñÆ÷IP/ÕìÌý·þÎñÃû

ÕâÖÖ·½Ê½²»ÐèÒªÔÚÃüÁîÖаüº¬ exit£»,ÒòΪsqlplusÖ´Ðкó×Ô¶¯Í˳ö¡£ÏÂÃæÊǸöÀý×Ó£º

echo 'select count(*) from dba_objects;' | sqlplus sys/***@172.16.2.190/xgdb.db001.xigang as sysdba

ÕâÑùÖ´Ðкó½á¹ûÊä³öµ½ÆÁÄ»£¬ÓÉÓÚsqlÓï¾äÊÇbashÃüÁîµÄ²ÎÊý£¬¶øÕû¸öÃüÁîÐпÉÒÔͨ¹ýbash·½±ãµÄÀúÊ·¼Ç¼À´Öظ´µ÷Óá£ÓÖ¿ÉÒÔ·½±ãµÄʹÓÃÉÏϼýÍ·À´Öظ´Ê¹ÓÃÖ´ÐйýµÄsqlÓï¾äÁË¡£

3 ÀûÓùܵÀ×öºóÐø´¦Àí

¼ÈÈ»sqlplus°Ñ½á¹ûÊä³öµ½Á˱ê×¼Êä³ö£¬ÄÇô¾Í¿ÉÒÔ½èÖú¹ÜµÀ£¬Ê¹ÓÃsed,awkµÈÎÄ×Ö´¦Àí¹¤¾ßÀ´µÃµ½ÏëÒªµÄÊä³ö¡£

echo -e 'set pagesize 0\nselect table_name,owner from dba_tables;' | sqlplus -S sys/***@172.16.2.190/xgdb.db001.xigang as sysdba | awk '{printf("%-10d%-30s%-20s\n",NR,$1,$2);}'

4 ÐèҪעÒâµÄµØ·½

ʹÓÃÍⲿÎļþʱ£¬ÎļþÖеÄÃüÁîÓë½»»¥Ê½Ê¹ÓÃÍêÈ«Ïàͬ£¬ÎÞÐèµ£ÐÄ¡£

ʹÓÃecho + ¹ÜµÀÊäÈëʱ£¬Òª±ÜÃâ bash Ôª×Ö·ûµÄ¸ÉÈÅ¡£Ò»¶¨Òª°ÑsqlÃüÁîʹÓõ¥ÒýºÅ»òË«ÒýºÅ±£»¤ÆðÀ´¡£µ±sqlÃüÁîÖÐÓе¥ÒýºÅʱ£¬Ó¦Ñ¡ÔñʹÓÃË«ÒýºÅ±£»¤¡£Èç

echo  "insert into t1(name) values('°Â°ÍÂí');" | sqlplus ...

ÁíÍ⣬sqlplus²»ÔÊÐí°ÑsqlplusÖ¸ÁîºÍsqlÃüÁî»ìºÏÔÚÒ»ÐÐʹÓ᣶øÇÒsqlÃüÁî±ØÐëÒÔ;½áβ¡£ÕâÑù±ØÐëʹÓÃecho -e Ñ¡ÏîÀ´¿ªÆô°Ñ¡±\n¡±½âÊͳɻ»Ðзû¡£ÀýÈç

echo -e 'set pagesize 0\nset linesize 100\nselect * from dba_objects;' | sqlplus ...

5 Ò»¸ö¼òµ¥µÄ½Å±¾

ÉÏÊöÃüÁîÐз½Ê½ËäÈ»¿ÉÒÔ·½±ãµÄͨ¹ýbashµÄÀúÊ·¼Ç¼¹¦Äܵ÷ÓÃÖ´ÐйýµÄsqlÓï¾ä£¬µ«ÊÇÃüÁîÐÐÖгýÁËsqlÓï¾ä»¹ÓдóÁ¿µÄÆäËûÄÚÈÝ£¬ÏԵ÷±Ëö¡£ËùÒÔ£¬Ð´Ò»¸öС½Å±¾£¨ÎļþÃûΪsql£©»áÈõ÷ÓÃÆðÀ´·Ç³£·½±ã£¬ÈçÏ£º

#!/bin/bash - if [ $# -ne 1 ] then echo "Usage: $0 'SQL statement'" else SQL="set pagesize 0\nset linesize 300\n$1" echo -e "$SQL" echo -e "$SQL" | sqlplus -S sys/***@172.16.2.190/xgdb.db001.xigang as sysdba fi 

ÕâÑùµ÷ÓÃÆðÀ´¾ÍÏñÏÂÃæÒ»Ñù¡£

sql 'select * from dba_objects;' 

ÕâÑùÏԵ÷dz£¸É¾»ÀûÂ䣬¶øÇÒÒ²²»»áÔÚÀúÊ·ÃüÁîÖмÇÏÂORACLEµÄÕË»§ÐÅÏ¢£¬Ïà¶ÔÒ²°²È«¡£

¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºPostgre SQL»ù±¾ÃüÁî ÏÂһƪ£ºSQLÊý¾Ý¿âµÄÉý¼¶¹ý³Ì¨D½â¾öWMI·þÎ..

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ: