2020-09-09 16:43发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,Sybase Gurus,
我在sybase数据库16.0.02.05中有一个关于数据文件的问题。 如我所见并且已经使用过,我可以在dbacockpit上用一些新的数据文件扩展数据库。 但是是否还有机会即时/在线删除不必要的数据文件? 还是只有有足够的停机时间才有可能?
预先感谢和问候
罗伯特,你好
有两种方法。 您是否要在不更改数据库大小的情况下重新组织存储的位置,还是因为数据库大于所需的大小而删除设备,以使其更小?
如果要更改
a),您可以找到一个位置转储数据库,删除数据库,在所需位置创建新设备,创建数据库并加载转储。 删除数据库后,可以立即从OS删除设备。 这种方法确实需要停机。
b)使用磁盘镜像在所需位置创建设备的镜像,打破保留新设备的镜像,放下旧设备
如果 您想使数据库更小,ASE具有ALTER DATABASE SHRINK命令,将数据库从设备上缩小后,可以删除设备
https://help.sap.com/viewer/3bdda6b0ffad441aab4fe51e4e876a2004b1c4b1c4b1c4b1c4b1c4b1e4e4b2e4e4b1e2e4b1c3b4c8b1b3c4b8b8cb1b4c4b1b4b4c8b1cb1b4c8b8bb1b4c8b1cb1cb8c4b8bb1c86f1b86f1bb1fb4bb1fb1bb1bb1bb1bb1bbd效果度 > 当数据库实际上没有在设备上分配任何表时,此收缩命令将非常快。 通常,由于ASE通常从数据库的开始到末尾分配可用空间(按逻辑页号排序),所以最后添加到数据库的设备很可能是空的。 不幸的是, 如果存在具有包含许多重复项的非唯一索引的表,那么收缩命令将非常缓慢。 请参阅KBA2467562。可以通过在执行收缩操作之前删除此类索引来避免这种情况-但删除和重建索引可能必须限于维护时段。 另一个选择是从设备中删除所有段,然后在所有表上运行REORG REBUILD以强制它们重新定位到设备之外。 REORG可以在多个表上并行运行,并且具有对表进行碎片整理和压缩的附带好处。 如果您有足够的时间在需要删除设备之前,则此方法很有吸引力,因为在将segmap归零之后,REORG可以在多个维护时段(也许是几周)内运行,但最终会导致设备 没有任何分配(很好,reorg不会移动LOB(文本,图像,JAVA,XML)分配,但是SHRINK在重新分配LOB数据方面很有效) -bret
当数据库实际上没有在设备上分配任何表时,此收缩命令将非常快。 通常,由于ASE通常从数据库的开始到末尾分配可用空间(按逻辑页号排序),所以最后添加到数据库的设备很可能是空的。
不幸的是, 如果存在具有包含许多重复项的非唯一索引的表,那么收缩命令将非常缓慢。 请参阅KBA2467562。可以通过在执行收缩操作之前删除此类索引来避免这种情况-但删除和重建索引可能必须限于维护时段。 另一个选择是从设备中删除所有段,然后在所有表上运行REORG REBUILD以强制它们重新定位到设备之外。 REORG可以在多个表上并行运行,并且具有对表进行碎片整理和压缩的附带好处。 如果您有足够的时间在需要删除设备之前,则此方法很有吸引力,因为在将segmap归零之后,REORG可以在多个维护时段(也许是几周)内运行,但最终会导致设备 没有任何分配(很好,reorg不会移动LOB(文本,图像,JAVA,XML)分配,但是SHRINK在重新分配LOB数据方面很有效)
-bret
您可以随时删除未使用的设备,而无需等待维护窗口。
在16.0 SP02 PL04和16.0 PL03之前,删除设备 这是一个两步过程,您首先运行sp_dropdevice从系统目录中删除该设备,然后必须直接从OS中从文件系统中删除文件。 最近,对sp_dropdevice进行了增强,可以删除系统目录条目和删除外部文件。 干杯, -bret
嗨 布雷特,
谢谢您的回答。 当我尝试放下设备时,系统会显示消息
服务器" XXX",过程" sp_dropdevice",第131行:数据库正在使用设备。 你不能丢它。
当我尝试将数据文件放在sybase上时,是否有类似maxdb的机制? 还是我要手动重定位此数据文件中的对象? 在sybase中添加更多空间似乎没有问题,但是删除非常烦人>。<
最好的问候
Robert
嗨,布雷特,
我只想删除一个数据文件,因为客户在erp中删除了一个客户端,现在他们想回收文件系统上可能的可用磁盘空间。 我将尝试缩小功能,因为我不能在这么长时间内运行重组。 非常感谢您的澄清! 对我在sybase中的理解大有帮助!
BR
rob
最多设置5个标签!
罗伯特,你好
有两种方法。 您是否要在不更改数据库大小的情况下重新组织存储的位置,还是因为数据库大于所需的大小而删除设备,以使其更小?
如果要更改
a),您可以找到一个位置转储数据库,删除数据库,在所需位置创建新设备,创建数据库并加载转储。 删除数据库后,可以立即从OS删除设备。 这种方法确实需要停机。
b)使用磁盘镜像在所需位置创建设备的镜像,打破保留新设备的镜像,放下旧设备
如果 您想使数据库更小,ASE具有ALTER DATABASE SHRINK命令,将数据库从设备上缩小后,可以删除设备
https://help.sap.com/viewer/3bdda6b0ffad441aab4fe51e4e876a2004b1c4b1c4b1c4b1c4b1c4b1e4e4b2e4e4b1e2e4b1c3b4c8b1b3c4b8b8cb1b4c4b1b4b4c8b1cb1b4c8b8bb1b4c8b1cb1cb8c4b8bb1c86f1b86f1bb1fb4bb1fb1bb1bb1bb1bb1bbd效果度 >
当数据库实际上没有在设备上分配任何表时,此收缩命令将非常快。 通常,由于ASE通常从数据库的开始到末尾分配可用空间(按逻辑页号排序),所以最后添加到数据库的设备很可能是空的。
不幸的是, 如果存在具有包含许多重复项的非唯一索引的表,那么收缩命令将非常缓慢。 请参阅KBA2467562。可以通过在执行收缩操作之前删除此类索引来避免这种情况-但删除和重建索引可能必须限于维护时段。 另一个选择是从设备中删除所有段,然后在所有表上运行REORG REBUILD以强制它们重新定位到设备之外。 REORG可以在多个表上并行运行,并且具有对表进行碎片整理和压缩的附带好处。 如果您有足够的时间在需要删除设备之前,则此方法很有吸引力,因为在将segmap归零之后,REORG可以在多个维护时段(也许是几周)内运行,但最终会导致设备 没有任何分配(很好,reorg不会移动LOB(文本,图像,JAVA,XML)分配,但是SHRINK在重新分配LOB数据方面很有效)
-bret
您可以随时删除未使用的设备,而无需等待维护窗口。
在16.0 SP02 PL04和16.0 PL03之前,删除设备 这是一个两步过程,您首先
运行sp_dropdevice从系统目录中删除该设备,然后必须直接从OS中从文件系统中删除文件
。 最近,对sp_dropdevice进行了增强,可以删除系统目录条目和删除外部文件。
干杯,
-bret
嗨 布雷特,
谢谢您的回答。 当我尝试放下设备时,系统会显示消息
服务器" XXX",过程" sp_dropdevice",第131行:数据库正在使用设备。 你不能丢它。
当我尝试将数据文件放在sybase上时,是否有类似maxdb的机制? 还是我要手动重定位此数据文件中的对象? 在sybase中添加更多空间似乎没有问题,但是删除非常烦人>。<
最好的问候
Robert
嗨,布雷特,
我只想删除一个数据文件,因为客户在erp中删除了一个客户端,现在他们想回收文件系统上可能的可用磁盘空间。 我将尝试缩小功能,因为我不能在这么长时间内运行重组。 非常感谢您的澄清! 对我在sybase中的理解大有帮助!
BR
rob
一周热门 更多>