一种K-DB数据库表空间元数据本地存储方法技术

技术编号:17734024 阅读:43 留言:0更新日期:2018-04-18 11:28
本发明专利技术特别涉及一种K‑DB数据库表空间元数据本地存储方法。该K‑DB数据库表空间元数据本地存储方法,将所有用户自定义表空间的元数据都存储到该自定义表空间中,实现用户自定义表空间元数据从SYSTEM表空间中剥离;同时,在自定义表空间设计热插拔SQL命令,实现自定义表空间从数据库中分离和向数据库插入。该K‑DB数据库表空间元数据本地存储方法,可以避免由于SYSTEM表空间故障时因为数据库无法启动造成自定义表空间数据不可用,使得任何一个自定义表空间的损坏不影响数据库及其它自定义表空间的正常使用;并且可以方便实现自定义表空间从数据库中分离和向数据库插入,实现了表空间之间数据的隔离以及自定义表空间数据快速的迁移。

A K DB spatial metadata database table local storage method

The invention relates to a K DB database table spatial metadata local storage method. The K DB database table space metadata local storage method, the metadata for all user-defined table spaces are stored into the custom table space, user defined table metadata from the SYSTEM table space at the same time, peeling; in the custom table space design of hot swappable SQL command, to implement a custom table space to insert from the database and separation in the database. The K DB database table space local metadata storage method can avoid the SYSTEM tablespace fault because the database cannot be started by a custom table of spatial data is not available, making any custom table space damage does not affect the normal use of the database and other custom table space; and can facilitate the implementation of custom table space to separate and insert the database from the database, realizes the data table space between the isolation and the spatial data transfer fast custom table.

【技术实现步骤摘要】
一种K-DB数据库表空间元数据本地存储方法
本专利技术涉及元数据存储
,特别涉及一种K-DB数据库表空间元数据本地存储方法。
技术介绍
K-DB数据库是浪潮自主研发的一种关系型数据库,采用通过共享存储方式实现多个实例同时访问存储中数据库数据,各实例并行运行的集群模式。K-DB数据库拥有System、Syssub、用户自定义表空间等若干表空间,这些表空间存储着数据库本身的所有元数据以及用户业务对象和元数据,用于保证数据库的正常运行。目前,K-DB数据库用户自定义表空间的元数据以及用户自定义表空间中存储对象的元数据都存储在SYSTEM表空间中。这种元数据集中存储在SYSTEM表空间中的方式存在一定安全隐患:当SYSTEM表空间的数据文件丢失或损坏时,可能造成数据库无法启动、表空间数据无法访问,需要通过恢复SYSTEM表空间或整个数据库的方式才能恢复数据库的访问;如果数据库没有备份,那么可能造成数据库数据全部无法读/写。SYSTEM表空间数据文件损坏造成数据库无法启动的故障时有发生,若数据库无法启动则其中的数据无法访问,等同于数据丢失,这种损失是无法估量的。为了避免SYSTEM空间损本文档来自技高网...

【技术保护点】
一种K‑DB数据库表空间元数据本地存储方法,其特征在于:将所有用户自定义表空间的元数据都存储到该自定义表空间中,即用户自定义表空间存储着该自定义表空间以及其中各种对象的元数据,并且也存储该自定义表空间中对象数据,实现了用户自定义表空间元数据从SYSTEM表空间中剥离;同时,在自定义表空间设计热插拔SQL命令,实现自定义表空间从数据库中分离和向数据库插入;当需要对数据进行迁移时,准备一个与源库软件版本相同的目标数据库,将相应自定义表空间从原数据库中拆离,然后将自定义表空间所有数据文件拷贝到目标主机目录,修改数据文件属主和权限后,执行热插拔SQL命令将自定义表空间及数据文件插入到新的数据库,整个迁...

【技术特征摘要】
1.一种K-DB数据库表空间元数据本地存储方法,其特征在于:将所有用户自定义表空间的元数据都存储到该自定义表空间中,即用户自定义表空间存储着该自定义表空间以及其中各种对象的元数据,并且也存储该自定义表空间中对象数据,实现了用户自定义表空间元数据从SYSTEM表空间中剥离;同时,在自定义表空间设计热插拔SQL命令,实现自定义表空间从数据库中分离和向数据库插入;当需要对数据进行迁移时,准备一个与源库软件版本相同的目标数据库,将相应自定义表空间从原数据库中拆离,然后将自定义表空间所有数据文件拷贝到目标主机目录,修改数据文件属主和权限后,执行热插拔SQL命令将自定义表空间及数据文件插入到新的数据库,整个迁移过程不需要将元数据导出再导入。2.根据权利要求1所述的K-DB数据库表空间元数据本地存储方法,其特征在于:所述自定义表空间的元数据包括表空间名称,表空间的数据文件名称,数据文件大小和路径、表空间分配信息,表空间中存放的表和索引对象的名称、对象类型、对象大小、对象的存储位置信息。3.根据权利要求1所述的K-DB数据库表空间元数据本地存储方法,其特征在于:所述自定义表空间的元数据存储区空间不低于50M空间。4.根据权利要求1所述的K-DB数据库表空间元数据本地存储方法,其特征在于:数据库启动时首先检查各自定义表空间元数据是否完整;然后读取各个自定义表空间的元数据到内存区;数据库负责维护各自定义表空间的元数据,将元数据的变更写入到自定义表空间对应的数据文件中,同时将所有对元数据的变更都记录到REDO文件中,以便在数据库CRASH或恢复时恢复表空间数据。5.根据权利要求4所述的K-DB数据库表空间元数据本地存储方法,其特征在于:当在自定义表空间上创建表或索引对象时,从该自定义表空间中分配所需空间大小和位置,将空间大小和位置以及对象信息记录到元数据中;当在自定义表空间上删除表或索引对象时,从元数据中将相应对象信息删除并且释放回收自定义表空间中被对象占用的空间;当在自定义表空间上增加或删除数据文件时同样会对元数据的数据文件名称、路径、大小和存储起止位置进行修改。6.根据权利要求1所述的K-DB数据库表空间元数据本地存储方法,其特征在于:当需要将自定义表空...

【专利技术属性】
技术研发人员:马国良
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1