利用SQL语句提取网络优化所需数据

上传人:我*** 文档编号:132986518 上传时间:2020-05-22 格式:DOC 页数:13 大小:6.44MB
返回 下载 相关 举报
利用SQL语句提取网络优化所需数据_第1页
第1页 / 共13页
利用SQL语句提取网络优化所需数据_第2页
第2页 / 共13页
利用SQL语句提取网络优化所需数据_第3页
第3页 / 共13页
利用SQL语句提取网络优化所需数据_第4页
第4页 / 共13页
利用SQL语句提取网络优化所需数据_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《利用SQL语句提取网络优化所需数据》由会员分享,可在线阅读,更多相关《利用SQL语句提取网络优化所需数据(13页珍藏版)》请在金锄头文库上搜索。

1、 利用SQL语句提取网络优化所需数据 (南阳分公司网络部 陈飞) 从事网络优化的同行可能深有体会,在实际网络优化工作中,网优工具的运用对于网络运行数据的提取和分析甚至提出问题的解决方案都起着非常重要的作用。在网络优化工具中,最基本的工具就是直接利用网管提供的SQL plus界面,自己编写SQL语句,提取网络优化中所需的各种数据。下面笔者就编写SQL语句的心得体会,介绍如何利用SQL语句提取网络优化所需的数据。 要自己编写SQL语句,必须首先了解好网管中的表、所需数据的计算公式和SQL plus语法。 BSC、MSC、HLR、配置、告警等的测量报告在网管中都是以表的格式存储的,每张表都有自己的名

2、字,表的内容包含列名和对应的数据,我们就是要从这些表中通过不同的公式组合来取出我们需要的数据,值得注意的是,由于网管的容量有限,网管中只保存最近一周的数据,我们也只能从网管中提取最近一周的数据。 网管中表的命名具有一定的规律性,比如表p_nbsc_load,p表示该表是记录网络性能数据的,nbsc表示该表是关于bsc的测量数据,load表示该表是关于负荷的数据,从表的名字我们可以看出,此表是关于bsc的负荷性能的测量报告。常用的表可以归结为4类,分别是性能表、配置表、故障表和网络元素表。上面的例子就是一张性能表,这些均以p开头,下划杠后面紧跟着网络元素对象,常见的有nbsc、msc、hlr等,

3、紧跟着下一个下划杠后面是性能类别,比如话务量、负荷、资源可用性等。性能表的例子如下: p_nbsc_traffic p_nbsc_load p_nbsc_ho p_msc_vlr_la p_msc_vlr_subsc p_msc_ho p_hlr_load p_hlr_subs_vlr 配置表的表名以c开头,主要记录网络当前的参数配置情况,比如c_bsc,c_bts,c_handover_control, c_power_control, c_adjacent_cell,c_trx等,分别记录BSC、BTS、HO、PC、ADJ、TRX的参数配置情况,注意由于网管有时候更新不及时,在提取这些参数

4、时,需要先在网管上做UPLOAD,以便配置参数与现网保持一致。 故障表以f开头,主要记录有关网络的告警,比如f_cause、f_waf_lock等分别记录网络的不同告警。网络元素表主要有objects,主要记录网络的各个元素,包括HLR、MSC、BSC、BCF、BTS等。对于我们编写SQL语句来说,弄清表的列名和数据类型是非常关键的。表的列名和数据类型可以利用Reflection软件的在线字典功能查看。下面是表p_nbsc_load的列名及数据类型。对于BSS的测量报告,表的列名及描述可以参考下面文件: 对于表的内容,还以p_nbsc_load为例,内容如下: 在了解清楚表的数据格式和内容后,

5、就需要了解所需的计算公式,计算公式可以从省公司下发的考核指标定义中获取,其他也有一些NOKIA公司定义的公式。下面的文件是关于BSC测量的一些计算公式,供参考。 SQL plus的学习可以参考相关的书籍,书市上有很多关于SQL的书籍,联系到网管的实际应用,建议选择专门的SQL plus的书籍查看,这样可以更好的了解在网管环境下SQL关键字的作用。 常用的SQL语句的格式如下: select * from * where * having * group by * order by * select后面跟的是所需要提取的数据,可以有多列,彼此之间用逗号隔开;from后面跟的是数据的来源,很多时候

6、,所取的数据来源于多个表,就需要把所用到的表依次罗列,彼此用逗号隔开;having后面跟的是提取数据的条件;group by后面跟的是所取的数据以什么样的条件分组;order by后面跟的是所取的的数据以什么样的顺序排序。除了上面的关键字外,常用到的关键字还有:desc、decode、substr、to_char、sum、avg、max、min等,分别对应不同的作用。1: to char 是把日期或数字转换为字符串 to date 是把字符串转换为数据库中得日期类型 转换函数 TO_CHAR 使用TO_CHAR函数处理数字 TO_CHAR(number, 格式) TO_CHAR(salary,

7、$99,999.99); 使用TO_CHAR函数处理日期 TO_CHAR(date,格式); TO_NUMBER 使用TO_NUMBER函数将字符转换为数字 TO_NUMBER(char, 格式) TO_DATE 使用TO_DATE函数将字符转换为日期 TO_DATE(char, 格式) 数字格式格式 9 代表一个数字 0 强制显示0 $ 放置一个$符 L 放置一个浮动本地货币符 . 显示小数点 , 显示千位指示符 日期格式 格式控制 描述 YYYY、YYY、YY 分别代表4位、3位、2位的数字年 YEAR 年的拼写 MM 数字月 MONTH 月的全拼 MON 月的缩写 DD 数字日 DAY

