槐安梦笔录

Oracle - 如何让你的 oradiag_ 永久消失

作者:admin 发布时间:May 6, 2019 分类:Oracle No Comments

如果你在你的 PC 机上安装了 Oracle 数据库,不久你就会发现 /home/username 目录下会产生一个 oradiag_。你删除了之后,还是会不断的产生!没办法,本人有洁癖,于是在 StackOverflow 上找到了解决方法,这里做个笔记。

首先,你需要找到发生这个的根源,其实根源你厌恶的文件中:

$ head ~/oradiag_/diag/clients/user_/host_*/trace/sqlnet.log
Sat Nov 01 16:28:19 2014
Create Relation ADR_CONTROL
Create Relation ADR_INVALIDATION
Create Relation INC_METER_IMPT_DEF
Create Relation INC_METER_PK_IMPTS
Directory does not exist for read/write [/usr/lib/log/diag/] [/usr/lib/log/diag/clients]
原因是由于 [/usr/lib/log/diag/] [/usr/lib/log/diag/clients] 不存在或者不可读写

阅读剩余部分...

PHP5.6之后curl上传图片

作者:admin 发布时间:September 20, 2018 分类:PHP&C No Comments

问题描述
在开发微信公众号的过程中,需要上传临时资源图片,根据微信开发文档,采用curl进行后台的表单提交:

微信官方文档接口调用请求说明

http请求方式: POST/FORM
http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE

调用示例(使用curl命令,用FORM表单方式上传一个多媒体文件):

curl -F media=@test.jpg "http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE"

根据上述文档,curl 上传图片的代码片段如下,这段代码在PHP5.5上正常运行:

$url = "http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token={$access_token}&type={$type}";
$data = array('media' => '@' . $img);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$info = curl_exec($ch);
curl_close($ch);
return $info;

最近升级到PHP7之后,出现上传图片失败:

{"errcode":41005,"errmsg":"media data missing hint: [lFlbea0043e621]"}

阅读剩余部分...

Mac修改主机名和计算机名

作者:admin 发布时间:May 23, 2018 分类:Linux&Shell,Other No Comments

mac安装完成以后会默认将你的机器设成"rainbird's Macbook Pro"之类的名字。这个本身看着就不爽,如果这台机器是别人先用你再用的话,就想把它改掉了。如果你想改计算机名的话,直接去"系统设置"->"共享"里改计算机名(Computer Name)就好了。这样大家在网络邻居里看到的你的名字就可以了。

对于大多数用户来说到这里就完事了。但是对于系统管理员来说,每次打开终端的时候发现还有一个"rainbird's Macbook Pro"的东东在那里还是感觉很不爽。估计这个想改的人少,笔者费了九牛二虎之力才在mac的一个论坛的不起眼的小角落翻出来修改它的命令:sudo scutil --set HostName rainbird-desk

再新开一个终端,是不是感觉很顺眼了?

顺便说一下,命令行改那个共享名的方法:sudo scutil --set ComputerName newName

观察一下这两个指令你就会发现,苹果真讲究,一个名字还分计算机名和主机名。

Macbook更新Launchpad图标大小

作者:admin 发布时间:January 9, 2018 分类:Other No Comments

在调高 macbook 的屏幕分辨率后,会发现 Launchpad 的图标会变得很大很拥挤,十分影响美观度,这个时候可以通过调整图标行数和列数来进行调整,命令如下:

调整列数,让每一列显示7个图标:

defaults write com.apple.dock springboard-rows -int 7

调整行数,让每一列显示7个图标:

defaults write com.apple.dock springboard-columns -int 7

重启 dock:

killall Dock

至此 Dock 重整完毕,看起来是不是美观了很多?如果有必要,可以选择如下命令重置 launchpad,但你之前的图标归档可能丢失,慎用:

defaults write com.apple.dock ResetLaunchPad -bool TRUE;
killall Dock

通过 nfs 服务,将 mac中的目录共享给 vmware 虚拟机中的 linux

作者:admin 发布时间:September 23, 2017 分类:Other No Comments

