Oracle Database 10g Release 2 (10.2.0.1) Installation On Red Hat Enterprise Linux 5 (RHEL5)
Ò»°²×°ÐèÇó
1.swap ·ÖÇø²»µÍÓÚ2G
2.selinux ״̬disable
3.ÎïÀíÄÚ´æ²»µÍÓÚ512M
ϵͳ×é¼þ
GNOME Desktop Environment
Editors
Graphical Internet
Text-based Internet
Development Libraries
Development Tools
Legacy Software Development
Server Configuration Tools
Administration Tools
Base
Legacy Software Support
System Tools
X Window System
¶þ°²×°¹ý³Ì
1.Èí¼þÏÂÔØ
http://www.oracle.com/technology/software/products/database/oracle10g/index.html
2.½â°ü
unzip 10201_database_linux32.zip
3. hostÅäÖÃ
vi /etc/hosts
ÖеÄ127.0.0.1¸Ä³É192.168.0.6
vi /etc/sysctl.conf file:
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=2621 ......
Oracle Database 10g Release 2 (10.2.0.1) Installation On Red Hat Enterprise Linux 5 (RHEL5)
Ò»°²×°ÐèÇó
1.swap ·ÖÇø²»µÍÓÚ2G
2.selinux ״̬disable
3.ÎïÀíÄÚ´æ²»µÍÓÚ512M
ϵͳ×é¼þ
GNOME Desktop Environment
Editors
Graphical Internet
Text-based Internet
Development Libraries
Development Tools
Legacy Software Development
Server Configuration Tools
Administration Tools
Base
Legacy Software Support
System Tools
X Window System
¶þ°²×°¹ý³Ì
1.Èí¼þÏÂÔØ
http://www.oracle.com/technology/software/products/database/oracle10g/index.html
2.½â°ü
unzip 10201_database_linux32.zip
3. hostÅäÖÃ
vi /etc/hosts
ÖеÄ127.0.0.1¸Ä³É192.168.0.6
vi /etc/sysctl.conf file:
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=2621 ......
ÒÔÏÂÔÚcentos5.3ÉÏʵÑé¡£ÔÚlinuxÖÐsignalº¯ÊýÊÇͨ¹ýµ÷ÓÃsigactionÀ´ÊµÏֵģ¬ÓÉ´ËËü²»´æÔÚÐźŶªÊ§ÒÔ¼°Ã¿´ÎÐźŴ¦Àíºó»á°ÑÐźŴ¦Àí¸Ä³ÉĬÈÏ´¦Àí·½Ê½¡£µ«¶ÔÓÚϵͳµ÷Óú¯Êý±»ÐźŴò¶Ïʱ£¬ÏµÍ³µ÷ÓÃÊÇ·ñ»á×Ô¶¯Æô¶¯ºÃÏñûÔõô˵Ã÷¡£²»¹ý¿ÉÒÔ×Ô¼º¶¯ÊÖ¿´Ò»Ï£º
signal(SIGTERM, term_handler);
sigaction(SIGTERM, NULL, &term);
printf("0x%x, 0x%x\n", term.sa_flags, term.sa_flags&SA_RESTART);
×îºó´òÓ¡½á¹ûÊÇ 0x10000000, 0x10000000.Ò²¾ÍÊÇ˵ÔÚlinuxÏÂsignalº¯ÊýÖ»ÓÐĬÈÏÒ»¸öflag£¬SA_RESTART(ϵͳµ÷ÓÃ×Ô¶¯ÖØÆô£©¡£
²»¹ý×îºÃ»¹ÊÇÓà sigismemberÀ´²âÊÔ£¬±Ï¾¹sa_flagsÊÇÓÐ64bitsµÄ¡£ ......
ת×Ô£º
http://www.ibm.com/developerworks/cn/linux/kernel/syscall/part1/appendix.html
±¾ÎÄÁгöÁ˴󲿷ֳ£¼ûµÄLinuxϵͳµ÷Ó㬲¢¸½ÓмòÒªÖÐÎÄ˵Ã÷¡£
ÒÔÏÂÊÇLinuxϵͳµ÷ÓõÄÒ»¸öÁÐ±í£¬°üº¬Á˴󲿷ֳ£ÓÃϵͳµ÷ÓúÍÓÉϵͳµ÷ÓÃÅÉÉú³öµÄµÄº¯Êý¡£Õâ¿ÉÄÜÊÇÄãÔÚ»¥ÁªÍøÉÏËùÄÜ¿´µ½µÄΨһһƪÖÐÎÄ×¢Ê͵ÄLinuxϵͳµ÷ÓÃÁÐ±í£¬¼´Ê¹ÊǼòµ¥µÄ×ÖĸÐòÓ¢ÎÄÁÐ±í£¬ÄÜ×öµ½ÕâôÍêȫҲÊǺܺ±¼ûµÄ¡£
°´ÕÕ¹ßÀý£¬Õâ¸öÁбíÒÔman
pagesµÚ2½Ú£¬¼´ÏµÍ³µ÷ÓýÚΪÀ¶±¾¡£°´ÕÕ±ÊÕßµÄÀí½â£¬¶ÔÆä×÷ÁË´óÖµķÖÀ࣬ͬʱҲ×÷ÁËһЩССµÄÐ޸ģ¬É¾È¥Á˼¸¸ö½ö¹©ÄÚºËʹÓ㬲»ÔÊÐíÓû§µ÷ÓõÄϵͳµ÷Ó㬶Ըö±ð±¾ÈËÉÔ¾õ²»Í׵ĵط½×÷ÁËһЩСµÄÐ޸쬲¢¶ÔËùÓÐÁгöµÄϵͳµ÷Óø½ÉϼòҪעÊÍ¡£
ÆäÖÐÓÐһЩº¯ÊýµÄ×÷ÓÃÍêÈ«Ïàͬ£¬Ö»ÊDzÎÊý²»Í¬¡££¨¿ÉÄܺܶàÊìϤC++ÅóÓÑÂíÉϾÍÄÜÁªÏëÆðº¯ÊýÖØÔØ£¬µ«ÊDZðÍüÁËLinuxºËÐÄÊÇÓÃCÓïÑÔдµÄ£¬ËùÒÔÖ»ÄÜÈ¡³É
²»Í¬µÄº¯ÊýÃû£©¡£»¹ÓÐһЩº¯ÊýÒѾ¹ýʱ£¬±»ÐµĸüºÃµÄº¯ÊýËù´úÌæÁË£¨gccÔÚÁ´½ÓÕâЩº¯Êýʱ»á·¢³ö¾¯¸æ£©£¬µ«ÒòΪ¼æÈݵÄÔÒò»¹±£Áô×Å£¬ÕâЩº¯ÊýÎÒ»áÔÚÇ°Ãæ
±êÉÏ“*”ºÅÒÔÊ¾Çø±ð¡£
Ò»¡¢½ø³Ì¿ØÖÆ£º
fork
´´½¨Ò»¸öнø³Ì
clone
°´Ö¸¶¨Ìõ¼þ´´½¨×Ó½ø³Ì
execve
ÔËÐпÉÖ´Ð ......
LinuxÆô¶¯Ê±£¬µÚÒ»¸ö±ØÐë¹ÒÔØµÄÊǸùÎļþϵͳ£»Èôϵͳ²»ÄÜ´ÓÖ¸¶¨É豸ÉϹÒÔØ¸ùÎļþϵͳ£¬Ôòϵͳ»á³ö´í¶øÍ˳öÆô¶¯¡£Ö®ºó¿ÉÒÔ×Ô¶¯»òÊÖ¶¯¹ÒÔØÆäËûµÄÎļþϵͳ¡£Òò´Ë£¬Ò»¸öϵͳÖпÉÒÔͬʱ´æÔÚ²»Í¬µÄÎļþϵͳ¡£²»Í¬µÄÎļþϵͳÀàÐÍÓв»Í¬µÄÌØµã£¬Òò¶ø¸ù¾Ý´æ´¢É豸µÄÓ²¼þÌØÐÔ¡¢ÏµÍ³ÐèÇóµÈÓв»Í¬µÄÓ¦Óó¡ºÏ¡£ÔÚǶÈëʽLinuxÓ¦ÓÃÖУ¬Ö÷ÒªµÄ´æ´¢É豸ΪRAM(DRAM, SDRAM)ºÍROM(³£²ÉÓÃFLASH´æ´¢Æ÷)£¬³£ÓõĻùÓÚ´æ´¢É豸µÄÎļþϵͳÀàÐͰüÀ¨£ºjffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfsµÈ¡£
1£¬»ùÓÚFLASHµÄÎļþϵͳ£ºÒ»°ãÇé¿öÏ£¬ÏòFlashдÈëÄÚÈÝʱ£¬ÐèÒªÏȲÁ³ý¶ÔÓ¦µÄ´æ´¢Çø¼ä£¨²Á³ý¸úдÈëÊÇ·Ö¿ªµÄ£©£¬ÕâÖÖ²Á³ýÊÇÒÔ¿é(block)Ϊµ¥Î»½øÐеġ£Òò´Ë£¬±ØÐëÕë¶ÔFlashµÄÓ²¼þÌØÐÔÉè¼Æ·ûºÏÓ¦ÓÃÒªÇóµÄÎļþϵͳ£»´«Í³µÄÎļþϵͳÈçext2µÈ£¬ÓÃ×÷FlashµÄÎļþϵͳ»áÓÐÖî¶à±×¶Ë¡£ÔÚǶÈëʽLinuxÏ£¬MTD(Memory Technology Device,´æ´¢¼¼ÊõÉ豸)Ϊµ×²ãÓ²¼þ(ÉÁ´æ)ºÍÉϲã(Îļþϵͳ)Ö®¼äÌṩһ¸öͳһµÄ³éÏó½Ó¿Ú£¬¼´FlashµÄÎļþϵͳ¶¼ÊÇ»ùÓÚMTDÇý¶¯²ãµÄ£¬Ê¹ÓÃMTDÇý¶¯³ÌÐòµÄÖ÷ÒªÓŵãÔÚÓÚËü¶ÔFlashÓиüºÃµÄÖ§³Ö¡¢¹ÜÀíºÍ»ùÓÚÉÈÇøµÄ²Á³ý¡¢¶Á/д²Ù×÷½Ó¿Ú¡ ......
Linuxϸ߲¢·¢µÄSquid·þÎñÆ÷£¬TCP TIME_WAITÌ×½Ó×ÖÊýÁ¿¾³£´ïµ½Á½¡¢ÈýÍò£¬·þÎñÆ÷ºÜÈÝÒ×±»ÍÏËÀ¡£Í¨¹ýÐÞ¸ÄLinuxÄں˲ÎÊý£¬¿ÉÒÔ¼õÉÙSquid·þÎñÆ÷µÄTIME_WAITÌ×½Ó×ÖÊýÁ¿¡£
¡¡¡¡
vi /etc/sysctl.conf
¡¡¡¡Ôö¼ÓÒÔϼ¸ÐУº
ÒýÓÃ
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
¡¡¡¡ËµÃ÷£º
¡¡¡¡net.ipv4.tcp_syncookies = 1 ±íʾ¿ªÆôSYN Cookies¡£µ±³öÏÖSYNµÈ´ý¶ÓÁÐÒç³öʱ£¬ÆôÓÃcookiesÀ´´¦Àí£¬¿É·À·¶ÉÙÁ¿SYN¹¥»÷£¬Ä¬ÈÏΪ0£¬±íʾ¹Ø±Õ£»
¡¡¡¡net.ipv4.tcp_tw_reuse = 1 ±íʾ¿ªÆôÖØÓá£ÔÊÐí½«TIME-WAIT socketsÖØÐÂÓÃÓÚеÄTCPÁ¬½Ó£¬Ä¬ÈÏΪ0£¬±íʾ¹Ø±Õ£»
¡¡¡¡net.ipv4.tcp_tw_recycle = 1 ±íʾ¿ªÆôTCPÁ¬½ÓÖÐTIME-WAIT socketsµÄ¿ìËÙ»ØÊÕ£¬Ä¬ÈÏΪ0£¬±íʾ¹Ø±Õ¡£
¡¡¡¡net.ipv4.tcp_fin_timeout = 30 ±íʾÈç¹ûÌ×½Ó×ÖÓɱ¾¶ËÒªÇ󹨱գ¬Õâ¸ö²ÎÊý¾ö¶¨ÁËËü±£³ÖÔÚFIN-WAIT-2״̬µÄʱ¼ä¡£
¡¡¡¡net.ipv4.tcp_keepalive_time = 1200 ±í ......
O.S ʹÓÃGnu gprof½øÐÐLinuxƽ̨ϵijÌÐò·ÖÎö
¹Ø ¼ü ´Ê£ºgprof callgraph º¯ÊýÏûºÄµÄʱ¼ä LinuxÓ¦Ó÷ÖÎö
ÔĶÁÌáʾ£º±¾ÎĽéÉÜÁËÈçºÎʹÓÃGnu gprof ¶ÔLinuxƽ̨ϵÄÏÖÓгÌÐò½øÐÐÓÅ»¯·ÖÎöºÍÉú³É³ÌÐòµ÷ÓÃͼ¡£Ö÷ÒªÆ«ÖØÓÚ¶ÔÉú³ÉºÍʹÓÃÁ÷³Ìͼ×÷½éÉÜ¡£
Gprof ¼ò½é:
Gprof¹¦ÄÜ£º´òÓ¡³ö³ÌÐòÔËÐÐÖи÷¸öº¯ÊýÏûºÄµÄʱ¼ä£¬¿ÉÒÔ°ïÖú³ÌÐòÔ±ÕÒ³öÖڶຯÊýÖкÄʱ×î¶àµÄº¯Êý¡£²úÉú³ÌÐòÔËÐÐʱºòµÄº¯Êýµ÷ÓùØÏµ£¬°üÀ¨µ÷ÓôÎÊý£¬¿ÉÒÔ°ïÖú³ÌÐòÔ±·ÖÎö³ÌÐòµÄÔËÐÐÁ÷³Ì¡£
ÓÐÁ˺¯ÊýµÄµ÷ÓùØÏµ£¬Õâ»áÈÿª·¢ÈËÔ±´ó´óÌá¸ß¹¤×÷ЧÂÊ£¬²»Ó÷ÑÐĵØÈ¥Ò»µãµãÕÒ³ö³ÌÐòµÄÔËÐÐÁ÷³Ì£¬Õâ¶ÔС³ÌÐòÀ´Ëµ¿ÉÄÜЧ¹û²»ÊǺÜÃ÷ÏÔ£¬µ«¶ÔÓÚÓм¸Íò£¬¼¸Ê®Íò´ú ÂëÁ¿µÄ¹¤³ÌÀ´Ëµ£¬Ð§ÂÊÊÇÎãÓ¹ÖÃÒɵģ¡¶øÇÒÕâ¸ö¹¦ÄܶÔÓÚά»¤¾É´úÂë»òÕßÊÇ·ÖÎöOpen SourceÀ´ËµÄÇÊÇÏ൱ÓÕÈ˵ģ¬ÓÐÁ˵÷ÓÃͼ£¬¶Ô³ÌÐòµÄÔËÐпò¼ÜÒ²¾ÍÓÐÁËÒ»¸ö´óÌåÁ˽⣬֪µÀÁ˳ÌÐòµÄ“¹Ç¼Ü“£¬·ÖÎöËüÒ²¾Í²»»áÔÙÄÇôãȻ£¬ÓÈÆäÊǶÔ×Ô¼º²» ÊìϤµÄ´úÂëºÍOpen Source¡£·Ñ»°²»¶à˵ÁË£¬ÈÃÎÒÃÇ¿ªÊ¼ÎÒÃǵķÖÎöÖ®Âðɣ¡
Gprof ʵÏÖÔÀí£º
ͨ¹ýÔÚ±àÒëºÍ Á´½ÓÄãµÄ³ÌÐòµÄʱºò£¨Ê¹Óà -pg ±àÒëºÍÁ´½ÓÑ¡Ï£¬gcc ÔÚÄãÓ¦ ......