蜗牛天堂

www.sourcejoy.com

导航

统计

公告

2010年7月15日 #

产品开发到发布过程中的郁闷

摘要: 这几天部门的兄弟们又被产品新版本发版搞得焦头烂额,很是无语,像我这种混混都觉得明显错误的地方,研发中心的中层和高层领导却在不停地反复地来犯,搞不懂,是我目光短浅还是各位老大太弱,为什么这样不想多纠结,这里就把我认为的错误总结出来。也希望大家能拍些砖,一起探讨一下。阅读全文

posted @ 2010-07-15 21:59 爱吃鱼的蜗牛 阅读(2047) 评论(18) 编辑

2010年5月26日 #

博客系统的结构简述

摘要: 前几年开始大量流行博客,连要饭的都更博,博客火得就剩一个字——火!有人要搞博客,自然玩程序的就要跟进,搞出各种博客系统来,什么wordpress、zblog等等。界面大同小异,基本的东西就那么一点,今天这篇文章就大体总结一下博客系统的结构。阅读全文

posted @ 2010-05-26 20:41 爱吃鱼的蜗牛 阅读(571) 评论(4) 编辑

2010年5月12日 #

第三方支付原理概述

摘要: 前两天下班和同事一起去车站坐公交车,路上聊了会儿第三方支付的问题,他是做我们产品的第三方支付的,所以对这块也比较清楚,通过他的简单讲解,我基本明白了第三方支付的原理,特在此记录。阅读全文

posted @ 2010-05-12 20:47 爱吃鱼的蜗牛 阅读(3932) 评论(29) 编辑

2010年5月9日 #

本oracle菜鸟的一次oracle恢复笔记

最近开发环境的oracle服务器磁盘空间满了,于是又开始像以前一样,到处删东西,终于删无可删了,我又打起了oracle数据文件的主意,由于对oracle知之甚少,由此也引发了一系列的oracle错误,后来经过不懈努力,oracle终于又活了过来。成功之后,必然要将这次浪费了几个小时的事件记录下来,引以为戒吧。
由于不正常使用,oracle服务器的硬盘磁盘空间满了,没法,到处删东西,发现某个表空间没什么用,但又不确定,于是,表空间没做任何修改,而是直接在linux下把表空间的数据文件从一个磁盘移动到另一个磁盘了(/data/挂载的是另一个磁盘):
[root@localhost ~]# cp /u01/app/oracle/oradata/sj/sj_test.dbf /data/
[root@localhost ~]# rm /u01/app/oracle/oradata/sj/sj_test.dbf
(移动可以用mv的,请各位高手原谅本菜。)
此时心里想的是oracle应该在使用这个表空间的时候发现出错会报错,而不是启动就报错(无知真可怕!)

有空间啦,于是兴高采烈的开始制作样板库,结果半下不到,死逼!

 

oracle死了!

 

此时必然要做的就是重启服务器:
SQL> Startup

 

没用啊!

 

强制重启:
SQL> Startup force;
ORACLE instance started.

 

Total System Global Area 1073741824 bytes
Fixed Size                  1223540 bytes
Variable Size             197133452 bytes
Database Buffers          868220928 bytes
Redo Buffers                7163904 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 12 - see DBWR trace file
ORA-01110: data file 12: '/u01/app/oracle/oradata/sourcejoy.com/sourcejoy.com.test.dbf'

 

分步重启:
SQL> Startup mount;
SQL> Alter database open;
Alter database open
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 12 - see DBWR trace file
ORA-01110: data file 12: '/u01/app/oracle/oradata/sourcejoy.com/sourcejoy.com.test.dbf'

 

晕了,开始到网上狂搜!

 

找到一篇文章
http://blog.csdn.net/nini1109/archive/2009/04/24/4105637.aspx
很符合,按照B情况来:
SQL> Shutdown immediate;
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.

 

Total System Global Area 1073741824 bytes
Fixed Size                  1223540 bytes
Variable Size             197133452 bytes
Database Buffers          868220928 bytes
Redo Buffers                7163904 bytes
Database mounted.

 

更改表空间数据文件位置:
SQL> alter database rename file '/u01/app/oracle/oradata/sourcejoy.com/sourcejoy.com.test.dbf' to '/data/sourcejoy.com.test.dbf';

 

alter database rename file '/u01/app/oracle/oradata/sourcejoy.com/sourcejoy.com.test.dbf' to
*
ERROR at line 1:
ORA-01511: error in renaming log/data files
ORA-01141: error renaming data file 12 - new file
'/data/sourcejoy.com.test.dbf' not found
ORA-01110: data file 12: '/u01/app/oracle/oradata/sourcejoy.com/sourcejoy.com.test.dbf'
ORA-27041: unable to open file
Linux Error: 13: Permission denied
Additional information: 2

 