虽然有点纠结,但确实是我的真实需求,不想让一堆配置污染 mac系统,所以直接搭了一个 linux 虚拟机来跑各项服务,开发工作在 mac 系统中进行,文件则通过 nfs 服务共享给 linux ,具体处理方式如下:

1、在 mac 中启动 nfs 服务

sudo vim /etc/exports
写入以下内容:
/Users/dalu/WebSites -maproot=root:wheel -alldirs -rw -network 192.168.241.0 -mask 255.255.255.0

阅读剩余部分...

解决mongodb的PHP扩展工作时报远程服务无法连接的问题

作者:admin 发布时间:March 8, 2017 分类:PHP&C 1 Comment

首先介绍下我的php及mongo扩展版本:

php版本:5.6.22
php-mongo扩展版本:1.6.14

这是我在实际工作中遇到的一个问题,并且困扰了我相当长一段时间。具体症状表现为:当mongodb服务重启后,PHP也必须重新启动工作进程才能正常访问mongodb服务,不然则会报远程服务已关闭的异常,如图:

111.png

一开始,百思不得其解,解决方法也只能是无奈的重启php-fpm进程,但是每次mongodb服务重启后,都需要这样来处理一下php进程,不胜其烦,特别是当我有多台php服务器同时连接这个mongodb服务时,每台服务器都要重新去启动一下,简直不要活了。但在网上到处搜了一下,也没有看到如何处理这个事情的方法,只好这样苟延残喘的工作着。

阅读剩余部分...

如何让brew每次执行前不要自动更新

作者:admin 发布时间:January 18, 2017 分类:Other No Comments

发现每次在使用brew install命令前,brew都要执行updating动作,网络不好的情况下,真是急死人,后来搜了下资料,发现只要在执行下设置以下环境变量,便可以跳过更新步骤,特记之:

export HOMEBREW_NO_AUTO_UPDATE=true

Oracle用户密码过期的处理方法

作者:admin 发布时间:December 10, 2015 分类:Oracle No Comments

当oracle用户密码过期时,使用该用户登录ORACLE一般都会提醒:ORA-28001: the password has expired ,遇到这种情况,可以将该用户密码过期时间设置为不限制,命令如下:

登录oracle服务器:

su - oracle #切换到ORACLE用户下

sqlplus /nolog
SQL> conn / as sysdba

#查看当前密码有效天数:
SQL> select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
查看输出结果中的“PASSWORD_LIFE_TIME”字段,一般为180天,接下来更改为不限制:

SQL> alter profile default limit password_life_time unlimited;
SQL> commit;

再次执行上述的select语句,可以看到限制时间已被更改,然后,还需要你重新设置密码,才能生效:

SQL> alter user username identified by newpassword;

mongodb用户管理及权限设置

作者:admin 发布时间:December 4, 2015 分类:MongoDb No Comments

我们知道的关系型数据库都是有权限控制的,什么用户能访问什么库,什么表,什么用户可以插入,更新,而有的用户只有读取权限。

例如:mysql安装配置好后,有一个自带的mysql数据库,里面有一张user表,用来存放用户,以及用户权限,而mongodb这个最像关系型的数据库,有没有这样的表呢。

一,掌握mongodb权限,理解下面4条基本上就差不多

1,mongodb是没有默认管理员账号,所以要先添加管理员账号,在开启权限认证。
2,切换到admin数据库,添加的账号才是管理员账号。
3,用户只能在用户所在数据库登录,包括管理员账号。
4,管理员可以管理所有数据库,但是不能直接管理其他数据库,要先在admin数据库认证后才可以。这一点比较怪。

阅读剩余部分...

Raspberry Pi树莓派无线网卡配置

作者:admin 发布时间:October 11, 2015 分类:Other No Comments

要想让树莓派方便操作,肯定需要配置无线网卡,这样可以大大增强树莓派的移动性和便利性,其实配置无线网卡基本就是和普通linux平台下配置无线网卡一样,几种方法大同小异,具体如下:

一、第一种方法:通过配置 /etc/network/interfaces 文件实现

sudo nano /etc/network/interfaces

修改后文件内容如下:

阅读剩余部分...