8、星期的全拼 DY 星期的缩写 AM 表示上午或者下午 HH24、HH12 12小时制或24小时制 MI 分钟 SS 秒钟 SP 数字的拼写 TH 数字的序数词 “特殊字符” 假如特殊字符 HH24:MI:SS AM 15:43:20 PM DD “OF” MONTH 12 OF OCTOBER DDSPTH fourteenth Date的格式 18-5月-842: DESC 是descend 降序意思 asc 是ascend 升序的意思3: SQL指令 SUBSTR SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分。这个函数的名称在不同的资料库中不完全一样: MyS

9、QL: SUBSTR(), SUBSTRING() Oracle: SUBSTR() SQL Server: SUBSTRING() 最常用到的方式如下 (在这里我们用SUBSTR()为例):SUBSTR(str,pos): 由中,选出所有从第位置开始的字元。请注意,这个语法不适用于SQL Server上。SUBSTR(str,pos,len): 由中的第位置开始,选出接下去的个字元。假设我们有以下的表格:Geography 表格 region_namestore_nameEastBostonEastNew YorkWestLos AngelesWestSan Diego例1:SELECT S

10、UBSTR(store_name, 3) FROM Geography WHERE store_name = Los Angeles;结果:s Angeles例2:SELECT SUBSTR(store_name,2,4) FROM Geography WHERE store_name = San Diego;结果:an D 下面以例子来说明SQL语句的编写。 例一:提取LAC区每天的最大用户数。 在以往的常见网优工具中,很少有网优工具能够直接提取LAC的用户数,然而这一数据在做LAC区规划时是非常重要的。从相关的网管表和公式中可以了解到表p_msc_vlr_la中的 ave_subsc_in

11、_la列中的数据就是每小时的LAC的用户数,从一天24小时的每个LAC的用户数中取最大值,就为每个LAC区的最大用户数。 表p_msc_vlr_la的内容如下: 表p_msc_vlr_la中的int_id为LAC所属的MSC在网管中的int_id号。 所编写的SQL语句如下: select语句中的to_char的作用是将网管中的日期/时间格式进行转化,转化后做为取LAC区用户数最大值的分组条件;to_char(t.period_start_time, yyyymmdd) date1中的date1做为所取数据to_char(t.period_start_time, yyyymmdd)的列名,两者

12、之间用空格隔开,后面的其它列名和表名也是同样的道理;substr(o.name,1,6) msc是提取MSC的名称;t.loc_area lac是提取LAC区的代号;max(t.ave_subsc_in_la)是提取每个LAC区的最大用户数。 From语句中除了p_msc_vlr_la表外,又使用了表objects,主要是因为表p_msc_vlr_la中只有MSC的网管int_id号,没有MSC的名字,这样不便于辨别MSC,而表objects中同时有MSC的名字和MSC在网管中的int_id号,这样就可以利用int_id号的对应来提取MSC的名字。 Where语句中不同的条件之间用and隔开,

13、o.int_id = t.int_id是将两个表的MSC的int_id相对应,以便提取MSC名字,substr(o.name,1,5)=NYMSC限定只提取南阳的数据;t.loc_area0限定只提取在现网中运行的LAC,t.period_start_time = to_date(&start_time,yyyymmddhh24)限定提取数据的开始时间,t.period_start_time = to_date(&end_time,yyyymmddhh24) 限定提取数据的结束时间。 Group by决定提取数据的结果如何分组;order by决定提取的结果显示时如何排序。 提取的结果如下:

14、例二:提取LAC区每天的最大话务量。 同LAC区的用户数一样,LAC区每天的最大话务量也是做LAC规划是需要参考的重要数据。 编写的SQL语句如下: 上面语句的编写思路是首先提取每个LAC的24小时的话务量,然后再从中提取24小时中的最大话务量。 SQL语句允许重复套用,即可以中第一次提取的结果中再次提取数据。 提取的结果如下: 例三:提取小区每天的最大话务量。 小区的每天的最大话务量做为小区容量规划和优化的重要原始数据,在日常优化中起着重要的作用。 SQL语句如下: 提取结果如下: 注意:此语句的好处是根据输入时间的不同,可以连续提取多日的小区的最大话务量,这为日常优化节省了很多时间。 在SQL语句编写好以后,利用FTP软件上传到自己的目录下,以后就可以直接提取了。 上传的格式如下: 总之,利用自己编写的SQL语句提取一些日常优化中所需要的数据,大大的提高了工作效率。 下面附上所编的SQL语句,供参考。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号