怎么回事?文件找不到?没权限是啥?

 

退出sqlplus,到/data/下,文件存在啊,晕死。(这时是oracle账户)

 

尝试把文件拷回原来的位置:
[oracle@localhost data]# cp sourcejoy.com.test.dbf /u01/app/oracle/oradata/sourcejoy.com/
Permission denied!

 

权限不够,晕死!接下来肯定是要修改权限啦。

 

跳回root用户:
[oracle@localhost data]# su - root
Password:

 

输完密码,开始修改权限:
[root@localhost ~]# cd /data/
[root@localhost data]# chmod 777 sourcejoy.com.test.dbf

 

回到sqlplus:
SQL> alter database rename file '/u01/app/oracle/oradata/sourcejoy.com/sourcejoy.com.test.dbf'
  2  to
  3  '/data/sourcejoy.com.test.dbf';
Database altered.

 

成功!

 

我打开数据库!
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01113: file 12 needs media recovery
ORA-01110: data file 12: '/data/sourcejoy.com.test.dbf'

 

我擦!

 

百度了一下,原来要recovery:
SQL> recovery database;
SP2-0734: unknown command beginning "recovery d..." - rest of line ignored.

 

我XXX!
狂搜!

 

发现一哥们的雷人恢复笔记
http://yhailcy.blog.163.com/blog/static/36353229200910333716783/
暂时忍受,并按这厮的命令来(如果不行就打算骂娘啦!)

 

SQL> alter database datafile '/data/sourcejoy.com.test.dbf' online;
Database altered.

 

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01113: file 12 needs media recovery
ORA-01110: data file 12: '/data/sourcejoy.com.test.dbf'

 

报错都和这哥们儿描述的一样!

 

SQL> recover database;
Media recovery complete.

 

SQL> alter database open;
Database altered.

 

成功!

 

教训、经验和总结:
1.别把oracle当白痴,数据库有任何问题这家伙肯定第一个知道!

2.oracle是博大精深地,应该好好扎实地了解它的基础知识和常用知识,哪怕你不是DBA,这样平时做事情的时候才会心中有数,不会像我一样像个无头苍蝇到处乱撞。

3.oracle的好多操作并没有想象中那样复杂,别害怕去操作oracle,其实它很温柔,网上好多oracle操作都是很复杂的,考虑很多东西,所以会吓退一些初学oracle的哥们儿,就像移动oracle的表空间数据文件,网上的描述都是又是启动归档模式又是搞这又是搞那的,这些东西对于生产环境可能很重要,但对于初学者或者非DBA类的程序员,完全可以只考虑移走文件其他的都无所谓啦。

来自:http://www.sourcejoy.com

posted @ 2010-05-09 19:55 爱吃鱼的蜗牛 阅读(1588) 评论(7) 编辑

2010年5月4日 #

PHP中冒号、endif、endwhile、endfor这些都是什么

摘要: 我们经常在wordpress一类博客程序的模板里面看到很多奇怪的PHP语法,比如: 空的 对于相当一部分PHP爱好者来说根本没见过啊,这些是什么东西呢?难道是那些博客的开发者自己搞的仿PHP的模板语言? 非也,其实这些都是PHP的语法,只不过不常用而已,这些都是PHP流程控制的替代语法。 阅读全文

posted @ 2010-05-04 19:05 爱吃鱼的蜗牛 阅读(4031) 评论(10) 编辑

2010年4月28日 #

很赞的PHP字符串加密函数

摘要: 最近, 从discuz里面发现了一个很牛的加密解密函数。 此函数的厉害之处在于可以在指定时间内加密还原字符串,超时无法还原 这样我们就可以拿此函数来做很多用途了,比如:单点登录的token加密传输啦,临时密码啦等等阅读全文

posted @ 2010-04-28 22:13 爱吃鱼的蜗牛 阅读(4198) 评论(12) 编辑

2010年4月27日 #

PHP高手养成秘籍

摘要: 种说法:PHP是最简单的网站开发语言,这种观点是错的。木头比积木简单,但木匠和孩子的差别是木匠能把木头和积木都变成房子,孩子只能把积木变成房子,对于木头他们只能在上面画个房子而已。PHP就像木头,菜鸟只能用它做点简单的事情,高手就会把它变成无所不能。既然PHP简单又是高手炫耀的东西,那怎么学才能变成高手呢?请往下看……之前 去学习C#或JAVA基础。为什么?跟PHP不相关啊...阅读全文

posted @ 2010-04-27 17:21 爱吃鱼的蜗牛 阅读(1311) 评论(8) 编辑

2009年5月21日 #

关于各种常用浏览器getBoundingClientRect的解析

posted @ 2009-05-21 22:43 爱吃鱼的蜗牛 阅读(2313) 评论(9) 编辑

仅列出标题