语音和统一通信 : Cisco Unity Connection

CUC消息计数和邮箱大小的SQL查询

2016 年 10 月 24 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 8 月 22 日) | 反馈

简介

本文描述如何通过CLI得到一个用户邮箱的消息计数和大小与结构化查询语言(SQL)查询的。 此数据可能用用户数据转储工具也获取,从Cisco Unified通信工具页。 

贡献用Anirudh Mavilakandy, Cisco TAC工程师。

先决条件 

要求

思科建议您有知识Cisco Unity Connection (CUC)。

使用的组件

本文档中的信息根据CUC版本8.X和以上,但是此信息也许为更早版本运作。 

数据库

SQL查询形成与从这些数据库的数据:

  • UnityDirDB -此数据库包含与使用者有关的信息。

  • UnityMbxDB1 -此数据库包含用户邮箱信息。

SQL查询形成与在这些视图的数据。视图是两个或多个表的组合的表,或者同一个数据在单个表里。

这些视图用于UnityDirDB数据库:

  • vw_mailbox -此视图包含用户和邮箱之间的映射。

  • vw_user -此视图包含与使用者有关的信息。

这些视图用于UnityMbxDB1数据库:

  • vw_message -此视图包含在系统的一个消息项目。此表仅仅是消息属性持有人。

  • vw_mailbox -此视图包含在存入站消息的系统的一个邮箱。此表包含关于单个邮箱的一般信息,包括消息在邮箱存储的方式。

SQL查询

此部分描述您在CUC能使用的多种SQL查询。

列出与已知别名的总消息计数

输入此命令为了得到总消息计数的列表与已知别名的:

admin:run cuc dbquery unitymbxdb1 select count (*) as Messages from vw_message,
unitydirdb:vw_mailbox, unitydirdb:vw_user where mailboxobjectid in (select
mailboxid from vw_mailbox where unitydirdb:vw_user.objectid = unitydirdb:
vw_mailbox.userobjectid and alias='Anirudh')


messages
--------
3

此查询高复杂性,介入多个表的双数据库查询。对于有一个非常大数据库和响信箱容量的服务器,延长时间也许流逝,在输出出现前, 1小时,不是理想的。在这样方案中,您能使用此查询:

admin:run cuc dbquery unitymbxdb1 select count (*) as Messages from vw_message
where mailboxobjectid in (select mailboxobjectid from vw_mailbox where
description='Anirudh')


messages
--------
3

第一查询返回数据,当别名被提及时,是唯一。第二查询返回数据,当说明被提及时,不是唯一

注意:当邮箱创建时,说明是相同的象别名;然而,当别名更新时,说明没有更新。对于小数据库,第一查询是理想的。为了显示出,说明没有更改,在别名被修改后,测试3被修改成Atest3并且使用以下部分。

有总消息计数的列表用户

输入此命令为了得到用户列表有总消息计数的:

admin:run cuc dbquery unitymbxdb1 select alias as UserID, count (*) as messages
from vw_message, unitydirdb:vw_mailbox, unitydirdb:vw_user where
mailboxobjectid in (select mailboxid from vw_mailbox where unitydirdb:
vw_user.objectid = unitydirdb:vw_mailbox.userobjectid) group by alias order by
messages desc


userid messages
---------------------------- --------
Anirudh 3
Atest3 2
undeliverablemessagesmailbox 1

对于在列表被提及与已知别名段的总消息计数的同样原因,可能也使用此查询:

admin:run cuc dbquery unitymbxdb1 select description, count (*) as Messages from
vw_message, vw_mailbox where vw_mailbox.mailboxobjectid =
vw_message.mailboxobjectid group by description order by messages desc


description messages
---------------------------- --------
Anirudh 3
test3 2
undeliverablemessagesmailbox 1

注意:在第二查询,在别名更改后,说明不从测试3变成Atest3

有根据在别名的第一个字符的总消息计数的列表用户

输入此命令为了得到用户列表有根据别名的第一个字符的总消息计数的:

admin:run cuc dbquery unitymbxdb1 select alias as UserID, count (*) as messages from
vw_message, unitydirdb:vw_mailbox, unitydirdb:vw_user where deleted='0' and
mailboxobjectid in (select mailboxid from vw_mailbox where unitydirdb:
vw_user.objectid = unitydirdb:vw_mailbox.userobjectid) and alias like 'A%' group by
alias order by messages


