To support the reuse and combination of ontologies in Semantic Web applications, it is often necessary to obtain smaller ontologies from existing larger ontologies. In particular, applications may require the omission of many terms, e.g., concept names and role names, from an ontology. However, the task of omitting terms from an ontology is challenging because the omission of some terms may affect the relationships between the remaining terms in complex ways. We present the first solution to this problem by adapting the technique of forgetting, previously used in other domains. Specifically, we present a semantic definition of forgetting for description logics in general, which generalizes the standard definition for classical logic. We then introduce algorithms that implement forgetting in both DL-Lite TBoxes and ABoxes, and in DL-Lite knowledge bases. We prove that the algorithms are correct with respect to the semantic definition of forgetting, and that they run in polynomial time.