【经验分享】数据库服务器维护时,你有碰到过这些问题吗?

作者: 杜林霏
2017-01-05
968
原创
不管是Mysql还是Oracle,相信大家在进行数据库问题时都会遇到形形色色的问题和疑惑,下面就分享一些我的经验心得,希望对大家有所帮助。

一、 Oracle数据库导入时候报错

1) 删除之前的表空间SHYBK_TEST(这样那些数据表都被清空了)
2) 创建SHYBK_TEST表空间 ,修改用户默认表空间为SHYBK_TEST
3) 创建报错时候不存在的表空间,(不需要把用户赋给这个表空间)
4) 重新导入试试


二、 使用du -h *  查询目录底下所有的文件大小

三、 导入报错表空间大小不够
修改表空间大小:

四、 修改表空间大小不够
查看表空间目录下空间是磁盘是否满了,如果满了继续查看是什么原因导致满了,正常情况下,不会因为表空间太多磁盘就满了。

五、 mysql执行

报错:

1) 以管理员的权限执行;
2) 一劳永逸的方法,在my.ini(my.cnf)中的[mysqld]区段中加上 


六、 UNDOTBS1表空间过大&磁盘空间不足的问题
UNDOTBS1是一个回滚表空间,随着数据库的使用,默认会自动扩展。当它增大到一定程度,占用了过多的磁盘空间时,就需要进行清理了
环境:linux
1) 登录到数据库
2) 创建一个新的回滚段表空间

3) 回滚段指向新的表空间

4) 重新启动数据库

5) 因为Oracle9i默认是自动管理回滚段,为了防止其无限制的增长,可以将其设置为人工管理:

6) 重新启动数据库:

SQL> startup force

7) 删除原来的回滚段:


七、 mysql 执行脚本的时候,特别是执行存储过程报错


给用户赋权限:grant all privileges on 数据库名.* to 'MySql用户名'@'localhost';


八、 mysql数据库服务器由于慢日志slow_querys.log过大导致&内存占满

删除slow_querys.log后,普通的重启会失败,杀掉进程重启也会失败的,因为服务器重新要调用slow_querys.log日志重启,这个文件被删除后,是不能直接重启。

解决办法:用root用户 查询mysql的进程 


九、 Oracle 查锁表和解锁


这就是我在维护数据库服务器的一些经验和心得,希望和大家共勉!

恒生技术之眼