diff --git a/pkg/local_object_storage/metabase/delete.go b/pkg/local_object_storage/metabase/delete.go
index 0690b7060..eb63ef7df 100644
--- a/pkg/local_object_storage/metabase/delete.go
+++ b/pkg/local_object_storage/metabase/delete.go
@@ -10,18 +10,7 @@ var tombstoneBucket = []byte("tombstones")
 
 // Delete marks object as deleted.
 func (db *DB) Delete(addr *object.Address) error {
-	return db.boltDB.Update(func(tx *bbolt.Tx) error {
-		bucket, err := tx.CreateBucketIfNotExists(tombstoneBucket)
-		if err != nil {
-			return errors.Wrapf(err, "(%T) could not create tombstone bucket", db)
-		}
-
-		if err := bucket.Put(addressKey(addr), nil); err != nil {
-			return errors.Wrapf(err, "(%T) could not put to tombstone bucket", db)
-		}
-
-		return nil
-	})
+	return db.delete(addr)
 }
 
 func objectRemoved(tx *bbolt.Tx, addr []byte) bool {
@@ -29,3 +18,27 @@ func objectRemoved(tx *bbolt.Tx, addr []byte) bool {
 
 	return tombstoneBucket != nil && tombstoneBucket.Get(addr) != nil
 }
+
+// DeleteObjects marks list of objects as deleted.
+func (db *DB) DeleteObjects(list ...*object.Address) {
+	if err := db.delete(list...); err != nil {
+		// TODO: log error
+	}
+}
+
+func (db *DB) delete(list ...*object.Address) error {
+	return db.boltDB.Update(func(tx *bbolt.Tx) error {
+		bucket, err := tx.CreateBucketIfNotExists(tombstoneBucket)
+		if err != nil {
+			return errors.Wrapf(err, "(%T) could not create tombstone bucket", db)
+		}
+
+		for i := range list {
+			if err := bucket.Put(addressKey(list[i]), nil); err != nil {
+				return errors.Wrapf(err, "(%T) could not put to tombstone bucket", db)
+			}
+		}
+
+		return nil
+	})
+}
diff --git a/pkg/local_object_storage/metabase/delete_test.go b/pkg/local_object_storage/metabase/delete_test.go
index f065f2387..49a72c8b0 100644
--- a/pkg/local_object_storage/metabase/delete_test.go
+++ b/pkg/local_object_storage/metabase/delete_test.go
@@ -54,3 +54,18 @@ func BenchmarkDB_Delete(b *testing.B) {
 		}
 	})
 }
+
+func TestDB_DeleteObjects(t *testing.T) {
+	db := newDB(t)
+	defer releaseDB(db)
+
+	o1 := generateObject(t, testPrm{})
+	o2 := generateObject(t, testPrm{})
+
+	require.NoError(t, db.Put(o1))
+	require.NoError(t, db.Put(o2))
+
+	db.DeleteObjects(o1.Address(), o2.Address())
+
+	testSelect(t, db, object.SearchFilters{})
+}