高级 Linux 命令精通指南for oracleWord文档下载推荐.docx
- 文档编号:16681643
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:27
- 大小:43.86KB
高级 Linux 命令精通指南for oracleWord文档下载推荐.docx
《高级 Linux 命令精通指南for oracleWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《高级 Linux 命令精通指南for oracleWord文档下载推荐.docx(27页珍藏版)》请在冰豆网上搜索。
如果您希望Linux自动识别介质,可以指定“auto”,如下所示:
#ifconfigeth0mediaauto
add—为接口设置特定的IP地址。
要将接口eth0的IP地址设置为192.168.1.101,可以执行以下命令:
#ifconfigeth0add192.168.1.101
netmask—设置接口的网络掩码参数。
在以下示例中,您可以将eth0接口的网络掩码设置为255.255.255.0
#ifconfigeth0netmask255.255.255.0
在Oracle真正应用集群环境中,您需要使用该命令以特定方式设置网络掩码。
在一些高级配置中,您可以更改分配给网络接口的MAC地址。
可以使用hw参数完成此操作。
一般格式如下:
ifconfig<
Interface>
hw<
TypeOfInterface>
<
MAC>
<
表示接口类型,例如ether表示以太网。
以下内容说明如何将eth0的MAC地址更改为12.34.56.78.90.12(注意:
此处所示的MAC地址是虚构的。
如与任何实际MAC相符,纯属巧合):
#ifconfigeth0hwether12.34.56.78.90.12
当您添加一个新网卡(具有一个新的MAC地址)而又不想更改Linux相关的配置(如网络接口)时,该命令十分有用。
针对Oracle用户的用法
该命令以及下面描述的nestat命令是在管理OracleRAC时使用得最广泛的命令之一。
OracleRAC的性能很大程度上取决于集群节点间的互联。
如果互联已饱和(即,不再承载任何额外流量)或者出现故障,您将看到其性能下降。
这种情况下,最好查看ifconfig输出是否存在故障。
以下是一个典型示例:
#ifconfigeth9
eth9
Linkencap:
Ethernet
HWaddr00:
1C:
23:
CE:
6F:
82
inetaddr:
10.14.104.31
Bcast:
10.14.104.255
Mask:
255.255.255.0
inet6addr:
fe80:
:
21c:
23ff:
fece:
6f82/64Scope:
Link
UPBROADCASTRUNNINGMULTICAST
MTU:
1500
Metric:
1
RXpackets:
1204285416errors:
0dropped:
560923overruns:
0frame:
TXpackets:
587443664errors:
623409overruns:
0carrier:
collisions:
0txqueuelen:
1000
RXbytes:
1670104239570(1.5TiB)
TXbytes:
42726010594(39.7GiB)
Interrupt:
169Memory:
f8000000-f8012100
请注意以红色高亮显示的文本。
dropped数非常高;
理想情况下,该数值应为0或接近于0。
超过五十万的高数值,听起来像是一个丢弃数据包的故障互联,导致互联重新发送数据包—这将是问题诊断中的一个线索。
netstat
可以通过netstat命令访问通过网络接口的输入或输出状态。
该命令可以提供网络接口性能的完整信息,具体到套接字级别。
示例如下:
#netstat
ActiveInternetconnections(w/oservers)
ProtoRecv-QSend-QLocalAddressForeignAddress
State
tcp
0
0prolin1:
31027prolin1:
5500
TIME_WAIT
4
0prolin1l:
1521applin1:
40205
ESTABLISHED
1522prolin1:
39957
3938prolin1:
31017
TIME_WAIT
1521prolin1:
21545
ESTABLISHED
…andsoon…
以上输出显示了所有打开的套接字。
简单地说,套接字类似于两个进程间的连接。
[请注意:
严格地说,“套接字”和“连接”在技术上是不同的。
套接字可在无连接时存在。
但是,套接字和连接之间的讨论已超出本文所涉及的范围。
因此,我只是用通俗易懂的方式表达了该概念。
]毫无疑问,连接需要有源和目标,称为本地和远程地址。
端点可以在同一台服务器上;
也可在不同的服务器上。
大多数情况下,程序将连接到同一台服务器。
例如,如果两个进程相互进行通信,本地和远程地址将相同,如第一行所示—本地和远程地址都是服务器“prolin1”。
然而,通过端口进行通信的进程,其本地和远程地址将是不同的。
该端口显示在主机名旁的“:
”(冒号)后。
用户程序将需要通过套接字发送的数据发送到一个队列中,然后接收方在远端从该队列中进行读取。
以下是输出的列:
1.最左边的列“Proto”显示了连接类型—本例中为tcp。
2.Recv-Q列显示了队列中将要发送到已建立连接的用户程序的数据字节数。
该值应尽可能接近0。
在繁忙的服务器中,该值将大于0,但是不应该非常高。
数值较高可能也不会有太大的影响,除非您看到Send-Q列中有较大的数值,如下所述。
3.Send-Q列显示队列中将要发送到远程程序的字节数,即,远程程序还未确认接收。
该数值应接近于0。
较大数值可能表示出现网络瓶颈。
4.LocalAddress是连接源和程序的端口号。
5.ForeignAddress是目标主机和端口号。
在第一行中,源和目标都位于同一主机prolin1上。
连接只是在等待。
第二行显示了proiln1的端口1521到主机applin1的端口40205间的一个已建立连接。
这很可能是从客户端applin1到数据库服务器prolin1的一个Oracle连接。
prolin1上的Oracle监听器在端口1521上运行;
所以源端口为1521。
在本连接中,服务器正将所请求的数据发送到客户端。
6.State列显示连接的状态。
以下是一些常见值。
oESTABLISHED—连接已建立。
这并不表示端点之间有数据流动;
仅表示端点间进行了通信。
oCLOSED—连接已关闭,即,当前未使用。
oTIME_WAIT—连接正在关闭,但网络中仍然有正在处理的数据包。
oCLOSE_WAIT—远端已关闭并要求关闭连接。
从外部和本地地址,特别是从端口号,您可能猜到连接与Oracle相关,但是如果能确切知道该信息岂不是很好?
当然。
-p选项还将显示进程信息:
#netstat-p
ProtoRecv-QSend-QLocalAddressForeignAddressState
PID/Programname
1521
prolin1:
33303
ESTABLISHED1327/oraclePROPRD1
applin1:
51324
ESTABLISHED13827/oraclePROPRD1
33298
ESTABLISHED32695/tnslsnr
32544
ESTABLISHED15251/oracle+ASM
33331
最后一列清晰地显示了进程IP和进程名称,可以确定其为Oracle服务器进程、监听器进程以及ASM服务器进程。
netstat命令可以包含各种选项和参数。
以下是一些主要选项和参数:
要查看各种接口的网络统计信息,使用-i选项。
#netstat-i
KernelInterfacetable
Iface
MTUMet
RX-OKRX-ERRRX-DRPRX-OVR
TX-OKTX-ERRTX-DRPTX-OVRFlg
eth0
1500
6860659
2055833
0BMRU
eth8
2345
833
lo
16436
014449079
0LRU
这显示了服务器中的不同接口(eth0、eth8等等)以及与接口相关联的量度。
∙RX-OK显示成功发送的数据包数(针对该接口)
∙RX-ERR显示错误数
∙RX-DRP显示被丢弃且需要重新发送的数据包(包括成功和未成功的)
∙RX-OVR显示溢出的数据包数
下一组列(TX-OK、TX-ERR等等)显示已发送数据的相关统计信息。
Flg列是接口属性的一个组合值。
每个字母代表一个特定的属性。
以下是对每个字母的解释。
B—广播
M—多播
R—运行
U—开启
O—ARP关闭
P—点到点连接
L—环回
m—主
s—从
您可以使用--interface(注意:
有两个连字符,而不是一个)选项显示特定接口的同一信息。
#netstat--interface=eth0
0277903459
0170897632
0BMsRU
勿庸置疑,输出范围很广泛,很难一目了然。
如果要跨接口进行比较,可以使用表格式输出。
如果希望以更加易于阅读的格式查看这些值,可以使用-e选项生成扩展输出:
#netstat-i-e
13:
72:
CC:
EB:
00
10.14.106.0
10.14.107.255
255.255.252.0
213:
72ff:
fecc:
eb00/64Scope:
6861068errors:
0overruns:
2055956errors:
3574788558(3.3GiB)
401608995(383.0MiB)
169
该输出是不是很眼熟?
应该是的;
它和ifconfig的输出是相同的。
如果希望看到输出显示IP地址而不是主机名,使用-n选项。
-s选项显示每个协议的统计信息摘要,而不是显示每个连接的详细信息。
可以将其与协议特定标志组合。
例如,-u显示与UDP协议相关的统计信息。
#netstat-s-u
Udp:
12764104packetsreceived
600849packetstounknownportreceived.
0packetreceiveerrors
13455783packetssent
同样,要查看tcp的统计信息,可以使用-t;
要查看raw的统计信息,可以使用-r。
真正有用的一个选项是用于显示路由表的-r选项。
#netstat-r
KernelIProutingtable
Destination
Gateway
Genmask
Flags
MSSWindow
irttIface
10.20.191.0
*
255.255.255.128U
00
0bond0
172.22.13.0
255.255.255.0
U
00
0eth9
169.254.0.0
255.255.0.0
default
10.20.191.1
0.0.0.0
UG
netstat输出的第二列Gateway显示了路由入口点的网关。
如果未使用网关,将用星号来表示。
第三列Genmask显示了路由的“共性”,即,该路由的网络掩码。
如果要为一个给定IP地址寻找合适的路由,内核将搜索每个路由表条目,在和路由目标进行比较前对地址和网络掩码采取“按位与”操作。
第四列Flags显示描述路由的以下标志:
∙G表示该路由使用网关。
∙U表示要使用的接口已开启(可用)。
∙H表示通过该路由仅能连接一个主机。
例如,环回条目127.0.0.1就是这样。
∙D表示该路由以动态方式创建。
∙!
表示路由被拒绝,数据将被丢弃。
之后的三列显示MSS、Window和irtt,将应用于通过该路由建立的TCP连接。
∙MSS表示最大段大小—通过该路由传输的最大数据报大小。
∙Window是系统将在来自该路由的远程主机的单次突发中接受的最大数据量。
∙irtt表示初始往返时间。
解释起来有一点复杂。
让我分开来解释。
TCP协议有一个内置的可靠性检查。
如果数据包传输失败,将进行重新传输。
该协议跟踪数据到达目标并确认接收所需的时间。
如果没有在该时间内收到确认,将重新传输数据包。
针对该接口设置一次协议在重新传输前需等待的时间(可以更改),该值称为初始往返时间。
该值为0表示使用默认值。
最后一个字段显示该路由将使用的网络接口。
nslookup
网络中每个可访问的主机都应有一个IP地址,用以在网络中唯一标识该主机。
在互联网这样一个大的网络中,连接可以通过IP地址访问运行网站(例如)的服务器。
那么,当一台主机(如客户端)希望使用其名称而非IP地址连接到另一台主机(如数据库服务器),客户端浏览器如何知道要连接的IP地址?
将主机名转换为IP地址的机制称为名称解析。
在大多数基础级别中,主机都有一个名为hosts的特殊文件,用于存储IP地址-主机名对。
以下是示例文件:
#cat/etc/hosts
#Donotremovethefollowingline,orvariousprograms
#thatrequirenetworkfunctionalitywillfail.
127.0.0.1
localhost.localdomain
localhost
192.168.1.101
prolin1
192.168.1.102
prolin2
以上内容表明将主机名转换为192.168.1.101。
IP地址为127.0.0.1的特定条目称为环回条目,通过一个名为lo的特定网络接口(您在之前的ifconfig和netstat命令中见到过)指回服务器自身。
这样很好,但是您不可能将世界上所有的IP地址都放入该文件中。
应该还有另一种执行名称解析的机制。
一个名为“命名服务器”有特殊用途的服务器将扮演这个角色。
它就像电话公司提供的电话号码簿;
但不是您的私人电话号码簿。
私人网络的内部或外部可能存在多个可用的命名服务器。
主机首先将联系一个命名服务器,获取其要访问的目标主机的IP地址,然后尝试连接到该IP地址。
主机如何知道这些命名服务器是哪些服务器?
它将查看一个名为/etc/resolv.conf的特定文件来获取该信息。
以下是一个示例resolv文件。
;
generatedby/sbin/dhclient-script
search
nameserver10.14.1.58
nameserver10.14.1.59
nameserver10.20.223.108
如何确保特定主机名的名称解析工作正常?
换句话说,您希望确保当Linux系统尝试访问名为的主机时,它可以在命名服务器上找到该IP地址。
nslookup命令可用于完成此操作。
以下是其使用方法:
#nslookup
Server:
10.14.1.58
Address:
10.14.1.58#53
Non-authoritativeanswer:
Name:
141.146.8.66
我们来剖析一下输出。
Server输出是该命名服务器的地址。
名称解析为IP地址141.146.8.66。
名称由显示在输出中Server一词旁边的命名服务器解析。
如果在浏览器中输入该IP地址—http:
//141.146.8.66而不是输入—浏览器将转至站点。
如果您输错了,或者查找的主机不正确:
#nslookuporacle-
**servercan'
tfindoracle-:
NXDOMAIN
消息非常明确:
该主机不存在。
dig
现在已不推荐使用nslookup命令了。
取而代之的是一个新的、更强大的命令—dig(域信息搜索器)。
在一些比较新的Linux服务器上,nslookup命令甚至已不可用。
以下是一个示例;
要查看主机的名称解析,可以使用以下命令:
#dig
>
DiG9.2.4<
globaloptions:
printcmd
Gotanswer:
->
HEADER<
-opcode:
QUERY,status:
NOERROR,id:
62512
flags:
qrrdra;
QUERY:
1,ANSWER:
1,AUTHORITY:
8,ADDITIONAL:
8
QUESTIONSECTION:
.
IN
A
ANSWERSECTION:
300
IN
A
AUTHORITYSECTION:
3230
NS
.
ora
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 Linux 命令精通指南for oracle 命令 精通 指南 for
![提示](https://static.bdocx.com/images/bang_tan.gif)