随笔分类 -  ORACLE

摘要:1.闪回删除的表/数据drop from tb_test;SELECT * FROM user_recyclebin WHERE original_name=‘drop_test’;flashback table tb_test to before drop;2.闪回更新数据update tb_test set name= 'xxxxxx' where name='yyyy';alter table tb_test enable row movement;flashback table tb_test to timestamp to_timestamp(' 阅读全文
posted @ 2011-10-12 14:35 jex 阅读(391) 评论(0) 推荐(0)
摘要:ORA-00001 ORA-00227 ORA-00935 ORA-00942 ORA-00998 ORA-00368 ORA-01031 ORA-01034 ORA-01045 ORA-01400 ORA-01466 ORA-01578 ORA-01922 ORA-01950 ORA-03113 ORA-04091 ORA-12500 ORA-12505 ORA-12560 ORA-14452 ORA-19010 ORA-25143 ORA-27370 ORA-29913 阅读全文
posted @ 2011-09-01 20:23 jex 阅读(260) 评论(0) 推荐(0)
摘要:oracle修改表增加列删除列修改列 1.增加列 ALTER TABLE table_name ADD( column datatype [DEFAULT EXPR][,column datatype...]); 例如: SQL>ALTER TABLE emp01 ADD eno NUMBER(4); 2.修改列定义 例如: SQL>ALTER TABLE emp01 MODIFY job VARCHAR2(15) 2 DEFAULT 'CLERK' 3.删除列 例如: SQL> ALTER TABLE emp01 DROP COLUMN dno; 4.修改列 阅读全文
posted @ 2011-08-24 15:54 jex 阅读(727) 评论(0) 推荐(0)
摘要:从上周起,服务器Oracle数据库出现问题,用不到半天,就会报maxsession(150)的问题,肯定是数据库的会话超过最大数了。 由于服务器跑的是文件传输应用,占用的请求和会话肯定很大,因此用户数不大就已经让oracle的会话数达到最大值。 处理方式不外乎两种:扩大oracle最大session数以及清除inactive会话,当然还有,就是从数据库连接池和程序bug上面下手。 从各处收集了一些查看当前会话的语句,记录一下: 1.select count(*) from v$session; select count(*) from v$process; 查看当前总会话数和进程数,这两个视图 阅读全文
posted @ 2011-08-18 22:07 jex 阅读(883) 评论(0) 推荐(0)
摘要:今天接到客户电话,描述新建的oracle 11.1.0.7 RAC数据库中,当一个用户连接到数据库上以后,如果在某一段时间内没有任何动作的话,该进程就会自己中断,这样在应用程序就会因为进程超时自动断开而不能正常执行。 分析原因,应该是该进程的用户的概要文件(profile)配置问题。 发现用户所在的profile的IDLE_TIME为30。即30秒该进程没有任何操作,就会自动断开。PROFILE的管理(资源文件) 当需要设置资源限制时,必须设置数据库系统启动参数RESOURCE_LIMIT,此参数默认值为FALSE 可以使用如下命令来启动当前资源限制: alter system set RES 阅读全文
posted @ 2011-08-18 21:51 jex 阅读(4985) 评论(0) 推荐(0)
摘要:ORACLE自动断开数据库连接解决办法 转贴: 方法一、直接修改资源配置文件 分三个步骤在sqlplus环境下完成。 第一步,查询资源文件,找到CONNECT_TIME所在的profile名。 select resource_name,profile from dba_profiles; 第二步,用alter命令修改profile中的值; alter profile MONITORING_PROFILE limit connect_time unlimited;(或跟一个时间值,如1000,单位为分钟) alter profile MONITORING_PROFILE limit idle_t 阅读全文
posted @ 2011-08-18 21:50 jex 阅读(7964) 评论(0) 推荐(0)
摘要:要是不停应用也可以采用在先重定义的方法这里讲的是可以停应用的方法:1.停应用原有表结构顺序为desc testid numberb numbera number需要调整为desc testid numbera numberb number2.备份需要调整表的顺序数据create table test_bk as select * from test;3.删除表drop table test;4.创建表为调整后的正确顺序create table test(id number,a number,b number)包括主键,索引,约束,触发器等5.禁用触发器6.插回数据insert into tes 阅读全文
posted @ 2011-08-15 10:36 jex 阅读(476) 评论(0) 推荐(0)
摘要:1,使用下面的命令移动:alter table table_name move tablespace tablespace_name;2,如果有索引的话必须重建索引:alter index index_name rebuild tablespace tablespace_name;然,可以使用spool来帮助实现多个表的操作.set header off;spool /export/home/oracle/alter_tables.sql;select 'alter table ' || object_name || ' move tablespace users 阅读全文
posted @ 2011-07-22 14:35 jex 阅读(1443) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2011-07-21 21:21 jex 阅读(1) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2011-07-21 20:57 jex 阅读(3) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2011-07-21 20:49 jex 阅读(1) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2011-07-21 20:44 jex 阅读(0) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2011-07-21 20:16 jex 阅读(2) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2011-07-21 20:00 jex 阅读(3) 评论(0) 推荐(0)
摘要:SELECT ROUND( number, [ decimal_places ] ) FROM DUAL说明:number : 将要处理的数值decimal_places : 四舍五入,小数取几位,不填默认为0Sample :select round(123.456) from dual; 结果: 123 select round(123.456, 0) from dual; 结果: 123 select round(123.456, 1) from dual; 结果: 123.5 select round(123.456, 2) from dual; 结果:123.46 select rou 阅读全文
posted @ 2011-07-21 19:35 jex 阅读(281) 评论(0) 推荐(0)
摘要:test.sql内容:create or replace procedure ptest001 isbeginnull;end ptest001;/create or replace procedure ptest002 isbeginnull;end ptest002;/create or replace procedure ptest003 isbeginnull;end ptest003;/create or replace procedure ptest004 isbeginnull;end ptest004;/create or replace procedure ptest005 阅读全文
posted @ 2011-07-21 19:32 jex 阅读(317) 评论(0) 推荐(0)
摘要:1、全角转半角函数 TO_SINGLE_BYTE 2、数字转英文,利用to_char、to_date 3、sys_guid()1、全角转半角函数 TO_SINGLE_BYTESQL> select TO_SINGLE_BYTE('oracle') from dual;TO_SINGLE_BYTE('ORACLE')------------------------------oracle2、数字转英文,利用to_char、to_dateSQL> select to_char(to_date('12345','J'),&# 阅读全文
posted @ 2011-07-21 19:29 jex 阅读(771) 评论(0) 推荐(0)
摘要:create sequence seq2start with 0 --起始值increment by 1 --步长maxvalue 4999 --最大值minvalue 0 --最小值cycle --循环cache 4 --缓存4个数create table testa(ins number(4) primary key,nm varchar2(20));-- Created on 2007-10-17 by YCZ declare -- Local variables herei integer;begin-- Test statements herefor i in 1..5000 loo 阅读全文
posted @ 2011-07-21 19:29 jex 阅读(223) 评论(0) 推荐(0)
摘要:数据字典dict总是属于Oracle用户sys的。 1、用户: select username from dba_users; 改口令 alter user spgroup identified by spgtest; 2、表空间: select * from dba_data_files; select * from dba_tablespaces;//表空间 select tablespace_name,sum(bytes), sum(blocks) from dba_free_space group by tablespace_name;//空闲表空间 select * from dba 阅读全文
posted @ 2011-07-21 19:22 jex 阅读(232) 评论(0) 推荐(0)
摘要:--列转行CREATE TABLE t_col_row(ID INT,c1 VARCHAR2(10),c2 VARCHAR2(10),c3 VARCHAR2(10));INSERT INTO t_col_row VALUES (1, 'v11', 'v21', 'v31');INSERT INTO t_col_row VALUES (2, 'v12', 'v22', NULL);INSERT INTO t_col_row VALUES (3, 'v13', NULL, 'v33'); 阅读全文
posted @ 2011-07-21 19:22 jex 阅读(218) 评论(0) 推荐(0)