Голосовая связь и система унифицированных коммуникаций : Cisco Unity Connection

SQL-запросы CUC для чисел сообщений и размеров почтового ящика

5 апреля 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Английский (22 августа 2015) | Отзыв

Содержание

Введение

Этот документ описывает, как получить число сообщений и размер почтового ящика пользователя с запросами StructuredQuery Language (SQL) (язык структурированных запросов) через CLI. Эти данные могут также быть получены с  программным средством Дампа Пользовательских данных от  страницы Cisco Unified Communications Tools

Внесенный Anirudh Mavilakandy, специалистом службы технической поддержки Cisco.

Предварительные условия  

Требования

Cisco рекомендует ознакомиться с Cisco Unity Connection (CUC).

Используемые компоненты

Сведения в этом документе основываются на Версиях 8. X CUC и позже, но эта информация могла бы работать для более ранних версий также. 

Базы данных

SQL-запросы сформированы с данными из этих баз данных:

  • UnityDirDB - Эта база данных содержит связанную с пользователем информацию.

  • UnityMbxDB1 - Эта база данных содержит информацию о почтовом ящике пользователя.

Таблицы

SQL-запросы сформированы с данными в этих представлениях. Представление является таблицей, которая является или комбинацией двух или больше таблиц или теми же данными в одиночной таблице.

Эти представления используются в базе данных UnityDirDB:

  • vw_mailbox - Это представление содержит сопоставление между пользователем и почтовым ящиком.

  • vw_user - Это представление содержит связанную с пользователем информацию.

Эти представления используются в базе данных UnityMbxDB1:

  • vw_message - Это представление содержит элемент сообщения в системе. Эта таблица является просто держателем свойств сообщения.

  • vw_mailbox - Это представление содержит почтовый ящик в системе, которая держит входящие сообщения. Эта таблица содержит общую информацию об отдельном почтовом ящике, для включения пути, которым сообщения хранятся в почтовом ящике.

SQL-запросы

В этом разделе описываются различные SQL-запросы, которые можно использовать в CUC.

Перечислите общее количество сообщений с известным псевдонимом

Введите эту команду для получения списка общего количества сообщений с известным псевдонимом:

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

Этот запрос является высокой сложностью, запрос двойной базы данных, который включает множественные таблицы. Для серверов с очень большой базой данных и размером почтового ящика, мог бы истечь длительный период времени, прежде чем выходные данные появляются, даже более чем час, который не идеален. В таких сценариях можно использовать этот запрос вместо этого:

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

Первый запрос возвращает данные, когда псевдоним упомянут, который Уникален. Второй запрос возвращает данные, когда описание упомянуто, который не Уникален.

Примечание: Когда почтовый ящик создан, описание совпадает с псевдонимом; однако, когда псевдоним обновлен, описание не обновлено. Для маленьких баз данных первый запрос идеален. Чтобы продемонстрировать, что описание не изменено после того, как псевдоним изменен, test3 модифицируется к 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

Примечание: Во втором запросе описание не изменяется от test3 до 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.

  • Формат то, где 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.

  • Формат то, где columnname как 'условие'. Здесь, имя столбца является псевдонимом для первого запроса и описанием для второго запроса.

Вот некоторые условия в качестве примера:

  • % _n - первая буква может быть любым символом (подстановочный знак), придерживавшийся буквой n и любым количеством символов.

  • %s - Это заставляет запрос поражать псевдонимы, которые заканчиваются буквой s.

Примечание: В данном примере условие используется для ограничения пользователей с псевдонимом/описанием, который начинается с буквы A.

Это некоторые изменения этого запроса:

  • Для распечатки всех пользователей удалите и исказите как '%' в первом запросе, или и описание как '%' во втором запросе.

  • Для распечатки индивидуального пользователя (перечислите счет для почтового ящика Анирадха, например), замена и псевдоним как '%' с и искажают ='Anirudh' в первом запросе, или замене и описании как '%' с и описании = '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.

  • Формат то, где columnname как 'условие'. Здесь, имя столбца является псевдонимом для первого запроса и описанием для второго запроса.

Вот некоторые условия в качестве примера:

  • % _n - первая буква может быть любым символом (подстановочный знак), придерживавшийся буквой n и любым количеством символов.

  • %s - Это заставляет запрос поражать псевдонимы, которые заканчиваются буквой s.

