金仓数据库-常用系统表学习(金仓数据库常用命令)
序:这段时间以来,我的工作确实非常繁忙,主要原因是业务上遇到了一些重要的调整和挑战。
由于性能和国产化等多方面因素的综合考量,领导决定将业务从PostgreSQL数据库迁移到国产数据库上来。这一决策背后有着诸多考量:一方面,随着业务规模的不断扩大,数据量急剧增长,PostgreSQL在处理海量数据时的性能逐渐显露出瓶颈,无法满足我们对数据处理速度和效率的更高要求;另一方面,国家对于信息技术国产化的重视程度不断提升,鼓励企业使用国产软硬件产品,以保障信息安全和推动国内技术产业的发展,因此,从PostgreSQL迁移到国产数据库也是响应国家号召、实现业务自主可控的重要举措。
然而,数据库迁移并非一件简单的事情,它涉及到数据的完整迁移、系统的适配改造、性能的优化测试等一系列复杂的工作。首先,我们需要对现有的PostgreSQL数据库进行全面的梳理和评估,明确数据的结构、类型、大小等关键信息,制定详细的迁移方案。然后,在迁移过程中,要确保数据的完整性和准确性,避免数据丢失、损坏或错误的情况发生。同时,由于国产数据库与PostgreSQL在架构、功能、接口等方面存在一定的差异,我们还需要对业务系统进行相应的适配改造,以确保系统能够顺利地在新的数据库环境下运行。
此外,迁移完成后,还需要进行大量的性能测试和优化工作,以确保新系统能够满足业务的性能需求。这包括对数据库的查询性能、事务处理性能、并发性能等方面进行全面的测试,找出潜在的性能瓶颈,并采取相应的优化措施,如调整数据库参数、优化SQL语句、增加索引等,以提高系统的整体性能。
在这个过程中,为确保业务的顺利迁移和稳定运行。因此,我不得不暂时放下手中的更新工作,将全部的注意力集中在这一关键任务上。还好,推进还比较顺利!!之前没有接触过国产数据库,后面会将这段时间的心得记录下来,毕竟好记性不如烂笔头,拥抱国产化吧。
## SYS_CLASS
记载表和几乎所有字段或者类似的东西,包括索引、序列、视图、符合类型和一些特殊关系类型。当指所有这些对象的时候,一般称之为“关系”。不是所有字段对所有关系类型都有意义。
## SYS_INDEX
包含关于索引的一部分信息。其它的信息大多数在SYS_CLASS。
## SYS_PROC
存储关于函数或存储过程的信息。该表包含聚集函数和普通函数的数据。如果 PROISAGG 为真,那么代表是一个聚集函数,在 SYS_AGGREGATE 里应该有一个匹配行。
## SYS_ATTRIBUTE
存储关于表的字段的信息。数据库里每个表的每个字段都在该表中有一行。还有用于索引,以及所有在SYS_CLASS 里有记录的对象。
## SYS_NAMESPACE
存储名字空间,也称为模式名。字空间是 SQL 模式下层的结构:每个名字空间有独立的关系,类型等集合但并不会相互冲突。
## SYS_DATABASE
存储关于可用数据库的信息。数据库是用 CREATE DATABASE 创建的。
和大多数系统表不同,SYS_DATABASE 是在一个系统里的所有数据库共享的:所有数据库只有一份 SYS_DATABASE 拷贝,而不是每个数据库一份。
某个表是否是共享的可通过SYS_CLASS中的relisshared字段判断。
## SYS_CONSTRAINT
存储表上的检查约束、主键、唯一约束和外键约束。字段约束不会得到特殊对待。每个字段约束都等效于某些表约束。非空约束记录在 第12.1.7节 SYS_ATTRIBUTE 表中。在域上面的检查约束也存储在这里。
## SYS_TRIGGER
存储表上面的触发器。
## SYS_TABLESPACE
存储有关可用的表空间的信息。表可以放置在特定的表空间里,以帮助管理磁盘布局。
SYS_TABLESPACE 也是共享表,在所有数据库之间共享:一个数据库系统只有一份拷贝。
## SYS_DEPEND
记录数据库对象之间的依赖关系。这个信息允许 DROP 命令找出哪些其它对象必须由 DROP CASCADE 删除,或者是在 DROP RESTRICT 的情况下避免删除。
这个表的功能类似 SYS_SHDEPEND ,用于记录那些在数据库系统之间共享的对象之间的依赖性关系。
## SYS_SHDEPEND
记录数据库对象和共享对象(比如角色)之间的依赖性关系。这些信息允许数据库保证在企图删除这些对象之前,这些对象是没有被引用的。
SYS_SHDEPEND 是在系统里面所有的数据库之间共享的。和 SYS_DEPEND 表的作用类似,但这个表的功能是用于记录那些在数据库系统之间共享的对象之间的依赖性关系。
## SYS_PACKAGE
存储包信息。
## SYS_PKGVARIABLE
用来辅助 PL/SQL 编译时,检查包对象是否合法。
## SYS_PARTITION
存储各个分区信息的系统表 。
## SYS_PARTCLASS
存储分区表信息。
## SYS_SYNONYM
存储定义了的同义词。
## SYS_DBLINK
存放DBLINK的信息。
## SYS_AUD
存放审计结果的信息。
## SYS_LARGEOBJECT
保存那些标记着“大对象”的数据。一个大对象是使用其创建时分配的 OID 标识的。每个大对象都分解成足够小的小段或者“页面”以便以行的形式存储在 SYS_LARGEOBJECT 里。
## SYS_LOB_REFERENCE
存储大对象与数据库表中元组的引用信息。