升级数据库的方式和过程¶
介绍¶
如果新版本数据库的数据存储格式没有发生变化,在使用新版本数据库程序去启动旧版本的数据库实例时,会提示需要先升级再重新启动。 在数据库升级时,会将新版本里有变化的系统对象(系统表、视图、函数等)进行更新。如果已存在一些依赖导致无法进行升级,数据库也会列出造成这些依赖的对象,用户删除掉这些依赖后可重新升级。 如果新版本数据库的数据存储格式发生了变化,请通过创建新库,并使用逻辑备份恢复来迁移数据。
注意事项¶
在快速升级数据库的时候,需要注意下面事项:
- 升级数据库时请勿关闭数据库,升级数据库前要做好备份,避免在升级过程中遇到问题导致数据库不可用。
升级方式1¶
命令行升级时可以指定下面命令行参数组合:
- -o UPGRADE 表示升级模式启动,升级完毕以后自动关闭数据库
- -o DRYUPGRADE 表示演习升级模式启动,只尝试升级,并检查真正升级时可能出现的问题。
- -d dbname 要升级的数据库名称
例如:¶
成功从 1.1 升级到 2.1!
常见升级失败的原因¶
- 上次升级数据库时异常退出,再次升级会报以下错误:
"数据库上次升级失败,无法使用,请从先从备份恢复数据库,然后执行升级操作。";
- 有用户对象依赖升级对象,请先将这些对象进行逻辑备份并删除,再执行升级操作,升级完成后再重建这些对象。错误信息如下:
"有用户对象依赖当前要更新的系统对象,请先将这些对象进行逻辑备份并删除,再执行升级操作,升级完成后再重建这些对象:
- 后台程序版本号比控制文件版本号低,会报以下错误:
"不能从高版本降级为低版本”