userid messages
------- --------
Atest3 2
Anirudh 3

对于在列表被提及与已知别名段的总消息计数的同样原因,可能也使用此查询:

admin:run cuc dbquery unitymbxdb1 select description, count (*) as Messages from
vw_message, vw_mailbox where vw_mailbox.mailboxobjectid =
vw_message.mailboxobjectid and description like 'A%' group by description order
by messages

这是关于此查询的一些重要提示:

  • A%设置查询点击开始与字母A.的别名。

  • 格式是其中columnname类似‘情况’。 这里,栏名称是第一查询和说明的别名第二查询的。

这是一些示例情况:

  • _n% -第一个字母可以是所有字符(通配符),跟随由字母N和任何数量的字符。

  • %s -这设置查询点击以字母s.终结的别名

至今被提及的查询用于为了得到总消息(收件箱和删除的项)。下一部分描述使用为了得到消息总数在收件箱和删除的项的查询。

有总收件箱消息的列表用户

输入此命令为了得到用户列表有总收件箱消息的:

admin:run cuc dbquery unitymbxdb1 select alias as UserID, count (*) as
inboxmessages from vw_message, unitydirdb:vw_mailbox, unitydirdb:vw_user
where deleted='0' and mailboxobjectid in (select mailboxid from vw_mailbox
where unitydirdb:vw_user.objectid = unitydirdb:vw_mailbox.userobjectid) and
alias like 'A%' group by alias order by inboxmessages


userid inboxmessages
------- -------------
Atest3 2
Anirudh 3

对于在列表被提及与已知别名段的总消息计数的同样原因,可能也使用此查询:

admin:run cuc dbquery unitymbxdb1 select description, count (*) as InboxMessages
from vw_message, vw_mailbox where vw_mailbox.mailboxobjectid =
vw_message.mailboxobjectid and deleted = '0' and description like 'A%' group by
description order by InboxMessages

这是关于此查询的一些重要提示:

  • A%设置查询点击开始与字母A.的别名。

  • 格式是其中columnname类似‘情况’。 这里,栏名称是第一查询和说明的别名第二查询的。

这是一些示例情况:

  • _n% -第一个字母可以是所有字符(通配符),跟随由字母N和任何数量的字符。

  • %s -这设置查询点击以字母s.终结的别名

注意:在本例中,开始与字母A.的情况用于为了限制有别名的/说明用户

这些是此查询的一些变化:

  • 为了列出所有用户、删除和别名类似‘A%’在第一查询或者和说明类似‘A%’在第二查询。

  • 为了列出特定用户(例如请列出Anirudh的邮箱的计数),替换和别名类似‘A%’和alias='Anirudh’在第一查询或者替换和说明类似‘A%’和说明= ' Anirudh’在第二查询。保证更换在准确的位置,或者查询发生故障。

有总删除的消息的列表用户

输入此命令为了得到用户列表有总删除的消息的:

admin:run cuc dbquery unitymbxdb1 select alias as UserID, count (*) as
deletedmessages from vw_message, unitydirdb:vw_mailbox, unitydirdb:vw_user
where deleted='1' and mailboxobjectid in (select mailboxid from vw_mailbox
where unitydirdb:vw_user.objectid = unitydirdb:vw_mailbox.userobjectid) and
alias like 'A%' group by alias order by deletedmessages


No records found

对于在列表被提及与已知别名段的总消息计数的同样原因,可能也使用此查询:

admin:run cuc dbquery unitymbxdb1 select description, count (*) as
deletedmessages from vw_message, vw_mailbox where vw_mailbox.mailboxobjectid=
vw_message.mailboxobjectid and deleted = '1' and description like 'A%' group
by description order by deletedmessages

注意:在本例中没有删除的消息,因此输出出现,因为记录没有查找

这是关于此查询的一些重要提示:

  • A%设置查询点击开始与字母A.的别名。

  • 格式是其中columnname类似‘情况’。 这里,栏名称是第一查询和说明的别名第二查询的。

这是一些示例情况:

  • _n% -第一个字母可以是所有字符(通配符),跟随由字母N和任何数量的字符。

  • %s -这设置查询点击以字母s.终结的别名

注意:在本例中,开始与字母A.的情况用于为了限制有别名的/说明用户

