Windows2000下禁用某个端口
[ 2005/04/18 23:10 | by ipaddr ]
有时,需要禁用Windows2000下的某个服务的远程连接.
比如,装了SQLServer,不想让别人猜密码,可以禁止1433端口,这样,本地可以访问SQLServer,远程不可以访问.
用一般的防火墙可以实现,不过Windows2000自带的IPSec也可以,
参考:
禁止139/445端口连接
http://tech.ccidnet.com/pub/article/c1060_a105279_p1.html
>>>>>>>>>>>>
比如,装了SQLServer,不想让别人猜密码,可以禁止1433端口,这样,本地可以访问SQLServer,远程不可以访问.
用一般的防火墙可以实现,不过Windows2000自带的IPSec也可以,
参考:
禁止139/445端口连接
http://tech.ccidnet.com/pub/article/c1060_a105279_p1.html
>>>>>>>>>>>>
SQLServer无法安装,提示command line option syntax error
[ 2005/04/18 21:50 | by ipaddr ]
当安装程序安装到:
安装程序正在安装ms数据访问组件
时,屏幕出现错误提示:
command line option syntax error,type command/? for help
然后点确定继续,结果到:
安装程序正在安装HTML帮助
时,屏幕又出现标题为html help 1.32 update错误警对话框提示:
command line option syntax error,type command/? for help
然后我再点确定继续,安装程序开始复制文件,复制完文件后又出现错误提示:
无法找到动态连接库sqlunirl.dll于指定路径
点确定后安装程序停止运行,让查看安装日志
解决方法:
引起这问题的原因是,SQLServer的安装文件,放在中文目录下.
将SQLServer的安装文件,拷到英文目录,安装就OK
比如将:
D:\软件\Sqlserver
中的"软件"去掉.
>>>>>>>>>>>>>>>>>>>>>>>>>
安装程序正在安装ms数据访问组件
时,屏幕出现错误提示:
command line option syntax error,type command/? for help
然后点确定继续,结果到:
安装程序正在安装HTML帮助
时,屏幕又出现标题为html help 1.32 update错误警对话框提示:
command line option syntax error,type command/? for help
然后我再点确定继续,安装程序开始复制文件,复制完文件后又出现错误提示:
无法找到动态连接库sqlunirl.dll于指定路径
点确定后安装程序停止运行,让查看安装日志
解决方法:
引起这问题的原因是,SQLServer的安装文件,放在中文目录下.
将SQLServer的安装文件,拷到英文目录,安装就OK
比如将:
D:\软件\Sqlserver
中的"软件"去掉.
>>>>>>>>>>>>>>>>>>>>>>>>>
MakePic.com 图片制造
[ 2005/04/16 23:10 | by ipaddr ]
国内的邮件图片生成器。
http://www.makepic.com
支持国内的很多邮箱,
输入一个邮件地址,生成一个图片,
用这种图片,可以很好防垃圾邮件。
>>>>>>>>>>
http://www.makepic.com
支持国内的很多邮箱,
输入一个邮件地址,生成一个图片,
用这种图片,可以很好防垃圾邮件。
>>>>>>>>>>
Apache简单防盗链
[ 2005/03/31 23:11 | by ipaddr ]
防盗链设置样本:
SetEnvIf Referer "^http://(.)+\.ilinux\.cn/" local_ref=1
SetEnvIf Referer "^http://(.)+\.isql\.cn/" local_ref=1
#SetEnvIf Referer "^http://(.)+\.other\.org\.cn/" local_ref=1
SetEnvIf Request_URI "/logo(.)+" local_ref=0
<FilesMatch "\.(mp3|wmv|png|gif|jpg|jpeg|avi|bmp|ram|rmvb|rm|rar|zip|mp3)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>
解释:
1. 蓝色部分,表示设置允许访问的referer地址,第一行的意思为所有http协议访问,以.ilinux.cn结尾的域名地址,第二行类似,只是换成了.isql.cn,表问我前面的鬼符是什么,不懂得可以去翻正则表达式的研究文献,不想深究的可以照猫画虎设置自己的网站。
2. 绿色部分,表示不在上述引用域名范围内,但可以被放行的特例,本例中表示网站/目录,所有以logo开头的文件(用作允许其它网站的友情连接引用本站logo)。
3. 橙色部分是设置反盗链的关键部分,上面每一个设置都联系到了local_ref这个环境变量,只有这个变量为1,则允许被引用,否则显示一个X。
4. 紫色部分设置了哪些扩展名的文件加入反盗链的规则。
补充:
我是直接设置在httpd.conf里面的,如果只想针对哪个目录设置,可以放在目录的.htaccess文件内。
另外,网上好多文档,都有错误,把SetEnvIf写成了SetEnvIfNoCase
附我以前用mod_rewrite写的
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://bbs.ilinux.cn/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://bbs.ilinux.cn$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.ilinux.cn/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.ilinux.cn$ [NC]
RewriteCond %{HTTP_REFERER} !^http://ilinux.cn/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://ilinux.cn$ [NC]
RewriteRule .*\.(mp3|wmv|png|gif|jpg|jpeg|avi|bmp|ram|rmvb|rm|rar|zip)$ http://www.ilinux.cn [R,NC]
上面的,需要Rewrite模板.所有指定的文件,如果Referer不是上面的值,将被重定向到首页.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
SetEnvIf Referer "^http://(.)+\.ilinux\.cn/" local_ref=1
SetEnvIf Referer "^http://(.)+\.isql\.cn/" local_ref=1
#SetEnvIf Referer "^http://(.)+\.other\.org\.cn/" local_ref=1
SetEnvIf Request_URI "/logo(.)+" local_ref=0
<FilesMatch "\.(mp3|wmv|png|gif|jpg|jpeg|avi|bmp|ram|rmvb|rm|rar|zip|mp3)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>
解释:
1. 蓝色部分,表示设置允许访问的referer地址,第一行的意思为所有http协议访问,以.ilinux.cn结尾的域名地址,第二行类似,只是换成了.isql.cn,表问我前面的鬼符是什么,不懂得可以去翻正则表达式的研究文献,不想深究的可以照猫画虎设置自己的网站。
2. 绿色部分,表示不在上述引用域名范围内,但可以被放行的特例,本例中表示网站/目录,所有以logo开头的文件(用作允许其它网站的友情连接引用本站logo)。
3. 橙色部分是设置反盗链的关键部分,上面每一个设置都联系到了local_ref这个环境变量,只有这个变量为1,则允许被引用,否则显示一个X。
4. 紫色部分设置了哪些扩展名的文件加入反盗链的规则。
补充:
我是直接设置在httpd.conf里面的,如果只想针对哪个目录设置,可以放在目录的.htaccess文件内。
另外,网上好多文档,都有错误,把SetEnvIf写成了SetEnvIfNoCase
附我以前用mod_rewrite写的
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://bbs.ilinux.cn/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://bbs.ilinux.cn$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.ilinux.cn/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.ilinux.cn$ [NC]
RewriteCond %{HTTP_REFERER} !^http://ilinux.cn/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://ilinux.cn$ [NC]
RewriteRule .*\.(mp3|wmv|png|gif|jpg|jpeg|avi|bmp|ram|rmvb|rm|rar|zip)$ http://www.ilinux.cn [R,NC]
上面的,需要Rewrite模板.所有指定的文件,如果Referer不是上面的值,将被重定向到首页.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Apache 下防止盗链的解决办法!
[ 2005/03/21 23:12 | by ipaddr ]
转自 www.pczone.com.tw
以下是以UNIX(FREEBSD..LINUX等)+APACHE架站的人適用
只要設定1次,就不需再去設別的資料,
你也不需要1個1個去擋盜連來源的IP,這樣開站豈不是太累人了???
一天到晚要去檢查LOG...@@
首先在你的網站根目錄下開個.htaccess這個檔案,裡面寫下面資料:
以下是用PCZONE當例子,請換成你自己的網址
(如果你不是實體主機,沒有自己的固定IP,下面第3列的IP資料就不用去設定ㄛ)
SetEnvIfNoCase Referer "^http://www\.pczone\.com\.tw/" local_ref=1
SetEnvIfNoCase Referer "^http://pczone\.com\.tw/" local_ref=1
SetEnvIfNoCase Referer "^http://202\.43\.85\.163/" local_ref=1
<FilesMatch "\.(txt|doc|gif|jpg|mp3)"> <--這邊隨你喜好自己設
Order Allow,Deny
Allow from env=local_ref
Allow from 127.0.0.1
</FilesMatch>
當你這樣寫好後,把檔案擺到網站的根目錄就OK
你網站上的檔案(凡是上面有設定到的,像TXT、DOC...)只能從站內被取用,
如果有人的來源是其它網站,因為來源IP不是你所允許的127.0.0.1主機內部,
因此在你主機空間被你設定的檔案、圖片、MP3就不會被人順利盜連了....
只要是經過你按上面步驟指名要求到的檔案
不管是GIF圖檔、影音檔、壓縮檔、程式..還是其他有的沒的..
只要你在.htaccess有設定到
全部、統統都有防止盜連的效果
這樣你的主機頻寬就不會被人給佔光或搞到流量破表被主機公司追債
只要你設定過,訪客就無法直接盜連(除非用軟體抓網站,但這應該是叫做"下載"網站檔案..)
.htaccess這9個字已經是完整的檔名,他沒有副檔名,千萬不要自己亂加副檔名,
開頭的.號代表是隱藏檔的意思!
經站友新的回報:WIN+APACHE可以使用上面的方法防止盜連
有人問說,如果要開放某些站台可以直接連結自己網站內的資料,該怎麼辦?
例如你想開放pczone.com.tw站上的貼圖,可以直接從自己的網站被連結使用,
那麼請在.htaccess檔案加入下面這新的3行字:
(以下這樣設定代表:除了自己網站以及PCZONE網站,其他網站仍無法盜連你站內的資料)
SetEnvIfNoCase Referer "^http://www\.pczone\.com\.tw/" local_ref=1
SetEnvIfNoCase Referer "^http://pczone\.com\.tw/" local_ref=1
SetEnvIfNoCase Referer "^http://自己網站的舊資料/" local_ref=
<FilesMatch "\.(txt|doc|gif|jpg|mp3)">
Order Allow,Deny
Allow from env=local_ref
Allow from 127.0.0.1
Allow from 202.43.85.163 <-這個IP,是PCZONE網站的固定IP,一定要打進去!
</FilesMatch>
OK就這麼簡單
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
以下是以UNIX(FREEBSD..LINUX等)+APACHE架站的人適用
只要設定1次,就不需再去設別的資料,
你也不需要1個1個去擋盜連來源的IP,這樣開站豈不是太累人了???
一天到晚要去檢查LOG...@@
首先在你的網站根目錄下開個.htaccess這個檔案,裡面寫下面資料:
以下是用PCZONE當例子,請換成你自己的網址
(如果你不是實體主機,沒有自己的固定IP,下面第3列的IP資料就不用去設定ㄛ)
SetEnvIfNoCase Referer "^http://www\.pczone\.com\.tw/" local_ref=1
SetEnvIfNoCase Referer "^http://pczone\.com\.tw/" local_ref=1
SetEnvIfNoCase Referer "^http://202\.43\.85\.163/" local_ref=1
<FilesMatch "\.(txt|doc|gif|jpg|mp3)"> <--這邊隨你喜好自己設
Order Allow,Deny
Allow from env=local_ref
Allow from 127.0.0.1
</FilesMatch>
當你這樣寫好後,把檔案擺到網站的根目錄就OK
你網站上的檔案(凡是上面有設定到的,像TXT、DOC...)只能從站內被取用,
如果有人的來源是其它網站,因為來源IP不是你所允許的127.0.0.1主機內部,
因此在你主機空間被你設定的檔案、圖片、MP3就不會被人順利盜連了....
只要是經過你按上面步驟指名要求到的檔案
不管是GIF圖檔、影音檔、壓縮檔、程式..還是其他有的沒的..
只要你在.htaccess有設定到
全部、統統都有防止盜連的效果
這樣你的主機頻寬就不會被人給佔光或搞到流量破表被主機公司追債
只要你設定過,訪客就無法直接盜連(除非用軟體抓網站,但這應該是叫做"下載"網站檔案..)
.htaccess這9個字已經是完整的檔名,他沒有副檔名,千萬不要自己亂加副檔名,
開頭的.號代表是隱藏檔的意思!
經站友新的回報:WIN+APACHE可以使用上面的方法防止盜連
有人問說,如果要開放某些站台可以直接連結自己網站內的資料,該怎麼辦?
例如你想開放pczone.com.tw站上的貼圖,可以直接從自己的網站被連結使用,
那麼請在.htaccess檔案加入下面這新的3行字:
(以下這樣設定代表:除了自己網站以及PCZONE網站,其他網站仍無法盜連你站內的資料)
SetEnvIfNoCase Referer "^http://www\.pczone\.com\.tw/" local_ref=1
SetEnvIfNoCase Referer "^http://pczone\.com\.tw/" local_ref=1
SetEnvIfNoCase Referer "^http://自己網站的舊資料/" local_ref=
<FilesMatch "\.(txt|doc|gif|jpg|mp3)">
Order Allow,Deny
Allow from env=local_ref
Allow from 127.0.0.1
Allow from 202.43.85.163 <-這個IP,是PCZONE網站的固定IP,一定要打進去!
</FilesMatch>
OK就這麼簡單
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
增加Apache并发数
[ 2005/03/21 23:12 | by ipaddr ]
当网站访问量增大时.如果同时连接数超过了Apache默认配置(256),那么,其它人将无法访问.
可以设置MaxClient 256来修改最大连接数.不过,MaxClient最大可以设为256
如果需要更大的话,可以用ServerLimit,如下:
ServerLimit 1024
设置了这个参数后,要把MaxClient注释.
>>>>>>>>>
可以设置MaxClient 256来修改最大连接数.不过,MaxClient最大可以设为256
如果需要更大的话,可以用ServerLimit,如下:
ServerLimit 1024
设置了这个参数后,要把MaxClient注释.
>>>>>>>>>
ORACLE联机日志文件丢失或损坏的处理方法
[ 2005/03/20 21:52 | by ipaddr ]
经验总结:
联机日志分为当前联机日志和非当前联机日志,非当前联机日志的损坏是比较简单的,一般通过clear命令就可以解决问题。
损坏非当前联机日志:
1、启动数据库,遇到ORA-00312 or ORA-00313错误,如:
ORA-00313: open failed for members of log group 4 of thread 1
ORA-00312: online log 3 thread 1: '/opt/oracle/db04/oradata/ORCL/redo03.log'
从这里我们知道日志组1的数据文件损坏或丢失了
从报警文件可以看到更详细的信息
2、查看V$log视图:
SQL> select group#,sequence#,archived,status from v$log;
GROUP# SEQUENCE# ARC STATUS
---------- ---------- --- ----------------
1 54 YES INACTIVE
2 55 NO CURRENT
3 53 YES INACTIVE
可以知道,该组是非当前状态,而且已经归档。
3、用CLEAR命令重建该日志文件
SQL>alter database clear logfile group 3;
如果是该日志组还没有归档,则需要用
SQL>alter database clear unarchived logfile group 3;
4、打开数据库,重新备份数据库
SQL>alter database open;
说明:
1)、如果损坏的是非当前的联机日志文件,一般只需要clear就可以重建该日志文件,但是如果该数据库处于归档状态但该日志还没有归档,就需要强行clear。
2)、建议clear,特别是强行clear后作一次数据库的全备份。
3)、此方法适用于归档与非归档数据库。
损坏当前联机日志:
归档模式下当前日志的损坏有两种情况,
一、是数据库是正常关闭,日志文件中没有未决的事务需要实例恢复,当前日志组的损坏就可以直接用alter database clear unarchived logfile group n来重建。
二、是日志组中有活动的事务,数据库需要媒体恢复,日志组需要用来同步,有两种补救办法
A. 最好的办法就是通过不完全恢复,可以保证数据库的一致性,但是这种办法要求在归档方式下,并且有可用的备份
B. 通过强制性恢复,但是可能导致数据库不一致。
下面分别用来说明这两种恢复方法
5.1.2.1 通过备份来恢复
1、打开数据库,会遇到一个类似的错误
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: 'D:\ORACLE\ORADATA\TEST\REDO01.LOG'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) 系统找不到指定的文件
2、查看V$log,发现是当前日志
SQL> select group#,sequence#,archived,status from v$log;
GROUP# SEQUENCE# ARCHIVED STATUS
---------- ---------- -------- ----------------
1 1 NO CURRENT
2 2 YES INACTIVE
3 3 YES INACTIVE
3、发现clear不成功
SQL> alter database clear unarchived logfile group 1;
alter database clear unarchived logfile group 1
*
ERROR at line 1:
ORA-01624: log 1 needed for crash recovery of thread 1
ORA-00312: online log 1 thread 1: 'D:\ORACLE\ORADATA\TEST\REDO01.LOG'
4、拷贝有效的数据库的全备份,并不完全恢复数据库
可以采用获取最近的SCN的办法用until scn恢复或用until cnacel恢复
recover database until cancel
先选择auto,尽量恢复可以利用的归档日志,然后重新
recover database until cancel
这次输入cancel,完成不完全恢复,也就是说恢复两次。
如:
SQL> recover database until cancel;
Auto
......
SQL> recover database until cancel;
Cancel;
5、利用alter database open resetlogs打开数据库
说明:
1、这种办法恢复的数据库是一致的不完全恢复,会丢失当前联机日志中的事务数据
2、这种方法适合于归档数据库并且有可用的数据库全备份。
3、恢复成功之后,记得再做一次数据库的全备份。
4、建议联机日志文件一定要实现镜相在不同的磁盘上,避免这种情况的发生,因为任何数据的丢失对于生产来说都是不容许的。
如果没有备份,进行强制性恢复
1、打开数据库,会遇到一个类似的错误
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: 'D:\ORACLE\ORADATA\TEST\REDO01.LOG'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) 系统找不到指定的文件
2、查看V$log,发现是当前日志
SQL> select group#,sequence#,archived,status from v$log;
GROUP# SEQUENCE# ARCHIVED STATUS
---------- ---------- -------- ----------------
1 1 NO CURRENT
2 2 YES INACTIVE
3 3 YES INACTIVE
3、发现clear不成功
SQL> alter database clear unarchived logfile group 1;
alter database clear unarchived logfile group 1
*
ERROR at line 1:
ORA-01624: log 1 needed for crash recovery of thread 1
ORA-00312: online log 1 thread 1: 'D:\ORACLE\ORADATA\TEST\REDO01.LOG'
4、把数据库down掉
SQL>shutdown immediate
5、在init.ora中加入如下参数
_allow_resetlogs_corruption=TRUE
6、重新启动数据库,利用until cancel恢复
SQL>recover database until cancel;
Cancel
如果出错,不再理会,发出
SQL>alter database open resetlogs;
7、数据库被打开后,马上执行一个full export
8、shutdown数据库,去掉_all_resetlogs_corrupt参数
9、重建库
10、import并完成恢复
11、建议执行一下ANALYZE TABLE ...VALIDATE STRUCTURE CASCADE;
说明:
1、该恢复方法是没有办法之后的恢复方法,一般情况下建议不要采用,因为该方法可能导致数据库的不一致
2、该方法也丢失数据,但是丢失的数据没有上一种方法的数据多,主要是未写入数据文件的已提交或未提交数据。
3、建议成功后严格执行以上的7到11步,完成数据库的检查与分析
4、全部完成后做一次数据库的全备份
5、建议联机日志文件一定要实现镜相在不同的磁盘上,避免这种情况的发生,因为任何数据的丢失对于生产来说都是不容许的。>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
联机日志分为当前联机日志和非当前联机日志,非当前联机日志的损坏是比较简单的,一般通过clear命令就可以解决问题。
损坏非当前联机日志:
1、启动数据库,遇到ORA-00312 or ORA-00313错误,如:
ORA-00313: open failed for members of log group 4 of thread 1
ORA-00312: online log 3 thread 1: '/opt/oracle/db04/oradata/ORCL/redo03.log'
从这里我们知道日志组1的数据文件损坏或丢失了
从报警文件可以看到更详细的信息
2、查看V$log视图:
SQL> select group#,sequence#,archived,status from v$log;
GROUP# SEQUENCE# ARC STATUS
---------- ---------- --- ----------------
1 54 YES INACTIVE
2 55 NO CURRENT
3 53 YES INACTIVE
可以知道,该组是非当前状态,而且已经归档。
3、用CLEAR命令重建该日志文件
SQL>alter database clear logfile group 3;
如果是该日志组还没有归档,则需要用
SQL>alter database clear unarchived logfile group 3;
4、打开数据库,重新备份数据库
SQL>alter database open;
说明:
1)、如果损坏的是非当前的联机日志文件,一般只需要clear就可以重建该日志文件,但是如果该数据库处于归档状态但该日志还没有归档,就需要强行clear。
2)、建议clear,特别是强行clear后作一次数据库的全备份。
3)、此方法适用于归档与非归档数据库。
损坏当前联机日志:
归档模式下当前日志的损坏有两种情况,
一、是数据库是正常关闭,日志文件中没有未决的事务需要实例恢复,当前日志组的损坏就可以直接用alter database clear unarchived logfile group n来重建。
二、是日志组中有活动的事务,数据库需要媒体恢复,日志组需要用来同步,有两种补救办法
A. 最好的办法就是通过不完全恢复,可以保证数据库的一致性,但是这种办法要求在归档方式下,并且有可用的备份
B. 通过强制性恢复,但是可能导致数据库不一致。
下面分别用来说明这两种恢复方法
5.1.2.1 通过备份来恢复
1、打开数据库,会遇到一个类似的错误
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: 'D:\ORACLE\ORADATA\TEST\REDO01.LOG'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) 系统找不到指定的文件
2、查看V$log,发现是当前日志
SQL> select group#,sequence#,archived,status from v$log;
GROUP# SEQUENCE# ARCHIVED STATUS
---------- ---------- -------- ----------------
1 1 NO CURRENT
2 2 YES INACTIVE
3 3 YES INACTIVE
3、发现clear不成功
SQL> alter database clear unarchived logfile group 1;
alter database clear unarchived logfile group 1
*
ERROR at line 1:
ORA-01624: log 1 needed for crash recovery of thread 1
ORA-00312: online log 1 thread 1: 'D:\ORACLE\ORADATA\TEST\REDO01.LOG'
4、拷贝有效的数据库的全备份,并不完全恢复数据库
可以采用获取最近的SCN的办法用until scn恢复或用until cnacel恢复
recover database until cancel
先选择auto,尽量恢复可以利用的归档日志,然后重新
recover database until cancel
这次输入cancel,完成不完全恢复,也就是说恢复两次。
如:
SQL> recover database until cancel;
Auto
......
SQL> recover database until cancel;
Cancel;
5、利用alter database open resetlogs打开数据库
说明:
1、这种办法恢复的数据库是一致的不完全恢复,会丢失当前联机日志中的事务数据
2、这种方法适合于归档数据库并且有可用的数据库全备份。
3、恢复成功之后,记得再做一次数据库的全备份。
4、建议联机日志文件一定要实现镜相在不同的磁盘上,避免这种情况的发生,因为任何数据的丢失对于生产来说都是不容许的。
如果没有备份,进行强制性恢复
1、打开数据库,会遇到一个类似的错误
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: 'D:\ORACLE\ORADATA\TEST\REDO01.LOG'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) 系统找不到指定的文件
2、查看V$log,发现是当前日志
SQL> select group#,sequence#,archived,status from v$log;
GROUP# SEQUENCE# ARCHIVED STATUS
---------- ---------- -------- ----------------
1 1 NO CURRENT
2 2 YES INACTIVE
3 3 YES INACTIVE
3、发现clear不成功
SQL> alter database clear unarchived logfile group 1;
alter database clear unarchived logfile group 1
*
ERROR at line 1:
ORA-01624: log 1 needed for crash recovery of thread 1
ORA-00312: online log 1 thread 1: 'D:\ORACLE\ORADATA\TEST\REDO01.LOG'
4、把数据库down掉
SQL>shutdown immediate
5、在init
_allow_resetlogs_corruption=TRUE
6、重新启动数据库,利用until cancel恢复
SQL>recover database until cancel;
Cancel
如果出错,不再理会,发出
SQL>alter database open resetlogs;
7、数据库被打开后,马上执行一个full export
8、shutdown数据库,去掉_all_resetlogs_corrupt参数
9、重建库
10、import并完成恢复
11、建议执行一下ANALYZE TABLE ...VALIDATE STRUCTURE CASCADE;
说明:
1、该恢复方法是没有办法之后的恢复方法,一般情况下建议不要采用,因为该方法可能导致数据库的不一致
2、该方法也丢失数据,但是丢失的数据没有上一种方法的数据多,主要是未写入数据文件的已提交或未提交数据。
3、建议成功后严格执行以上的7到11步,完成数据库的检查与分析
4、全部完成后做一次数据库的全备份
5、建议联机日志文件一定要实现镜相在不同的磁盘上,避免这种情况的发生,因为任何数据的丢失对于生产来说都是不容许的。>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
JavaScript基本对象
[ 2005/03/16 22:29 | by ipaddr ]
原文地址:http://www-900.ibm.com/developerWorks/cn/lotus/lo-jsobj/index.shtml
亲密接触单选按钮、复选框和JavaScript的一些有趣的事情
>>>>
亲密接触单选按钮、复选框和JavaScript的一些有趣的事情
>>>>
Apache加装模块
[ 2005/03/08 23:13 | by ipaddr ]
Apache安装好后,有时需要加一些模块的.
可以不重新编译整个Apache,而单独编译一个模块,方法如下:
/usr/local/apache2/bin/apxs -c -i /usr/local/src/httpd-2.0.52/modules/generators/mod_cgi.c
再修改/usr/local/apache2/conf/httpd.conf
LoadModule cgi_module modules/mod_cgi.so
再重启一下Apache
/usr/local/apache2/bin/apachectl restart
>>>>>>>>>>>>>>
可以不重新编译整个Apache,而单独编译一个模块,方法如下:
/usr/local/apache2/bin/apxs -c -i /usr/local/src/httpd-2.0.52/modules/generators/mod_cgi.c
再修改/usr/local/apache2/conf/httpd.conf
LoadModule cgi_module modules/mod_cgi.so
再重启一下Apache
/usr/local/apache2/bin/apachectl restart
>>>>>>>>>>>>>>
APACHE WEB SERVER管理
[ 2005/03/04 23:14 | by ipaddr ]
查看当前UNIX环境下有无运行Apache Web Server
在终端控制台上运行#ps -ef|grep httpd
如果运行了,会列出一些包含路径信息的进程;去这个路径下找httpd.conf即可知服务器的配置。
启动和关闭Apache Web Server
在运行Apache/bin路径下找到apachectl命令
#apachectl start
#apachectl stop
httpd.conf参数介绍:
知道WEB的管理目录位置
找到: ServerRoot "/../..."
知道WEB的根目录位置
找到: DocumentRoot "/../..."
知道WEB各虚拟路径的映射
Alias /icons/ "/opt/www/icons"
..........
ScriptAlias /cgi-bin/ "opt/www/cgi-bin"
..........
支持SSI
在<Directory " DocumentRoot's directory">
增加Option +Includes +ExecCGI
(其它参数说明:Indexes 容许路径下的目录浏览
FollowSymlinks 容许使用符号连接,连到别处
MultiViews 找相似的文件名)
去掉加注释的以下语句:
AddType text/html .shtml
AddHander server-parsed .shtml
(如果想使htm文件支持SSI,增加以下语句
AddType text/html .htm
AddHander server-parsed .htm
)
支持CGI
去掉加注释的以下语句:
AddHandler cgi-script .pl
AddHander cgi-script .cgi
初始的文件名
DirectoryIndex index.html
(如果想增加别的类别文件,只需在这后面增加index.htm或index.php即可)
性能优化
MaxKeepAliveRequests 1024
MaxClient 256
给WEB路径加密
创建#htpasswd -c 加密用户库.db 用户名
new password:****
Re-type new passwd:****
改<Directory " DocumentRoot's directory">
AllowOverride ALL
(作用:使每个路径下的.htaccess文件有效)
</Directory>
在欲加密的路径下建一个隐含文件.htaccess, 内容如下:
AuthType Basic
AuthName Information
AuthUserFile /directory/加密用户库.db // 记录用户名密码的隐含文件路径和名称
<Limit GET POST PUT>
require valid-user // 容许所有合法用户
require user // 容许曾创建的用户名
</Limit>
使apache的日志文件里不记录图片文件
找到: LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
再后面加上图片文件的类型
SetEnvIf Request_URI \.gif$ gif-image
SetEnvIf Request_URI \.GIF$ gif-image
SetEnvIf Request_URI \.jpg$ gif-image
SetEnvIf Request_URI \.JPG$ gif-image
SetEnvIf Request_URI \.png$ gif-image
SetEnvIf Request_URI \.js$ gif-image
SetEnvIf Request_URI \.bmp$ gif-image
SetEnvIf Request_URI \.css$ gif-image
SetEnvIf Request_URI \.mid$ gif-image
SetEnvIf Request_URI \.swf$ gif-image
SetEnvIf Request_URI \.mmf$ gif-image
SetEnvIf Request_URI \.wma$ gif-image
SetEnvIf Request_URI \.midi$ gif-image
记日志时
CustomLog /usr/local/apache/logs/access.log combined env=!gif-image
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
在终端控制台上运行#ps -ef|grep httpd
如果运行了,会列出一些包含路径信息的进程;去这个路径下找httpd.conf即可知服务器的配置。
启动和关闭Apache Web Server
在运行Apache/bin路径下找到apachectl命令
#apachectl start
#apachectl stop
httpd.conf参数介绍:
知道WEB的管理目录位置
找到: ServerRoot "/../..."
知道WEB的根目录位置
找到: DocumentRoot "/../..."
知道WEB各虚拟路径的映射
Alias /icons/ "/opt/www/icons"
..........
ScriptAlias /cgi-bin/ "opt/www/cgi-bin"
..........
支持SSI
在<Directory " DocumentRoot's directory">
增加Option +Includes +ExecCGI
(其它参数说明:Indexes 容许路径下的目录浏览
FollowSymlinks 容许使用符号连接,连到别处
MultiViews 找相似的文件名)
去掉加注释的以下语句:
AddType text/html .shtml
AddHander server-parsed .shtml
(如果想使htm文件支持SSI,增加以下语句
AddType text/html .htm
AddHander server-parsed .htm
)
支持CGI
去掉加注释的以下语句:
AddHandler cgi-script .pl
AddHander cgi-script .cgi
初始的文件名
DirectoryIndex index.html
(如果想增加别的类别文件,只需在这后面增加index.htm或index.php即可)
性能优化
MaxKeepAliveRequests 1024
MaxClient 256
给WEB路径加密
创建#htpasswd -c 加密用户库.db 用户名
new password:****
Re-type new passwd:****
改<Directory " DocumentRoot's directory">
AllowOverride ALL
(作用:使每个路径下的.htaccess文件有效)
</Directory>
在欲加密的路径下建一个隐含文件.htaccess, 内容如下:
AuthType Basic
AuthName Information
AuthUserFile /directory/加密用户库.db // 记录用户名密码的隐含文件路径和名称
<Limit GET POST PUT>
require valid-user // 容许所有合法用户
require user // 容许曾创建的用户名
</Limit>
使apache的日志文件里不记录图片文件
找到: LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
再后面加上图片文件的类型
SetEnvIf Request_URI \.gif$ gif-image
SetEnvIf Request_URI \.GIF$ gif-image
SetEnvIf Request_URI \.jpg$ gif-image
SetEnvIf Request_URI \.JPG$ gif-image
SetEnvIf Request_URI \.png$ gif-image
SetEnvIf Request_URI \.js$ gif-image
SetEnvIf Request_URI \.bmp$ gif-image
SetEnvIf Request_URI \.css$ gif-image
SetEnvIf Request_URI \.mid$ gif-image
SetEnvIf Request_URI \.swf$ gif-image
SetEnvIf Request_URI \.mmf$ gif-image
SetEnvIf Request_URI \.wma$ gif-image
SetEnvIf Request_URI \.midi$ gif-image
记日志时
CustomLog /usr/local/apache/logs/access.log combined env=!gif-image
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>