Примечание: В данном примере условие используется для ограничения пользователей с псевдонимом/описанием, который начинается с буквы A.

Это некоторые изменения этого запроса:

  • Для распечатки всех пользователей удалите и исказите как '%' в первом запросе, или и описание как '%' во втором запросе.

  • Для распечатки индивидуального пользователя (перечислите счет для почтового ящика Анирадха, например), замена и псевдоним как '%' с и искажают ='Anirudh' в первом запросе, или замене и описании как '%' с и описании = '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.

  • Формат то, где columnname как 'условие'. Здесь, имя столбца является псевдонимом для первого запроса и описанием для второго запроса.

Вот некоторые условия в качестве примера:

  • % _n - первая буква может быть любым символом (подстановочный знак), придерживавшийся буквой n и любым количеством символов.

  • %s - Это заставляет запрос поражать псевдонимы, которые заканчиваются буквой s.

Примечание: В данном примере условие используется для ограничения пользователей с псевдонимом/описанием, который начинается с буквы A.

Это некоторые изменения этого запроса:

  • Для распечатки всех пользователей удалите и исказите как '%' в первом запросе, или и описание как '%' во втором запросе.

  • Для распечатки индивидуального пользователя (перечислите счет для почтового ящика Анирадха, например), замена и псевдоним как '%' с и искажают ='Anirudh' в первом запросе, или замене и описании как '%' с и описании = '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, добавляют и искажают как '%' в первом запросе как раз перед группой условием псевдонима, или и описание как '%' во втором запросе как раз перед группой по описанию условие. Удостоверьтесь, что замена находится в точной позиции, или произойдет сбой запроса.

  • Для распечатки индивидуального пользователя (перечислите счет для почтового ящика Анирадха, например), добавьте и исказите ='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

Примечание: Получить общую продолжительность сообщений: добавьте", сумма (продолжительность/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

Примечание: Для получения общей продолжительности сообщений: добавьте", сумма (продолжительность/1000) как TotalDuration_In_sec" как раз перед "от vw_message". Не забывайте запятую перед суммой. Это может также использоваться для запросов в предыдущих разделах.

Это некоторые изменения этого запроса:

  • Для распечатки всех пользователей с псевдонимами, которые начинаются с буквы A, добавляют и искажают как '%' в первом запросе как раз перед группой условием псевдонима, или и описание как '%' во втором запросе как раз перед группой по описанию условие. Удостоверьтесь, что замена находится в точной позиции, или произойдет сбой запроса.

  • Для распечатки индивидуального пользователя (перечислите счет для почтового ящика Анирадха, например), добавьте и исказите ='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

Примечание: Для получения общей продолжительности сообщений: добавьте", сумма (продолжительность/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

Примечание:  Получить общую продолжительность сообщений: добавьте", сумма (продолжительность/1000) как TotalDuration_In_sec" как раз перед "от vw_message". Не забывайте запятую перед суммой. Это может также использоваться для запросов в предыдущих разделах.

Это некоторые изменения этого запроса:

  • Для распечатки всех пользователей с псевдонимами, которые начинаются с буквы A, добавляют и искажают как '%' в первом запросе как раз перед группой условием псевдонима, или и описание как '%' во втором запросе как раз перед группой по описанию условие. Удостоверьтесь, что замена находится в точной позиции, или произойдет сбой запроса.

  • Для распечатки индивидуального пользователя (перечислите счет для почтового ящика Анирадха, например), добавьте и исказите ='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, добавьте и исказите как '%' в первом запросе сразу после vw_usermailboxmap.mailboxid=unitymbxdb1:vw_mailbox.mailboxobjectid и прежде ), заказ условием, или можно добавить где описание как '%' во втором запросе как раз перед заказом условием. Гарантируйте, что это добавлено в корректной позиции или сбоях запроса.

Перечислите общий размер всех объединенных почтовых ящиков

Введите эту команду для получения общего размера всех объединенных почтовых ящиков:

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

(sum)
-------
2683210

admin:

Связанные обсуждения сообщества поддержки Cisco

В рамках сообщества поддержки Cisco можно задавать и отвечать на вопросы, обмениваться рекомендациями и совместно работать со своими коллегами.


Document ID: 118299