这些是此查询的一些变化:

  • 为了列出所有用户、删除和别名类似‘A%’在第一查询或者和说明类似‘A%’在第二查询。

  • 为了列出特定用户(例如请列出Anirudh的邮箱的计数),替换和别名类似‘A%’和alias='Anirudh’在第一查询或者替换和说明类似‘A%’和说明= ' Anirudh’在第二查询。保证更换在准确的位置,或者查询发生故障。

有托塔尔、收件箱和删除的消息的列表用户

输入此命令为了得到用户列表有总计、收件箱和删除的消息的:

admin:run cuc dbquery unitymbxdb1 select alias as UserID, count (*) as messages,
sum(case when deleted='0' then 1 else 0 end) as Inboxmessages, sum(case when
deleted='1' then 1 else 0 end) as Deletedmessages from vw_message, unitydirdb:
vw_mailbox, unitydirdb:vw_user where mailboxobjectid in (select mailboxid from
vw_mailbox where unitydirdb:vw_user.objectid = unitydirdb:vw_mailbox.userobjectid)
group by alias order by messages desc


userid messages inboxmessages deletedmessages
---------------------------- -------- ------------- ---------------
Anirudh 3 3 0
Atest3 2 2 0
undeliverablemessagesmailbox 1 1 0

对于在列表被提及与已知别名段的总消息计数的同样原因,可能也使用此查询:

admin:run cuc dbquery unitymbxdb1 select description as UserID, count (*) as
messages, sum(case when deleted='0' then 1 else 0 end) as Inboxmessages, sum
(case when deleted='1' then 1 else 0 end) as Deletedmessages  from vw_mailbox
join vw_message on vw_message.mailboxobjectid=vw_mailbox.mailboxobjectid
group by description order by messages desc

这是关于此查询的一些重要提示:

  • A%设置查询点击开始与字母A.的别名。

  • 格式是其中columnname类似‘情况’。 这里,栏名称是第一查询和说明的别名第二查询的。

这是一些示例情况:

  • _n% -第一个字母可以是所有字符(通配符),跟随由字母N和任何数量的字符。

  • %s -这设置查询点击以字母s.终结的别名

注意:在本例中,开始与字母A.的情况用于为了限制有别名的/说明用户

这些是此查询的一些变化:

  • 为了列出所有用户、删除和别名类似‘A%’在第一查询或者和说明类似‘A%’在第二查询。

  • 为了列出特定用户(例如请列出Anirudh的邮箱的计数),替换和别名类似‘A%’和alias='Anirudh’在第一查询或者替换和说明类似‘A%’和说明= ' Anirudh’在第二查询。保证更换在准确的位置,或者查询发生故障。

列表与旧留言到达时间的用户消息计数

此查询可以用于为了确定mailboxe清理的被安排的工作是否生效:

admin:run cuc dbquery unitymbxdb1 select alias as UserID, count (*) as messages,
min(arrivaltime) as OldestMessageTime from vw_message, unitydirdb:vw_mailbox,
unitydirdb:vw_user where mailboxobjectid in (select mailboxid from vw_mailbox
where unitydirdb:vw_user.objectid = unitydirdb:vw_mailbox.userobjectid) group
by alias order by messages desc


userid messages oldestmessagetime
---------------------------- -------- -----------------------
Anirudh 3 2013-03-19 14:38:14.459
Atest3 2 2013-01-18 05:49:45.355
undeliverablemessagesmailbox 1 2012-07-05 01:10:19.961

对于在列表被提及与已知别名段的总消息计数的同样原因,可能也使用此查询:

admin:run cuc dbquery unitymbxdb1 select description, count (*) as Messages,
min(arrivaltime) as OldestMessageTime from vw_message, vw_mailbox where
vw_mailbox.mailboxobjectid = vw_message.mailboxobjectid group by description
order by messages desc

注意:为了得到查询的最后到达时间在前面部分,请添加min(arrivaltime)作为计数之后的OldestMessageTime (*)作为消息。

这些是此查询的一些变化:

  • 为了列出有开始与字母A的别名的所有用户,请由别名条件或者和说明添加和别名类似‘A%’在第一查询,在组类似‘A%’在第二查询在组之前由说明情况之前。保证更换在准确的位置,或者查询发生故障。

  • 为了列出特定用户(例如请列出Anirudh的邮箱的计数),请由别名情况或者和说明添加在第一查询的alias='Anirudh,组= '在第二查询的Anirudh说明情况之前的组之前。保证更换在准确的位置,或者查询发生故障。

