3


数据库维护

Content Delivery Server 数据库包含由 Content Delivery Server 执行的所有事务的记录。随着时间的推移,包含这些事务的表会变得很大,从而可能导致性能降低。应定期从数据库的表中删除不活动项。

本节提供了有关管理数据库中数据量的信息。可以删除不再需要的数据,也可以对要留作历史记录的选定数据进行归档。

本章包括以下主题:


3.1 表维护

监视本节中列出的 Content Delivery Server 数据库表,并根据需要删除某些项。此外,还要按照 Oracle 的建议对数据库执行标准的维护过程。

3.1.1 事务表

下表会随着 Content Delivery Server 中发生的事务数量的增加而增大。可以对这些表中的某些数据进行归档,以使其大小维持在易于管理的水平。

当订户或他们已购买的内容不再处于活动状态时,可以从该表中清除相应的数据。

当订户或他们已购买的内容不再处于活动状态时,可以从该表中清除相应的数据。

如果使用后付费服务并已处理数据,或者报告服务已启用并处于最新状态,则可以从此表中清除数据。

活动到期后,可以从此表中清除数据。

订户被停用后,可以从此表中清除数据。

3.1.2 实体表

下表保留了数据实体,如订户和可下载内容。当实体处于非活动状态时,可以从这些表及其相关的表中删除不使用的记录。


3.2 归档数据

Content Delivery Server 数据库中用于存储记录(以提供系统活动的相关信息)的表可能会迅速增大。包含大量数据的表可能会对性能产生负面影响。可以使用 Oracle 导出工具 exp 备份数据,然后将数据从 Content Delivery Server 数据库中删除。有关导出工具的信息,请参见 Oracle 数据库文档。

要降低数据库大小,请定期对以下表中的数据进行归档:

请定期从每个 Catalog Manager 和 Vending Manager 数据库的表中删除历史数据。以下代码显示了用于对指定日期之前的数据进行归档的样例命令。


# exp USERID=user-ID/password OWNER=prefix_component_owner FILE=file-name \
  QUERY='WHERE cds_event_date < \'date\'' TABLES='CDS_EVENT'
# sqlplus system/system
SQL> DELETE FROM prefix_component_owner.cds_event where cds_event_date < 'date';
SQL> commit;
SQL> exit
# 

 

user-ID 是具有 Oracle 数据库系统权限的用户 ID。password 是与所使用的用户 ID 相关联的密码。prefix 是创建要归档的数据库时在数据库配置文件中指定的前缀。componentps(对于 Catalog Manager 数据库)或 vs(对于 Vending Manager 数据库)。file-name 是将数据归档到的文件的名称。date 是一个日期,它采用 Oracle 数据库能够识别的日期格式,将对该日期之前的数据进行归档。

请定期从每个 Vending Manager 数据库的表中删除历史数据。以下代码显示了用于对指定日期之前的数据进行归档的样例命令。


# exp USERID=user-ID/password OWNER=prefix_vs_owner FILE=file-name \
  QUERY='WHERE TRANSACTION_DATE < \'date\'' TABLES='REPORT_DOWNLOAD'
# sqlplus system/system
SQL> DELETE FROM prefix_es_owner.report_download
  2 where transaction_date < 'date';
SQL> commit;
SQL> exit
# 

 

user-ID 是具有 Oracle 数据库系统权限的用户 ID。password 是与所使用的用户 ID 相关联的密码。prefix 是创建要归档的数据库时在数据库配置文件中指定的前缀。file-name 是将数据归档到的文件的名称。date 是一个日期,它采用 Oracle 数据库能够识别的日期格式,将对该日期之前的数据进行归档。

请使用以下命令定期删除从每个 Vending Manager 数据库的表中成功收到的消息。


# exp USERID=user-ID/password OWNER=prefix_vs_owner FILE=file-name \
  QUERY='EXTERNAL_MESSAGE_KEY = \'status\'' TABLES='MMS_MESSAGE'
# sqlplus system/system
SQL> DELETE FROM cds_vs_owner.mms_message
 2 where external_message_key = 'status';
SQL> commit;
SQL> exit
# 

 

user-ID 是具有 Oracle 数据库系统权限的用户 ID。password 是与所使用的用户 ID 相关联的密码。prefix 是创建要归档的数据库时在数据库配置文件中指定的前缀。file-name 是将数据归档到的文件的名称。status 是 MMS 网关用于表明已成功收到消息的值。