Oracle常用工具使用-OSW oracle自带的工具
lipiwang 2024-10-18 09:39 9 浏览 0 评论
OSW是Oracle提供的一个监控操作系统的工具包,主要用于监视系统的状态,包括cpu,内存,io,网络等,可以运行于linux和windows,这个工具包可以从MOS上下载。Linux 平台下载参考MOS文档301137.1
对于Windows,建议使用Cluster Health Monitor,参考MOS文档736752.1。
1.1. 适用环境
OSWatcher可在AIX,Solaris,HP-UX和Linux 5.0及更高版本上运行。
1.2. OSWatcher概述
OSWatcher(oswbb)是一个可下载的实用程序,用于从操作系统中捕获性能指标。 OSWatcher的使用符合Oracle的标准许可条款,不需要额外的许可证即可使用。当你安装并运行oswbb作为性能诊断数据收集最佳实践的一部分时,你可以通过支持和开发帮助更快地解析SR。 oswbb由两个独立的组件组成:
1. oswbb:一个收集和存储数据的unix shell脚本数据收集器
2. oswbba:是一个绘图和分析工具,其捆绑在 OSWbb 中,它将自动分析数据并提供建议并生成图形和html文档
OSWbb收集数据,OSWbba 分析数据。这两个组件都包含在一个可下载的tar文件中。
1.3. 解压
[root@host1 software]# tar -xvf oswbb812-1.tar
[root@host1 oswbb]# chmod 744 *
1.4. OSWbb 安装配置
1.4.1. OSWbb说明
OSWbb 是UNIX 脚本的集合,其用来收集和归档数据,从来来帮助定位问题。 OSWbb 操作可以设置为一个后台进程,然后规则的收集数据,其调用Unix 的工具,如vmstat,netstat和iostat。
OSWbb 包含了RAC-DDT脚本,但RAC-DDT 不包含OSWbb。
OSWbb 包含一系列的shell 脚本。 OSWwaterch.sh 是总控制,其可以生成独立的shell 进程来收集不同的数据。
每个收集的信息都有自己独立的文件,文件名有时间戳。
数据收集的间隔由用户配置,但对一个OSWbb 实例来说,其所有的收集进程的间隔时间是一样的。
File Manager 用来控制日志文件只保留最后N个小时的信息,这个N由用户配置,默认是48小时。File Manager 每隔一小时被唤醒一次,用来删除超过N小时的日志。
OSWbb 直接调用系统命令来收集信息,每个收集的信息都对应一个后台进程,这些命令包括:
- ps
- top
- ifconfig
- mpstat
- iostat
- netstat
- traceroute
- vmstat
- sar (HP-UX Only)
- cpuinfo (Linux Only)
- meminfo (Linux Only)
- slabinfo (Linux Only)
1.4.2. OSW支持的平台
- AIX
- Solaris
- HP-UX
- Linux
1.4.3. 收集诊断数据
1.4.3.1. 安装OSWbb
OSWbb 需要在每个节点上安装。从MOS上下载的OSWbb 是tar 文件,使用如下命令对tar 文件进行解压缩,就会得到一个OSWbb的文件夹。
[root@host1 software]# tar -xvf oswbb812-1.tar
[root@host1 oswbb]# chmod 744 *
oswbb 文件夹包含了所有需要的文件。解压缩的过程就是OSWbb的过程,也就是说,OSWbb 不需要安装,直接解压缩即可。
1.4.3.2. 卸载OSWbb
卸载OSWbb,使用rm 命令移除整个文件夹即可,命令如下:
[root@host1 software]# rm -rf oswbb
1.4.3.3. 启动OSWbb
当OSWbb 安装完成之后,就可以使用start 和stop 脚本,在OSWbb第一次使用时,它会创建一些归档的子目录。 这些归档目录包含7个子目录,每一个子目录对应一个收集数据。 这7个目录分别对应:top, vmstat, iostat, mpstat, netstat, ps 和一个可选的trace private network。
要启动private network,必须先在oswbb目录下创建一个private.net的可执行文件。 这个文件里的内容可以是用来验证RAC private network的traceroute命令。
1.4.3.4. 启动OSWbb
启动OSWbb 功能用startOSWbb.sh 脚本。 这个脚本有4个参数,其用来控制数据收集的频率和归档数据保留的时间。
ARG1 = snapshot interval in seconds.
ARG2 = the number of hours of archive data to store.
ARG3 = (optional) the name of a compress utility to compress each file automatically after it is created.
ARG4 = (optional) an alternate (non default) location to store the archive directory.
如果没有在启动时没有指定前2个参数,那么默认情况是30秒收集一次,归档数据保留48个小时,第三个参数
是压缩实用程序的名称,在创建之后自动压缩每个文件,第四个参数是一个备用(非默认)位置来归档存档目录。后面两个参数都是可选的。
示例1:启动该工具并以默认的30秒间隔收集数据,保留48小时数据。
[root@host1 oswbb]# ./startOSWbb.sh
示例2:这个命令每隔60秒收集一次,数据保留10个小时并自动压缩文件。
[root@host1 oswbb]#./startOSWbb.sh 60 10 gzip
示例3:使用nohup让脚本后台执行
[root@host1 oswbb]#nohup ./startOSWbb.sh 60 10 &
示例4:每隔60秒收集一次,数据保留10个小时,压缩文件并将归档目录设置为非默认位置。
[root@host1 oswbb]#./startOSWbb.sh 60 10 gzip /u01/archive2
示例5:每隔60秒收集一次,数据保留48个小时,不自动压缩文件并将归档目录设置为非默认位置。
./startOSWbb.sh 60 48 NONE /u01/archive2
1.4.3.5. 停止OSWbb
停止OSWbb,使用stopOSWbb.sh 脚本即可。这个命令将终止所有相关的进程。
[root@host1 oswbb]# ./stopOSWbb.sh
1.4.4. 诊断数据输出
OSWbb 数据内容说明:
如上所述,当oswbb第一次启动时,它会在oswbb安装目录下创建archive子目录。归档目录包含至少7个子目录,每个子目录对应一个数据收集器。这些目录名为oswiostat,oswmpstat,oswnetstat,oswifconfig,oswprvtnet,oswps,oswtop和oswvmstat。如果运行的是Linux,则会存在另外3个目录:oswmeminfo,oswslabinfo和oswcpuinfo。如果运行的是HP-UX 1,则会存在其他目录:oswsar。如果创建一个private.net文件或者它是在启动时自动创建的,那么将创建一个名为oswprvtnet的附加目录,该目录将traceroute的运行结果存储在private.net中指定的rac专用互连上。
每个文件名的格式如下:
[root@host1 archive]# pwd
/software/oswbb/archive
[root@host1 archive]# ll
total 0
drwxr-xr-x 2 root root 45 Jul 23 21:03 oswcpuinfo
drwxr-xr-x 2 root root 46 Jul 23 21:03 oswifconfig
drwxr-xr-x 2 root root 44 Jul 23 21:03 oswiostat
drwxr-xr-x 2 root root 45 Jul 23 21:03 oswmeminfo
drwxr-xr-x 2 root root 44 Jul 23 21:03 oswmpstat
drwxr-xr-x 2 root root 45 Jul 23 21:03 oswnetstat
drwxr-xr-x 2 root root 6 Jul 23 21:02 oswprvtnet
drwxr-xr-x 2 root root 40 Jul 23 21:03 oswps
drwxr-xr-x 2 root root 46 Jul 23 21:03 oswslabinfo
drwxr-xr-x 2 root root 41 Jul 23 21:03 oswtop
drwxr-xr-x 2 root root 44 Jul 23 21:03 oswvmstat
1.4.4.1. oswcpuinfo
包含iostat命令输出的信息,收集物理cpu信息
收集的信息可通过以下方式查看:
[root@host1 archive]# cd oswcpuinfo/
[root@host1 oswcpuinfo]# cat host1_cpuinfo_18.07.23.2100.dat
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 142
model name : Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
stepping : 9
cpu MHz : 2903.996
cache size : 4096 KB
physical id : 0
siblings : 1
……
1.4.4.2. oswifconfig
包含ifconfig命令输出的信息,收集网卡信息
收集的信息可通过以下方式查看:
[root@host1 archive]# cd oswifconfig/
[root@host1 oswifconfig]# ll
total 24
-rw-r--r-- 1 root root 21378 Jul 23 21:09 host1_ifconfig_18.07.23.2100.dat
[root@host1 oswifconfig]# cat host1_ifconfig_18.07.23.2100.dat
Linux OSWbb v8.1.2
zzz ***Mon Jul 23 21:03:51 CST 2018
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.88 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::fe1d:162f:f21c:38b5 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:8d:bf:60 txqueuelen 1000 (Ethernet)
RX packets 154434 bytes 27658713 (26.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1623225 bytes 4512461111 (4.2 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
…….
1.4.4.3. oswiostat
包含iostat命令输出的信息,收集系统IO状态信息
收集的信息可通过以下方式查看:
[root@host1 archive]# cd oswiostat/
[root@host1 oswiostat]# cat host1_iostat_18.07.23.2100.dat
Linux OSWbb v8.1.2
zzz ***Mon Jul 23 21:03:51 CST 2018
avg-cpu: %user %nice %system %iowait %steal %idle
1.01 0.00 1.01 0.00 0.00 97.98
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.00 1.01 6.06 4.04 36.36 11.43 0.01 0.71 1.00 0.67 0.71 0.51
dm-0 0.00 0.00 1.01 6.06 4.04 36.36 11.43 0.01 0.71 1.00 0.67 0.71 0.51
dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
1.4.4.4. oswmeminfo
包含meminfo命令输出的信息,收集内存信息
收集的信息可通过以下方式查看:
[root@host1 archive]# cd oswmeminfo/
[root@host1 oswmeminfo]# cat host1_meminfo_18.07.23.2100.dat
zzz ***Mon Jul 23 21:03:51 CST 2018
MemTotal: 3882124 kB
MemFree: 449752 kB
MemAvailable: 1360548 kB
Buffers: 0 kB
Cached: 2067152 kB
SwapCached: 440 kB
……
1.4.4.5. oswmpstat
包含mpstat命令输出的信息,收集CPU统计信息
收集的信息可通过以下方式查看:
[root@host1 archive]# cd oswmpstat/
[root@host1 oswmpstat]# cat host1_mpstat_18.07.23.2100.dat
Linux 3.10.0-514.el7.x86_64 (host1) 07/23/2018 _x86_64_ (1 CPU)
09:35:58 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
09:35:58 PM all 4.48 0.00 0.66 1.46 0.00 0.02 0.00 0.00 0.00 93.38
1.4.4.6. oswnetstat
包含netstat命令输出的信息,收集网络连接和协议的相关统计信息
收集的信息可通过以下方式查看:
[root@host1 archive]# cd oswnetstat/
[root@host1 oswnetstat]# cat host1_netstat_18.07.23.2100.dat
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
enp0s3 1500 154694 0 0 0 1623336 0 0 0 BMRU
lo 65536 138074 0 0 0 138074 0 0 0 LRU
virbr0 1500 0 0 0 0 0 0 0 0 BMU
virbr0-n 1500 0 0 0 0 0 0 0 0 BM
Ip:
……
1.4.4.7. oswps
这个文件包含ps命令的输出信息。
包含ps命令输出的信息,收集进程信息
收集的信息可通过以下方式查看:
[root@host1 archive]# cd oswps
[root@host1 oswps]# cat host1_ps_18.07.23.2100.dat
root 2362 2361 19 0.0 0.0 15516 176 pipe_w S Jul 22 00:00:00 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
root 2110 1 19 0.0 0.0 91060 2176 ep_pol S Jul 22 00:00:00 /usr/libexec/postfix/master -w
root 1958 1 19 0.0 0.0 82468 1336 poll_s S Jul 22 00:00:00 /usr/sbin/sshd
root 972 1 19 0.0 0.0 107912 600 hrtime S Jul 22 00:00:00 rhnsd
root 956 1 19 0.0 0.0 475356 3720 poll_s S Jul 22 00:00:00 /usr/sbin/gdm
root 955 1 19 0.0 0.0 25844 932 hrtime S Jul 22 00:00:00 /usr/sbin/atd -f
root 954 1 19 0.0 0.0 126224 1596 hrtime S Jul 22 00:00:00 /usr/sbin/crond -n
root 952 1 19 0.0 0.0 113340 672 poll_s S Jul 22 00:00:00 /usr/bin/rhsmcertd
root 940 1 19 0.0 0.0 115504 1820 wait S Jul 22 00:00:03 /bin/sh /etc/init.d/init.tfa run >/dev/null 2>&1 </dev/null
root 932 1 19 0.0 0.0 193136 3504 ep_pol S Jul 22 00:00:00 /usr/sbin/cupsd -f
……
1.4.4.8. oswslabinfo
包含slabinfo命令输出的信息,收集统计slab分配器相关信息
收集的信息可通过以下方式查看:
[root@host1 archive]# cd oswslabinfo/
[root@host1 oswslabinfo]# cat host1_slabinfo_18.07.23.2100.dat
dma-kmalloc-32 0 0 32 128 1 : tunables 0 0 0 : slabdata 0 0 0
dma-kmalloc-16 0 0 16 256 1 : tunables 0 0 0 : slabdata 0 0 0
dma-kmalloc-8 0 0 8 512 1 : tunables 0 0 0 : slabdata 0 0 0
dma-kmalloc-192 0 0 192 21 1 : tunables 0 0 0 : slabdata 0 0 0
dma-kmalloc-96 0 0 96 42 1 : tunables 0 0 0 : slabdata 0 0 0
kmalloc-8192 24 40 8192 4 8 : tunables 0 0 0 : slabdata 10 10 0
kmalloc-4096 209 280 4096 8 8 : tunables 0 0 0 : slabdata 35 35 0
kmalloc-2048 367 384 2048 8 4 : tunables 0 0 0 : slabdata 48 48 0
kmalloc-1024 1907 1920 1024 8 2 : tunables 0 0 0 : slabdata 240 240 0
….
1.4.4.9. oswtop
包含top命令输出的信息,收集系统整体运行情况信息
收集的信息可通过以下方式查看:
[root@host1 archive]# cd oswtop
[root@host1 oswtop]# cat host1_top_18.07.23.2100.dat
top - 21:09:53 up 1 day, 2:38, 6 users, load average: 0.18, 0.29, 0.26
Tasks: 243 total, 1 running, 242 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 3882124 total, 453900 free, 1201800 used, 2226424 buff/cache
KiB Swap: 4194300 total, 4186476 free, 7824 used. 1366000 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 125356 3448 2000 S 0.0 0.1 0:01.84 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:03.83 ksoftirqd/0
6 root 20 0 0 0 0 S 0.0 0.0 0:02.15 kworker/u2:0
……
1.4.4.10. oswvmstat
包含vmstat命令输出的信息,收集进程、内存、I/O等系统整体运行状态信息
收集的信息可通过以下方式查看:
[root@host1 archive]# cd oswvmstat/
[root@host1 oswvmstat]# cat host1_vmstat_18.07.23.2100.dat
zzz ***Mon Jul 23 21:09:52 CST 2018
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
6 0 7824 455652 0 2226360 0 0 65 36 260 402 4 1 93 1 0
0 0 7824 453900 0 2226424 0 0 4 4 352 538 4 7 88 0 0
0 0 7824 455000 0 2226448 0 0 0 36 310 493 5 3 92 0 0
……
1.5. OSWbba 安装配置
我们用OSWatcher收集了数据存储到归档里,但是这些文件不利于分析,所以Oracle 提供了OSWbba工具,其可以分析OSWbb收集的数据并用图表展示出来。OSWbba 是用java 写的,所以运行OSWbba 至少需要Java1.4.2 的版本。OSWbba 可以运行在任何平台下。
OSWbb 通过vmstat,iostat等命令收集数据存放在归档目录里,OSWbba分析这些数据。 数据分析之后,用户就可以通过命令行目录来提取这些数据,可以选择图表或者生成图形的gif 文件,亦或html报告。
也就是说,OSWbba 对OSWbb 收集的数据进行一个图形的展现。
OSWbba 可以在一下平台运行:
- AIX
- Solaris
- HP-UX
- Linux
- Windows
1.5.1. 安装OSWbba
oswbba是Oracle支持工具,无需安装。它与OSWatcher捆绑在一起,是一个独立的Java jar文件。
1.5.2. 启动OSWbba
在启动OSWbba 工具之前,必须先安装java 1.4.2 或以上版本。 当然如果安装过了Oracle,那么oracle 安装目录里也有java。
[root@host1 oswvmstat]# su - oracle
[oracle@host1 ~]$ java -version
openjdk version "1.8.0_102"
OpenJDK Runtime Environment (build 1.8.0_102-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)
这里默认安装java是1.8版本。
如果使用Oracle的Java,那么需要修改一下环境变量,在Path里添加Java的路径,如:
运行OSWbba 需要用-i 参数指定input 目录, 这里的目录是OSWbb log归档的全路径。这个归档目录必须和OSWbb 的目录结构相同,其必须包含其他的子目录,如oswvmstat,oswiostat, oswps, oswtop, oswnetstat 等。
注意这里显示图片需要条用X windows,所以我们要在图形窗口中执行:
[root@host1 oswvmstat]# xhost +
access control disabled, clients can connect from any host
[root@host1 oswbb]# java -jar oswbba.jar -i /software/oswbb/archive
……
Enter 1 to Display CPU Process Queue Graphs
Enter 2 to Display CPU Utilization Graphs
Enter 3 to Display CPU Other Graphs
Enter 4 to Display Memory Graphs
Enter 5 to Display Disk IO Graphs
Enter GC to Generate All CPU Gif Files
Enter GM to Generate All Memory Gif Files
Enter GD to Generate All Disk Gif Files
Enter GN to Generate All Network Gif Files
Enter L to Specify Alternate Location of Gif Directory
Enter Z to Zoom Graph Time Scale (Does not change analysis dataset)
Enter B to Returns to Baseline Graph Time Scale (Does not change analysis dataset)
Enter R to Remove Currently Displayed Graphs
Enter X to Export Parsed Data to Flat File
Enter S to Analyze Subset of Data(Changes analysis dataset including graph time scale)
Enter A to Analyze Data
Enter D to Generate DashBoard
Enter Q to Quit Program
Please Select an Option:1
……
上面是在交互模式下进行,也可以使用命令行执行
java -jar oswbba.jar -i <fully qualifiedpath name of an osw archive directory> -P <name> -L <name> -6 -7 -8 -B <time> -E <time>
这里的参数,在上面有说明,6,7,8 是生成图片。
java -jar oswbba.jar -i /software/oswbb/archive -P tuesday_crash -6 -7 -8
OSWbba 解析所有的归档文件在内存中进行,然后生成图表,如果有大量的文件需要解析,可以指定java heap 大小。
[root@host1 oswbb]# java -jar -Xmx512M oswbba.jar -i /software/oswbb/archive
1.5.3. 停止OSWbb
停止OSWbb,使用stopOSWbb.sh 脚本即可。这个命令将终止所有相关的进程。
[root@host1 oswbb]# ./stopOSWbb.sh
相关推荐
- 前端入门——css 网格轨道详细介绍
-
上篇前端入门——cssGrid网格基础知识整体大概介绍了cssgrid的基本概念及使用方法,本文将介绍创建网格容器时会发生什么?以及在网格容器上使用行、列属性如何定位元素。在本文中,将介绍:...
- Islands Architecture(孤岛架构)在携程新版首页的实践
-
一、项目背景2022,携程PC版首页终于迎来了首次改版,完成了用户体验与技术栈的全面升级。作为与用户连接的重要入口,旧版PC首页已经陪伴携程走过了22年,承担着重要使命的同时,也遇到了很多问题:维护/...
- HTML中script标签中的那些属性
-
HTML中的<script>标签详解在HTML中,<script>标签用于包含或引用JavaScript代码,是前端开发中不可或缺的一部分。通过合理使用<scrip...
- CSS 中各种居中你真的玩明白了么
-
页面布局中最常见的需求就是元素或者文字居中了,但是根据场景的不同,居中也有简单到复杂各种不同的实现方式,本篇就带大家一起了解下,各种场景下,该如何使用CSS实现居中前言页面布局中最常见的需求就是元...
- CSS样式更改——列表、表格和轮廓
-
上篇文章主要介绍了CSS样式更改篇中的字体设置Font&边框Border设置,这篇文章分享列表、表格和轮廓,一起来看看吧。1.列表List1).列表的类型<ulstyle='list-...
- 一文吃透 CSS Flex 布局
-
原文链接:一文吃透CSSFlex布局教学游戏这里有两个小游戏,可用来练习flex布局。塔防游戏送小青蛙回家Flexbox概述Flexbox布局也叫Flex布局,弹性盒子布局。它决定了...
- css实现多行文本的展开收起
-
背景在我们写需求时可能会遇到类似于这样的多行文本展开与收起的场景:那么,如何通过纯css实现这样的效果呢?实现的难点(1)位于多行文本右下角的展开收起按钮。(2)展开和收起两种状态的切换。(3)文本...
- css 垂直居中的几种实现方式
-
前言设计是带有主观色彩的,同样网页设计中的css一样让人摸不头脑。网上列举的实现方式一大把,或许在这里你都看到过,但既然来到这里我希望这篇能让你看有所收获,毕竟这也是前端面试的基础。实现方式备注:...
- WordPress固定链接设置
-
WordPress设置里的最后一项就是固定链接设置,固定链接设置是决定WordPress文章及静态页面URL的重要步骤,从站点的SEO角度来讲也是。固定链接设置决定网站URL,当页面数少的时候,可以一...
- 面试发愁!吃透 20 道 CSS 核心题,大厂 Offer 轻松拿
-
前端小伙伴们,是不是一想到面试里的CSS布局题就发愁?写代码时布局总是对不齐,面试官追问兼容性就卡壳,想跳槽却总被“多列等高”“响应式布局”这些问题难住——别担心!从今天起,咱们每天拆解一...
- 3种CSS清除浮动的方法
-
今天这篇文章给大家介绍3种CSS清除浮动的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。首先,这里就不讲为什么我们要清楚浮动,反正不清除浮动事多多。下面我就讲3种常用清除浮动的...
- 2025 年 CSS 终于要支持强大的自定义函数了?
-
大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!1.什么是CSS自定义属性CSS自...
- css3属性(transform)的一个css3动画小应用
-
闲言碎语不多讲,咱们说说css3的transform属性:先上效果:效果说明:当鼠标移到a标签的时候,从右上角滑出二维码。实现方法:HTML代码如下:需要说明的一点是,a链接的跳转需要用javasc...
- CSS基础知识(七)CSS背景
-
一、CSS背景属性1.背景颜色(background-color)属性值:transparent(透明的)或color(颜色)2.背景图片(background-image)属性值:none(没有)...
- CSS 水平居中方式二
-
<divid="parent"><!--定义子级元素--><divid="child">居中布局</div>...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- maven镜像 (69)
- undefined reference to (60)
- zip格式 (63)
- oracle over (62)
- date_format函数用法 (67)
- 在线代理服务器 (60)
- shell 字符串比较 (74)
- x509证书 (61)
- localhost (65)
- java.awt.headless (66)
- syn_sent (64)
- settings.xml (59)
- 弹出窗口 (56)
- applicationcontextaware (72)
- my.cnf (73)
- httpsession (62)
- pkcs7 (62)
- session cookie (63)
- java 生成uuid (58)
- could not initialize class (58)
- beanpropertyrowmapper (58)
- word空格下划线不显示 (73)
- jar文件 (60)
- jsp内置对象 (58)
- makefile编写规则 (58)