列出与旧留言到达时间和响信箱容量/托塔尔持续时间的用户消息计数

输入此命令为了得到用户消息计数的列表与以前消息的到达时间和响信箱容量的(没有总持续时间) :

admin:run cuc dbquery unitymbxdb1 select alias as UserID, count (*) as messages,
min(arrivaltime) as OldestMessageTime, vw_mailbox.bytesize from vw_message,
vw_mailbox, unitydirdb:vw_mailbox, unitydirdb:vw_user where
vw_message.mailboxobjectid=vw_mailbox.mailboxobjectid and
vw_mailbox.mailboxobjectid in (select mailboxid from vw_mailbox where
unitydirdb:vw_user.objectid = unitydirdb:vw_mailbox.userobjectid) group by
alias, vw_mailbox.bytesize order by messages desc


userid messages oldestmessagetime bytesize
---------------------------- -------- ----------------------- --------
Anirudh 3 2013-03-19 14:38:14.459 93319
Atest3 2 2013-01-18 05:49:45.355 59890
undeliverablemessagesmailbox 1 2012-07-05 01:10:19.961 317003

注意: 获得消息的总持续时间:添加“sum(duration/1000)作为TotalDuration_In_sec”在之前“从vw_message”。 请勿在总和前忘记逗号。这可能也用于查询在前面部分。

对于在列表被提及与已知别名段的总消息计数的同样原因,可能也使用此查询:

admin:run cuc dbquery unitymbxdb1 select description, count (*) as Messages,
min(arrivaltime) as OldestMessageTime, vw_mailbox.bytesize from vw_message,
vw_mailbox where vw_mailbox.mailboxobjectid = vw_message.mailboxobjectid
group by description, vw_mailbox.bytesize order by messages desc

注意:为了获得消息的总持续时间:添加“sum(duration/1000)作为TotalDuration_In_sec”在之前“从vw_message”。 请勿在总和前忘记逗号。这可能也用于查询在前面部分。

这些是此查询的一些变化:

  • 为了列出有开始与字母A的别名的所有用户,请由别名条件或者和说明添加和别名类似‘A%’在第一查询,在组类似‘A%’在第二查询在组之前由说明情况之前。保证更换在准确的位置,或者查询发生故障。

  • 为了列出特定用户(例如请列出Anirudh的邮箱的计数),请由别名情况或者和说明添加在第一查询的alias='Anirudh,组= '在第二查询的Anirudh说明情况之前的组之前。保证更换在准确的位置,或者查询发生故障。

列出用户收件箱,并且删除的消息计数与旧留言到达时间和响信箱容量/托塔尔持续时间

输入此命令为了得到用户收件箱的列表,并且删除的消息计数与以前消息的到达时间和响信箱容量(没有总持续时间)

admin:run cuc dbquery unitymbxdb1 select alias as UserID, count (*) as
TotalMessages, sum(case when deleted='0' then 1 else 0 end) as Inbox,
sum(case when deleted='1' then 1 else 0 end) as Deleted, min
(arrivaltime) as OldestMessageTime, vw_mailbox.bytesize from vw_message,
vw_mailbox, unitydirdb:vw_mailbox, unitydirdb:vw_user where
vw_message.mailboxobjectid=vw_mailbox.mailboxobjectid and
vw_mailbox.mailboxobjectid in (select mailboxid from vw_mailbox where
unitydirdb:vw_user.objectid = unitydirdb:vw_mailbox.userobjectid) group
by alias, vw_mailbox.bytesize order by TotalMessages desc


userid total inbox deleted oldestmessagetime byte
messages size
---------------- -------- ----- ------- ----------------------- ------
Anirudh 3 3 0 2013-03-19 14:38:14.459 93319
Atest3 2 2 0 2013-01-18 05:49:45.355 59890
undeliverable 1 1 0 2012-07-05 01:10:19.961 317003
messagesmailbox

注意:为了获得消息的总持续时间:添加“sum(duration/1000)作为TotalDuration_In_sec”在之前“从vw_message”。 请勿在总和前忘记逗号。这可能也用于查询在前面部分。

