- 博客(261)
- 资源 (14)
- 收藏
- 关注
原创 DB2 V10版与C编程相关接口的安装注意事项
安装DB2 V10版时,用的默认安装,安装完成后才发现include才一个头文件,原来,需要选定制安装,且Application development tools下勾选Base application development tools才有头文件出来。lib文件到是全的。记录下,省得到时要重复装。 MAIL: [email protected] BLO
2014-03-28 08:58:56 1557
原创 Oracle PL/SQL代码加解密
通过Oracle的PL/SQL代码加密来保护业务逻辑在有些场合非常有用,简单整理了下: 一. 通过Wrap命令来加密 二. 通过dbms_ddl包调用来加密 三. Oracle加密原理 四.加密代码的破解 一. 通过Wrap命令来加密 1.
2014-03-25 22:43:23 2586
原创 JNI(1) Java与C/C++的交互
用JINI来实现Java与C/C++的相互调用.感觉好麻烦,但形势就这样,没办法。 环境:Win7+VS2012+Java 1.71. 编写一个Java文件,对于需要C/C++实现的方法,声明为native(本地方法) 里面有个System.loadLibrary即从java.library.path中指定的目录下面加载指定的动态链接库,无须指定目录和扩展名,
2014-03-25 21:22:50 2191
原创 脚本报syntax error near unexpected token `(',
本来可以跑的脚本,最近忽然在运行时报syntax error near unexpected token `(',,但代码语法看起来并没有什么明显的错误 。怀疑是用特殊字符造成的,使用"vi -b 文件名"打开后,就看到每行后面多了个"^M",即Windows方式的换行符。 原来有人下载到Windows后,用记事本编辑保存过,变成Windows方式的换行符了。 那就简单了,
2014-03-25 20:47:30 10916
原创 Oracle存储过程本地编译方式
通常将Oracle存储过程编译为本地编译方式的测试记录. 测试用表: SQL> create table t1(rid number); Table created SQL> create table t_n(rid number); Table created测试用的存储过程:create or replace procedure pro_xcl(p1 va
2014-03-18 00:00:54 2649
原创 Oracle闪回区满(ORA-16014)
一台老的测试AIX服务器,没人理过,最近一看Oracle闪回满了。清理了下。Version: Oracle 10gR2 for AIX现象: SQL> alter database open;alter database open*ERROR at line 1:ORA-16014: log 3 sequence# 157 not archived, no av
2014-03-17 20:38:06 1845
原创 偷龙转凤SQLPlus得到数据库登录信息
当DBA登录本地或远程数据库时,为了省事,用"sqlplus 用户名/密码@连接服务名" 的方式登录数据库是再平常不过了,而我们如果将Oracle的SQLPlus换成我们自己的实现,然后当使用时,记录下它的登录信息,就得到了数据库的用户名,密码等信息。 这是一种很简单的,偷龙转凤的方式,有其局限性。但有时,如果数据库本身的防护很严,从DBA客户端这边下手,利用这种方式有时也能有意
2014-03-16 22:17:38 1613
原创 自定义的Oracle用户密码效验程序
Oracle的verify_function_11G函数只是通过一些密码规则来让密码看起来不容易猜到,但一些用户的习惯让所设的密码虽然复杂,但并不难猜,这时可以用我写的这个程序,把一些常见的易猜的密码放入文件或字典数据库中, 通过程序自动尝试连接Oracle数据库,来效验指定数据密码是否太过易猜或简单,如果数据库用户配置稍严格些,这个程序就不起作用了,所以不太具有实用价值,仅参考使用。
2014-03-16 18:04:37 1409
原创 OTL的使用
OTL可通过odbc,数据库本身的连接库如oci,与数据库进行交互,跨平台,跨数据库,api使用方便且仅只是个头文件,我一直都使用这个。 OTL的官网是:http://otl.sourceforge.net/ 里面例子文档什么的都相当全。 以OTL连接Oracle 11g为例,说明下在VS中的使用方式: 1. VS 编译环境设置 a. 在工程项目中引
2014-03-16 17:05:46 3591 2
原创 SQLite编程相关
SQLite开源,代码简单,功能足够强大,使用非常广泛,在这 整理下C/C++对SQLite数据库编程相关的一些知识。 一。 SQLite建库建表 二。 VS环境下,32位程序使用SQLite的方法 三。 64位环境下SQLite的使用方法 VS版本为: VS2012 SQLite版本: 3080401 一。 SQLite建库建表
2014-03-16 16:33:00 2070
原创 DBA做坏事之盗用Oracle用户身份
DBA管理着数据库所有的数据,但对某些数据的操作,因为审计或其它原因,用管理员身份可能并不方便,但你又不知道方便的那个Oracle用户的用户密码是多少,因为Oracle的用户密码是加密了的。那有没办法不用知道密码的情况下,借用下别的Oracle用户身份来玩玩,弄完了再还回去呢?当然有法子的。 看我来怎么弄。 例子用8i测的,但其它版本都是支持的: SQL> select
2014-03-13 16:05:23 1475
原创 JSON(04)PHP的JSON处理函数及将MySQL结果集快速转为JSON的方法
我现在弄Web系统,基本上都是JQuery做UI,PHP负责与数据库的交互。两者间用JSON做为数据交换格式。非常方便,再也不用弄那些框架,模板之类的重型武器了。 在这列PHP与JSON的处理两个知识点: 一。 PHP与JSON的相互转换函数 二。 PHP如何快速从MySQL表中取值组合成JSON 一。 PHP与JSON的相互转换函数主要是
2014-03-12 15:18:26 4338
原创 JSON(03)C/C++处理JSON
C/C++处理JSON的开源库有名的有两个libjson与cJSON. 个人认为cJSON更好用些。把cJSON的例子调试了下.效果: 代码文件:/****desc:通过cJSON来解析 */#include #include #include "cJSON.h"void demo1(){ char *out ; cJSON
2014-03-12 14:26:57 2132
原创 JSON(02)JQuery中JSON的解析与应用
用JQuery做前端页面与后台程序交互时,JSON起的作用太大了,记录JQuery与之相关的一些东西. 与JSON处理相关的几个函数: 1.将字符串转换为JSON对象 a.JavaScript通过eval来转换,但这种方式不安全,不推荐使用。 var jsonObj=eval(jsonStr); b.JSON.parse方式,但ie6
2014-03-12 14:04:08 1772
原创 JSON(01)JSON简单介绍
如果你现在用Web开发,或与各类opensdk打交道,会发现,不管别人怎么宣传XML好,Web Service好,事实是它们用得却越来越少,而大量都在采用更轻量级的JSON来完成数据的交换。 原因是它更简单,更灵活。那什么是JSON? JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式。 说白了就是一个很简单规则的文本格式,什么开发语言都
2014-03-12 13:15:57 1316
原创 Win7下MySQL的ODBC数据源配置及PDM导入
在Win7的PowerDesigner中做了个MySQL的表设计,准备导入MySQL数据库时,才发现MySQL的ODBC程序没装,ODBC配置也没在控制台下找到。 这太搞了。 1. 首先去MySQL官网找到驱动下载并安装 http://dev.mysql.com/downloads/connector/odbc/ 下载Windows (x86, 64-bi
2014-03-08 13:13:08 3432
原创 数据库备份介质的加密(encryption,Wallet)
数据库的资料泄密不是管好数据库的登录用户口令之类就可以了的。如果忽视了备份介质的存放, 别人在得到备份后,如果还原,不就能得到所有资料了。 所以如果数据真的很重要,把备份加密起来,也是多了一种数据保护措施,再说通过测试,发现Oracle设这个 也是很方便的。 --===============================测试一:1. 准备好测试用的
2014-03-05 22:32:53 3607
原创 Oracle操作系统认证用户的安全性
一。什么是Oracle操作系统用户认证登录方式. 即只要在数据库中创建一个os认证用户。然后,就可以在服务器本机或远程客户端上创建和登录一个相同用户名,就可以不需要密码连接上本地或远程的数据库了。 最典型的就是“sql / as sysdba”即不用给出用户名和密码就可以登录到数据库系统中。二。如何用os用户认证,在本机或远程登录数据库。1.
2014-03-03 20:56:10 1726
原创 (09)常被人遗忘的只读表空间
在数据库管理中,会把一些历史数据或基本不变化的数据放入只读表空间。因为这种表空间上只能进行读操作而不能做DML操作。能有效防止被意外的修改或删除,所以很适合存放上述类型的数据,另外,它在备份方面还有一个好处,因为它是只读的,就是没有变化,只需在设为只读后备份一次 就够了,以后备份时就可以忽略,这样能减少一部份备份压力。这造成慢慢的,人们会忽视掉它。 情况一:确实在设为只读表空间时
2014-03-02 17:56:29 1759
原创 (08)数据文件恢复之二通过RMAN恢复
Sqlplus在归档全的情况下,能搞定一部份的数据文件的恢复,但真正要做备份恢复,RMAN才是专业的。下面列了一些数据文件损坏情况下的恢复做法. 1. 表空间的数据文件损坏,但存放盘没坏。 2. 表空间单个数据文件所在存放盘坏。 3. close状态下,所有表空间数据文件存放盘都坏了。 4. 在数据库open状态下,有数据文件损坏,报ORA-00
2014-03-02 14:27:23 1468
原创 DG(2)Flashing Back a Failed Primary Database into a Physical Standby Database
如果Failover之后,整个Data Guard已不存在了,需要重建主备库关系,即把原来的主库重建为当前库的Standby库。常规做法是重来一遍备份,拷贝,恢复等耗时操作。 不过这里介绍的是利用Flashback Database来快速完成恢复。前提Failover之前,在旧的Primary数据库上已开启过闪回. a. alter system set db_
2014-03-02 13:22:50 1494
原创 DG(1)Performing a Failover to a Physical Standby Database
Oracle 11g官方文档的记录整理,用于物理Standby数据库的Failover. 其中要注意,alter system flush redo是11g的新特性。Step 1 Flush any unsent redo from the primary database to the target standby database. alter system flus
2014-02-28 11:27:50 1422
原创 Oracle安装(3)快速搭建Data Gurad之物理standby
Data Gurad的作用就不多说了,主在这说下物理standby的搭建步骤。 大致有这三种方式创建standby库 方式一:用rman的方式生成standby. (用rman的duplice方式直接创建,无须先备份) 方式二:用rman的restore方式生成。(先用rman全备份主库后,再用rman通过restore的方式创建) 方式三:用cp的方式生成 (
2014-02-28 11:14:24 1585
原创 (07)数据文件恢复之一通过SqlPlus重建恢复(文件系统与ASM)
本次恢复说明适合于日志完备,但数据文件丢失或损坏的情况。 原理是,数据文件丢了,但创建它,填充它的日志还在。我重建个空的物理文件,让数据库重新执行一遍日志,不就把数据文件恢复过来了。在RAC+ASM环境下测试:1. 查出数据库的所有数据文件 SQL>select file#,name from v$datafile;2. 做个全备,然后新增测试用于表空间和数据文件
2014-02-27 23:36:50 1700
原创 (06)重做日志损坏的恢复
当数据库做了DML或DDL操作之后,LGWR进程会将这些操作记录到重做日志中。 Oracle最少要包含两个日志组。 一个日志组可以有多个日志成员,每个成员互为镜像, 内容完全一致。 重做日志损坏严重时,会造成数据库不能打开,或造成运行状态下的数据库被中止。特别是当前活动日志组因为文件系统损坏或其它原因整个损坏时,恢复会是件非常麻烦的事。 下面是几种损坏情况
2014-02-26 00:55:21 3617
原创 Oracle删除(2)删除Oracle软件
将Oracle软件及相关的目录,用户,用户组全部清掉。1.停止Listener lsnrctl stop2. 关闭并删除数据库。3.将安装目录删除 rm -rf /u01/app/oracle/4.将/usr/bin下的文件删除 9i: rm /usr/bin/dbhomerm /usr/bin/oraenv rm /usr/bin/c
2014-02-24 22:45:14 1430
原创 Oracle删除(1)删除数据库
两种删除Oracle单实例数据库的方法,各有利弊,可看情况使用。方法一: 用drop命令删除数据库startup mountalter system enable restricted session;drop database; 但这种做法仅删除数据库,没删除相关配置,没法用dbca创建同名的数据库了。方法二:手工删除数据库 手工删能比较干净 1.
2014-02-24 22:21:12 2075
原创 Oracle设置(2)打造好用的Sqlplus
Oracle的Sqlplus如果觉得默认的设置不满意,是完全可以定制化Sqlplus的。你完全可以量身定制把它打造成一个自己顺手的工具。列举了些方法.方法一: 对默认的单调的"SQL>"不满意,可只需在glogin.sql中加上合适的设置就可定制化成自己想要的。 例子:vi $ORACLE_HOME/sqlplus/admin/glogin.sql在这个
2014-02-24 21:48:34 1553
原创 Oracle设置(1)设置Oracle数据库为Linux系统服务
将Oracle数据库设为Linux系统服务,并使其能随系统启动和关闭数据库。1. vi /etc/oratab 将最后一行改为Y. 只有改为Y,Oracle自带的dbstart与dbshut才能起作用。 如: xcldb:/u01/app/oracle/product/11.2.0/db_1:Y2. 启动脚本文件 vi /etc/rc.d/i
2014-02-24 21:26:44 1520
原创 简单的Linux开机服务知识
开机自启动服务设置流程1. 先写一个脚本放在/etc/rc.d/init.d下2. chmod a+x 脚本 3. 关机时执行的脚本 ln -s 脚本 /etc/rc.d/rc0.d/K01脚本名 ln -s 脚本 /etc/rc.d/rc6.d/K01脚本名 4. 开机时执行的脚本 ln -s 脚本 /e
2014-02-24 21:09:35 1150
原创 Oracle分析函数
分析函数在Oracle8.1.6之后才有的,在数据分析方面非常有用, 能省掉不少的子查询,内联视图之类,甚至于有些要写函数与存储过程弄的语句, 用分析函数都能轻松搞定。 不过用这个也有代价,概念比较多,不经常用,还真记不住。 本来要自己整理个的,发现已经有人整理的非常详细而且成系统,就没必要做重复工作了。记下链接,以便以后查用。 链接如下:
2014-02-23 22:14:45 1155
原创 传输表空间技术及字节序对跨平台迁移的影响
传输表空间技术是数据迁移中非常重要的技术之一。它的作用是将一组自包含(Self-Contained),只读的表空间只导出元数据,然后在操作系统层面将表空间的数据文件直接复制到目标平台,再将元数据导入数据字典,即完迁移。 可以用来快速迁移表空间,也可以用来迁移整个库。 Oracle用exp/imp或expdp/impdp来支持这个技术。整理了三种情况:一。 非跨平台的正常
2014-02-23 14:46:12 2327
原创 Oracle安装(1)静默方式创建Oracle数据库
我前面弄了个通过SHELL脚本快速安装Oracle11gR2软件>>用来快速安装Oracle软件,然后在通过本篇的方式来以静默方式创建Oracle数据库,能更方便的创建数据库,特别是在不方便使用图形界面安装时更有用。不过也有不好的地方,就是11g静默创建时没有进度提示。环境: Oracle 11gR2 for Linux 一。 进入Oracle用户,运行脚本 #! /bin/s
2014-02-20 23:07:03 1942
原创 Oracle安装(2)通过SHELL脚本快速安装Oracle11gR2软件
经常在手上要搭建一堆测试环境,Oracle软件装来装去的,重复步骤做得很烦。解决这种问题,用虚拟机克隆是一种方法。我这里用脚本搞定一些重复性的动作也是一种方法。我分四个脚本来做。 一。检查服务器配置及是否缺少必须的包。 二。脚本化自动化配置系统参数,并提供undo功能。
2014-02-20 21:59:04 4206
原创 网络编程(10)基于epoll的服务器实现
关于epoll的相关知识我不就写了,只把我弄的例子写下,我整的这个epoll服务器其实就只是把man epoll中举得那个例子给做完善了。主要参考了man epoll和百度百科中关于epoll的介绍来实现的。
2014-02-16 23:21:21 2460
原创 网络编程(9)内存对齐对跨平台通讯的影响
内存对齐存在的意义之一是为了减少访问次数,通过以空间换效率的方式提高性能。其特性在相同平台的网络通讯中是没有影响的。 但在跨平台中传输结构体(或联合)时,则这个特性有可能会影响到数据的准确性。原因之一是自定义网络通讯协议包通常都是定义成struct的形式, 而struct会自动内存对齐,这会造成结构体成员间有"空洞",传给其它平台后,其它平台弄不清楚原平台是按什么方式对齐的,只会按自己的方式解包。
2014-02-16 02:23:25 3535
原创 网络编程(8)自定义网络通讯协议
C/C++网络通讯真正要用起来,不但要写一个好的网络服务器,还要定好一套通讯协议才能真正实用。通讯协议业界目前除了用开源的如XMPP以外,基本上都是自定义一套通讯协议,自已负责封包,拆包。为什么要自己定义协议包呢?一个原因是因为真正的业务逻辑往往都是复杂的,不会是很单纯的字符串或数字。再参考前面写的网络编程(7)字节序对跨平台数据传输的影响>>就应当知道,通讯时网络传输是以字节为单位的。这
2014-02-16 01:14:15 5381
原创 网络编程(7)字节序对跨平台数据传输的影响
关于字节序对跨平台数据传输的作用。我分下面几个方面整理了下,知识点应当算比较全了。一。从服务端发送整数到客户端为例,看看字节序的应用。二。什么是字节序?三。什么是网络字节序四。如何确定本机的大小端一。从服务端发送整数到客户端为例,看看字节序的应用。 服务端代码节选://发送整数 //调用 send_num(sClien
2014-02-15 19:44:43 2962 1
原创 网络编程(6)单进程多线程并发服务器实现
相比前面的fork方式的多进程服务器,用线程方式,更轻量级。最少用fork时,需要将内存映像,描述符等都要从父进程复制到子进程中,会占用大量的资源而多线程方式都在一个进程内,就无需占用这些资源,但同步也是个问题,而且一个线程挂了,可能会影响到进程中的其它线程。 多线程并发的原理就是 当accept 成功连接一个客户端后,把与这个客户端的交互丢到新线程去处理它。 服务端代码:
2014-02-15 18:25:07 2062
原创 网络编程(5)多进程并发服务器
多进程并发服务器基本流程是,accept接收一个客户端连接,就创建一个子进程来处理它,即一个子进程对应一个客户端。简单说就是 父进程负责接收请求,子进程负责处理请求。整理代码如下:/*************************************************Author: xiongchuanliangDescription: 多进程并发服务器,服务端
2014-02-15 01:04:27 2696
电动汽车充电站市场策略两阶段投标与可调度潜力分析(文档加Matlab源码)
2024-04-16
综合能源系统调度模型碳捕集与需求响应的多时间尺度优化(文档加Matlab源码)
2024-04-16
微网优化:高效热电联产系统设计与运行策略(文档加Matlab源码)
2024-04-16
含冰蓄冷技术在冷热电联供微网优化调度中的应用研究(文档加Matlab源码)
2024-04-16
多能互补在热电联供型微网优化运行中的应用-报告和Matlab源码
2024-04-12
主从博弈理论在共享储能与综合能源系统优化调度中的应用-Matlab实现
2024-04-12
柔性负荷下的能源革命:综合能源系统的低碳经济优化调度-合集及Matlab代码
2024-04-12
探索阶梯式碳交易机制下的电制氢解决方案:综合能源系统的热电优化 - Matlab实现
2024-04-12
多时间尺度源储荷协调调度策略:储能电站特性分布与电网接入
2024-04-11
碳交易机制下考虑需求响应的优化运行 Matlab 魏震波
2024-04-11
代码统计分析命令scounter
2014-12-22
cdir命令_xcltools工具包
2014-12-07
Android画一张报表来玩
2014-04-06
Android参数传递方法汇总
2013-11-07
云计算的关键技术与应用实例光盘
2012-08-01
云计算的关键技术与应用实例.part2
2012-08-01
云计算的关键技术与应用实例
2012-08-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人