oracle/mysql
kongqz
精通互联网电商领域的商业模式、运营、技术架构、运维等端到端的解决方案制定。
现场从事云计算领域工作,精通云计算相关领域的解决方案设计。
展开
-
根据字段内容条件的统计需求处理
需求:对一组投票日志文件进行日汇总统计,统计出当天所有被投票人的各种类型票数。并将结果放到另外的一张表中。日志文件中有vote_type,vote_mode标识不同的数据类型。日志表名称:vote_logvote_type和vote_model的组合为下:0,0:A类型 0,1:B类型1,0:C类型0,2:D类型 sign_up_id:表示被投票人idvote_time:标识具体投票时间前提条原创 2009-03-16 09:08:00 · 1420 阅读 · 0 评论 -
oracle RAC技术场景简介
应用场景: 常见的分布式集群等技术在ORACLE上也同样有相应的解决方案。例如oracle的RAC技术,就是oracle的集群解决方案。 业务场景: 1、大量的读操作需要较高的系统性能支撑 2、数据库响应能力受到硬件的束缚 3、小型机虽然能在垂直领域提供较好单个节点的性能,但是价格较高 4、人员有限,不想通过水平扩展(拆库)来解决单个节点的性能问题(因为翻译 2011-06-24 11:25:00 · 4355 阅读 · 0 评论 -
oracle的RAC技术的jndi数据源配置
为了避免传说中的RAC风暴,还是将各个集群节点列出来比较合适xman= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.19.150)(PORT = 1521))原创 2011-07-07 13:59:02 · 2541 阅读 · 0 评论 -
远程登陆MYSQL-指定ip和端口号
远程登陆mysql,同时指定对应的端口和ip。假设远程的ip为:10.154.0.43端口为:3341输入如下命令: #mysql -uroot -p -h10.154.0.43 -P3341回车后:会需要输入密码。原创 2011-10-05 15:43:41 · 19721 阅读 · 3 评论 -
处理mysql不区分字母大小写的问题
mysql默认是对字母的大小写不区分的mysql> create table t1( -> username varchar(10));Query OK, 0 rows affected (0.09 sec)mysql> insert into t1 values('you'),('You'),('YOU');Query OK, 3 rows affected原创 2011-11-12 18:46:51 · 5006 阅读 · 0 评论 -
做电商网站的主键策略
一般最常见的主键策略都是自增但是为了应对分布式集群环境。数据库自然不能选择自增,否则并发大的时候会出现主键冲突。一般oracle下选择了sequence的方式,mysql有的会自己设计sequence,有的会用uuid策略。这里对于对外展示的数据表来说,sequence可能不是一个好主意,不管你如何加密,最后都会泄露相关数据信息。所以有些电商互联网公司选择了uuid这个策略。在oracle原创 2012-05-24 12:11:01 · 3211 阅读 · 1 评论 -
MySQL的LAST_INSERT_ID用法
LAST_INSERT_ID() 自动返回最后一个INSERT或 UPDATE 查询中 AUTO_INCREMENT列设置的第一个表发生的值。MySQL的LAST_INSERT_ID的注意事项:第一、查询和插入所使用的Connection对象必须是同一个才可以,否则返回值是不可预料的。mysql> SELECT LAST_INSERT_ID(); ->转载 2012-08-31 11:26:56 · 2325 阅读 · 0 评论 -
用cobar搭建分布式数据库
周末针对最新的项目需求进行cobar的搭建并针对实际状况做了demo演示一、需求1、大数据量,邮件发送记录需要记录,一年可能累计4亿的数据2、需要按照邮箱进行邮件发送明细的查询以及发送记录的查询二、问题1、单库分表分区已经解决不了存储以及查询问题2、只能进行一致性hash的策略进行数据存储以及查询,放弃了一些便利性查询统计三、实施方案,数据库采用mysq原创 2012-09-09 18:21:41 · 4801 阅读 · 3 评论 -
mysql的定时任务
定时任务查看event是否开启: show variables like '%sche%';将事件计划开启: set global event_scheduler=1;关闭事件任务: alter event jcj_cd_event ON COMPLETION PRESERVE DISABLE;开户事件任务: alter event jcj_cd_event O原创 2013-05-13 09:41:38 · 1793 阅读 · 0 评论 -
mysqldump备份还原和mysqldump导入导出语句大全详解
mysqldump备份还原和mysqldump导入导出语句大全详解mysqldump备份:mysqldump -u用户名 -p密码 -h主机 数据库 a -w "sql条件" --lock-all-tables > 路径案例:mysqldump -uroot -p1234 -hlocalhost db1 a -w "id in (select id from b)" --lock-转载 2012-11-17 23:42:30 · 1239 阅读 · 0 评论 -
多用户表空间下统计各表数据量
FOR SYSAREA IN(SELECT * FROM sinobnet.SYS_AREA A WHERE A.PUBLISHDB='infodb' ORDER BY AREACODE ASC) LOOP dbms_output.put_line(SYSAREA.areacode||SYSAREA.AREANAME); --先删除指定日期的当前统计数据 DELETE FROM TABLE_COUNT TC WHERE TC.OP_DATE=P_STATDA原创 2011-03-22 15:29:00 · 1900 阅读 · 0 评论 -
删除怪异的表
<br />突然发现我的某个库中有一个表的名字是 “??”<br />在pl/sql上无法直接删除<br /> <br />最后发现可以 执行 drop table "??"<br />来进行删除<br /> <br />原创 2011-03-22 15:26:00 · 1021 阅读 · 0 评论 -
EXECUTE IMMEDIATE 使用小结
<br />EXECUTE IMMEDIATE 代替了以前Oracle8i中DBMS_SQL package包.<br />它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,EXECUTE IMMEDIATE的目标在于减小企业费用并获得较高的性能,较之以前它相当容易编码.尽管DBMS_SQL仍然可用,但是推荐使用EXECUTE IMMEDIATE,因为它获的收益在包之上。 <br /><br /><br />-- 使用技巧<br /><br /转载 2011-03-07 22:00:00 · 1247 阅读 · 0 评论 -
修改系统用户的帐号密码
假如我们能够在linux下能够登录oracle的安装帐号我们可以用如下方式以sysdba登录sqlplus:1、切换到oracle目录:cd /oracle2、以sysdba开启sqlplus:sqlplus "/as sysdba"然后我们就可以更改我们的系统密码了:alter user system identified by yourpasswd;commit;这样就原创 2009-05-06 17:43:00 · 1550 阅读 · 0 评论 -
在windows下直接sqlplus登录oracle
1、首先需要我们配置好我们客户端的oracle tns文件例如:TESTKONGQZ= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.*)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = info原创 2009-05-14 15:30:00 · 9064 阅读 · 0 评论 -
linux下创建oracle用户表空间
就是在已有的数据库实例上创建一个新的帐号,访问一些新的表 操作步骤如下: 1、登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户) 2、以sysdba方式来打开sqlplus,命令如下: sqlplus "/as sysdba" 3、查看我们常规将用户表空间放置位置:执行如下sql:select nam原创 2009-05-14 18:17:00 · 9293 阅读 · 2 评论 -
查看某时刻oracle客户端链接数以及客户端服务器的名称
1、查看oracle的链接数select username,count(username) from v$session where username is not null group by username 这个时候你经常会遇到权限不足的提示,接下来看的过程中也有相同的提示,因此,我建议是登陆oracle服务器用sysdba的方式启动sqlplus,这样你的查询权限就天下无敌了2、原创 2010-02-06 10:54:00 · 2217 阅读 · 0 评论 -
进行oracle的冷备份
1、冷备份必须将数据库服务器停止,不然恢复的时候无法恢复停止服务器的命令:在sqlplus下登陆sqlplus:sqlplus "/as sysdba"停止oracle服务: shutdown immediate;(此命令等待事务执行完毕后再关闭)是在不行直接强行终止:shutdown abort;(此命令直接关闭实例服务)关闭listener:linux命令:lsnrctl然后停止命令:stop原创 2010-01-04 16:01:00 · 1338 阅读 · 0 评论 -
oracle中查看某个用户名下所有的表以及sequence
select table_name from all_tables where owner =upper('tieba') ;此处查的是tieba这个用户表空间下的所有表名原创 2010-12-15 15:24:00 · 12927 阅读 · 2 评论 -
oracle下创建dblink
<br />俩台不同的数据库服务器,从一台数据库服务器的一个用户读取另一台数据库服务器下的某个用户的数据,这个时候可以使用dblink。 <br /> 其实dblink和数据库中的view差不多,建dblink的时候需要知道待读取数据库的ip地址,ssid以及数据库用户名和密码。 <br /> 创建可以采用两种方式: <br /> 1、已经配置本地服务 <br /> create public database <br />link转载 2010-12-15 15:25:00 · 2143 阅读 · 0 评论 -
存储过程中调用EXECUTE IMMEDIATE的“权限不足”问题
<br />存储过程中有一条语句是EXECUTE IMMEDIATE 'CREATE TABLE TA (id integer)';当执行该存储过程时,可能会报“ORA-01031: 权限不足”的错误,但直接使用匿名块执行EXECUTE IMMEDIATE 'CREATE TABLE TA (id integer)'是成功的。 这是因为默认情况下,数据库对存储过程在编译阶段进行权限检测,数据库检测存储过程的所有者是否拥有直接赋予的权限,而不是通过一个角色等间接赋予的权限。但是在创建存储过程的时候使用了A原创 2010-12-15 18:52:00 · 5093 阅读 · 0 评论 -
oracle通过dblink抽取数据处理
一个跨库导数据的方法,通过dblink完成操作create or replace package extraction_data is -- Author : ADMINISTRATOR -- Created : 2010-12-15 下午 03:36:28 -- Purpose : 抽取数据 Cursor TNAME is SELECT table_name AS table_name FROM all_tables@TB.REGRESS.RDBMS.DEV.US.O原创 2010-12-15 16:44:00 · 5189 阅读 · 0 评论 -
忘记了本地mysql密码应该怎么找回
我这个是自找的,导入了一个数据库,结果吧我本地的mysql库的权限库给覆盖了...1. 首先以系统管理员身份登陆系统2. 打开命令行窗口停止mysql服务C:\>net stop mysqlMySQL 服务正在停止.MySQL 服务已成功停止3.到mysql的安装路径启动mysql,在bin目录下使用mysqld.exe启原创 2012-12-13 14:58:15 · 15705 阅读 · 0 评论