对于在列表被提及与已知别名段的总消息计数的同样原因,可能也使用此查询:

admin:run cuc dbquery unitymbxdb1 select description, count (*) as
TotalMessages, sum(case when deleted='0' then 1 else 0 end) as Inbox,
sum(case when deleted='1' then 1 else 0 end) as Deleted, min(arrivaltime)
as OldestMessageTime, vw_mailbox.bytesize from vw_message, vw_mailbox
where vw_mailbox.mailboxobjectid = vw_message.mailboxobjectid group by
description, vw_mailbox.bytesize order by TotalMessages desc

注意: 获得消息的总持续时间:添加“sum(duration/1000)作为TotalDuration_In_sec”在之前“从vw_message”。 请勿在总和前忘记逗号。这可能也用于查询在前面部分。

这些是此查询的一些变化:

  • 为了列出有开始与字母A的别名的所有用户,请由别名条件或者和说明添加和别名类似‘A%’在第一查询,在组类似‘A%’在第二查询在组之前由说明情况之前。保证更换在准确的位置,或者查询发生故障。

  • 为了列出特定用户(例如请列出Anirudh的邮箱的计数),请由别名情况或者和说明添加在第一查询的alias='Anirudh,组= '在第二查询的Anirudh说明情况之前的组之前。保证更换在准确的位置,或者查询发生故障。

列出消息总数所有邮箱的

输入此命令为了得到消息总数联合的所有的邮箱:

admin:run cuc dbquery unitymbxdb1 select count(*) as messages
from vw_message


messages
----------
6

列出与发送的用户响信箱容量并且接收限额

输入此命令为了获取与发送的用户响信箱容量和接收限额:

 

admin:run cuc dbquery unitydirdb select alias as UserID,bytesize,send,receive,
warning from vw_user,unitymbxdb1:vw_mailbox where vw_user.objectid in (select
userobjectid from vw_usermailboxmap where
vw_usermailboxmap.mailboxid=unitymbxdb1:vw_mailbox.mailboxobjectid and
alias='Anirudh')


userid bytesize send receive warning
------- -------- -------- -------- --------
Anirudh 93319 13000000 14745600 12000000

对于在列表被提及与已知别名段的总消息计数的同样原因,可能也使用此查询:

admin:run cuc dbquery unitymbxdb1 select description, bytesize,send,receive,
warning from vw_mailbox where description ='Anirudh'
 

列出与发送的所有用户邮箱大小并且接收限额

输入此命令为了得到所有与发送的用户邮箱大小和接收限额:

admin:run cuc dbquery unitydirdb select alias as UserID,bytesize,send,receive,
warning from vw_user,unitymbxdb1:vw_mailbox where vw_user.objectid in (select
userobjectid from vw_usermailboxmap where
vw_usermailboxmap.mailboxid=unitymbxdb1:vw_mailbox.mailboxobjectid) order by
bytesize desc


userid bytesize send receive warning
---------------------------- -------- -------- -------- --------
undeliverablemessagesmailbox 317003 13000000 14745600 12000000
Anirudh 93319 13000000 14745600 12000000
Atest3 59890 13000000 14745600 12000000
Solomon 0 13000000 14745600 12000000
UnityConnection 0 50000000 50000000 45000000
Suvir 0 13000000 14745600 12000000
dsas 0 13000000 14745600 12000000
test1 0 13000000 14745600 12000000
Atest2 0 13000000 14745600 12000000
operator 0 13000000 14745600 12000000

 对于在列表被提及与已知别名段的总消息计数的同样原因,可能也使用此查询:

admin:run cuc dbquery unitymbxdb1 select description, bytesize,send,receive,
warning from vw_mailbox order by bytesize desc

作为此查询的变化为了列出所有有开始与字母A的别名的用户,请情况添加和别名类似‘A%’vw_usermailboxmap.mailboxid=unitymbxdb1:vw_mailbox.mailboxobjectid之后的第一查询和以前)命令,或者您哪里情况添加说明类似‘A%’命令之前的第二查询。 保证这在正确位置被添加,或者查询发生故障。

列出联合的总大小所有邮箱

输入此命令为了得到联合的总大小所有邮箱:

admin:run cuc dbquery unitymbxdb1 select sum (bytesize) from vw_mailbox

(sum)
-------
2683210

admin:


Document ID: 118299