发布时间 : 星期六 文章达梦数据库操作手册更新完毕开始阅读
一、 物理还原数据库
物理还原,即使用物理备份BAK文件还原数据库,还原到的目的数据库的建库参数要和原始数据库一致,包括页大小、簇大小、大小写敏感。
还原数据库时,要求当前对该数据库没有连接访问,可以通过关闭所有应用,或者修改达梦的端口号来实现,具体参见1.3节。
1.1 使用SQL语句还原
1. 以系统管理员用户登录数据库 ./isqlSYSDBA/SYSDBA@127.0.0.1
@符号后为数据库的IP地址。 2. 脱机所要还原的数据库
SQL>ALTER DATABASE [数据库名] SET OFFLINE; 例:ALTER DATABASE EMS SET OFFLINE;
如果报错当前对象被占用,按照1.3中的方法确认数据库是否有连接访问。 3. 还原数据库
SQL>RESTORE DATABASE [数据库名] FULL FROM ‘备份文件绝对路径’; 例:RESTORE DATABASE EMS FULL FROM ‘/dbdata/dmdata/EMS_BAK1.bak’; 4. 数据库联机
SQL>ALTER DATABASE [数据库名] SET ONLINE;
5.关联用户与登录,如还原EMS数据库,需使用SYSDBA登录数据库执行如下SQL: SET CURRENT DATABASE EMS; ALTER USER EMS RELATED BY D5000; ALTER USER EXPMAN RELATED BY EXPMAN; ALTER USER HISDB RELATED BY HISDB; ALTER USER STATICS RELATED BY STATICS;
1.2 使用达梦客户端还原
使用客户端进行还原,同样使用上面的方式进行还原,只是操作简单。 1. 以SYSDBA登录到数据库后,脱机要还原的数据库
成功脱机会弹出提示信息,如果报错“当前对象被占用”,按照1.3中的方法确认数据
库是否有连接访问。
2. 还原数据库
3. 选择备份文件
4. 还原完成后会给出提示信息
5. 进行数据库联机
1.3 清除数据库访问
当数据库在脱机时,如果报错“当前对象被占用”,说明当前数据库连接中存在联机正在访问所要还原的数据库,通过以下方式查找相关数据库连接:
isql登录数据库: ./isqlSYSDBA/SYSDBA@127.0.0.1
执行查询:
select * from v$session;
该查询会返回当前数据库中的连接信息,包含登录用户、登录的IP地址等信息,通过
这些信息可以先关闭相应的连接再进行数据库脱机操作。
在某些情况下,可能不方便关闭所有的连接,此时我们可以通过修改数据库的访问端口
号来拒绝应用对数据库的访问。修改达梦安装目录下bin/dm.ini文件,其中的PORT_NUM为数据库端口号,修改为其他值即可,如22345,重启数据库后参数生效。但是需要注意,此时访问数据库的端口后也要使用修改后的值,例如,使用isql登录数据库命令如下: ./isqlSYSDBA/SYSDBA@127.0.0.1:22345