oracle数据库管理
iteye_7084
这个作者很懒,什么都没留下…
展开
-
oracle11g提示服务不可用
今天遇到一个问题,本地1521端口启用,但远程不能访问修改监听的配置文件后,提示:监听不可用在网上找了很多方法,以下方法可行:登录数据库:$sqlplus / as sysdba显示服务名:SQL>show parameter service_names强制注册服务:SQL>alter system register;查看监听状态:$lsnrctl relo...原创 2014-09-26 17:36:51 · 257 阅读 · 0 评论 -
ORA-01555处理
有时表太大,导出时出现1555错误,可以采用分段方式处理。以下原理也不是很清楚,先记录一下,再研究。select dbms_rowid.rowid_create(1, oid1, fid1, bid1, 0) rowid1, dbms_rowid.rowid_create(1, oid2, fid2, bid2, 9999) rowid2 from (sele...原创 2013-09-22 16:44:22 · 115 阅读 · 0 评论 -
BLOB字段操作
置为空或NULLupdate blob_test set b_content = null; update blob_test set b_content = EMPTY_BLOB();判断内容不为空select * from blob_test where dbms_lob.getlength(b_content) > 0; select * from blob_te...原创 2013-09-18 10:00:37 · 155 阅读 · 0 评论 -
统计表的大小
统计用户表的大小:SELECT * FROM ( SELECT SEGMENT_NAME, SUM(BYTES)/1024/1024/1024 G FROM DBA_SEGMENTS WHERE OWNER = user GROUP BY SEGMENT_NAME ORDER BY 2 DESC )统计表空间大小:select a.tablespace_...原创 2013-09-11 17:29:37 · 124 阅读 · 0 评论 -
UTL_FILE写文件
oracle内部提供的很多使用的包,为应用提供了可能!在我们项目中有这样的需求,根本没有必要使用线程来做,直接用oracle原生的功能特性更好,看来包要好好学习!utl_file写文件:declare inf utl_file.file_type; line_org varchar2(2000); o_vc_return_flag varchar2...原创 2013-09-09 16:16:59 · 414 阅读 · 0 评论 -
printsql脚本
SPID是os端的进程号打印spid对应的sql,执行计划http://www.dbsnake.net/wp-content/uploads/2012/08/PRINTSQL.prc_.txt调用非常简单printsql(spid号,‘SPID')防止连接失效,贴代码如下:create or replace procedure PRINTSQL(i_n_id i...原创 2013-09-07 00:13:59 · 360 阅读 · 0 评论 -
oracle in优化
sql语句中经常使用in来查询oracle有个限制,不能超过1000个参数而且这种用法很低效,可以把参数设为一个表,做hash join查询提高性能如下这个文章记录很详细http://boendev.iteye.com/blog/1263361...原创 2013-09-06 23:23:53 · 1733 阅读 · 0 评论 -
connet by用法一则
可根据表的多少,来写exp语句select max(sys_connect_by_path(table_name, ',')) tablelist from (select table_name, ceil(sum(num_rows) over(order by table_name asc) / 20000000) s1, ...原创 2013-09-04 17:13:58 · 102 阅读 · 0 评论 -
11g静默安装
[color=red][b]在没有图形界面的情况下安装oracle[/b][/color]在安装的文件目录$INSTALL_DIR/response/下有几个responsefile,文件名均为.rsp,分别为dbca.rsp --dbca使用install.rsp --安装配置netca.rsp ---netca用把install.rsp拷贝一份,cp...原创 2013-09-03 16:17:29 · 81 阅读 · 0 评论 -
bbed修改scn
使用BBED修改SCNPosted on May 9, 2012 at 5:30 pm by vogts文章来源:http://www.alidba.net/index.php/archives/594下面这个错误,我想是很多DBA的痛。@>startup ;ORACLE instance started.Total System Global Area ...原创 2013-08-29 16:21:54 · 245 阅读 · 0 评论 -
非常规应用--bbed介绍
bbed安装cd $ORACLE_HOME/rdbms/libmake -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed也可通过以下命令将bbed生成到$ORACLE_HOME/bin目录make -f ins_rdbms.mk BBED=$ORACLE_HOME/bin/bbed $ORACLE_HOME/bin/bbed在11g中生...原创 2013-08-28 15:24:29 · 92 阅读 · 0 评论 -
oracle dul工具使用
dul工具使用,主要设置init.dul,control.dul两个文件control.dul文件主要内容,使用:select ts#,rfile#,name from v$datafile;查询数据文件的文件编号,文件位置.所以每次数据库中增加新的数据文件需要记录该查询结果init.dul:设置dul运行的参数osd_big_endian_flag=trueosd_d...原创 2013-08-27 15:49:26 · 741 阅读 · 0 评论 -
oracle数据类型的用法注意事项
oracle数据类型的用法注意事项oracle的数据类型有以下类型:char:定长字符串,会用空格填充最大长度nchar:包含unicode格式数据的定长字符串varchar2:变长字符串,不会用空格填充最大长度nvarchar2:包含unicode的变长字符串raw:变长二进制数据类型number:存储精度最多达38位的数字binary_float:10g以后新增...原创 2013-08-21 16:06:41 · 79 阅读 · 0 评论 -
oracle跟踪程序执行的SQL
专门记录一下,对于系统调优很重要1.oracle的10046事件2.P6SPY工具,使用JDBC原理记录sql,一般开发人员知道3.log4j,在程序代码中利用log4j把程序中的sql手工记录下来放在文本文件中,开发人员了解也很好用这里专门说明10046事件的设置一、查找spid、sid、serial#,machine为你的机器名 SQL> select b.spi...原创 2013-09-24 15:34:35 · 822 阅读 · 0 评论 -
oracle内部原理
总是以为对oracle很了解,已经使用了好多年,基本是增、删、改、查,偶尔搞搞PLSQL,存储过程等等,算是老用户了!看到网上的大牛的理解程度,真是不堪一击,要往这条路发展,还有好多东西要学习国内的IT技术,个人认为数据库技术已经很牛了!其他的技术不敢下结论[color=green][size=x-large]如何学习,欢迎广大网友提供宝贵意见!![/size][/color]...原创 2013-09-26 11:17:36 · 163 阅读 · 0 评论 -
oracle SQL特性使用
oracle分析函数统计记录中类似1/222这样的记录select rownum||'/'||count(1) over(partition by 1) from user_tables通过以上一个小例子,学习一下开窗函数,如下:oracle的分析函数over 及开窗函数,网上有些不正确,本人修正了 eg: 相关解析:表t_pi_part 字段 id c...原创 2013-09-27 11:25:23 · 148 阅读 · 0 评论 -
手工用户创建,老是记不住,记录
Oracle创建表空间、创建用户以及授权、查看权限 创建临时表空间CREATE TEMPORARY TABLESPACE test_tempTEMPFILE 'C:\oracle\product\10.1.0\oradata\orcl\test_temp01.dbf'SIZE 32MAUTOEXTEND ONNEXT 32M MAXSIZE 2048MEXTE...原创 2014-09-18 13:53:13 · 147 阅读 · 0 评论 -
gdul
一直想自己也写个dul工具,无奈理解得不够深入几天前看到别人用java也写了一个,不过不是免费,不知道那天自己能写一个记录一下免费gdul工具,记录一下,说不定哪天能派上用场 GDUL>bootstrapbootstrap finished.GDUL>list userGDUL>set user gyhGDUL>list table GDUL>un...原创 2014-08-15 15:16:05 · 759 阅读 · 0 评论 -
SQL调优
网上看到如下sql:留一个线索在此 select /*+ cardinality(@a 20000) cardinality(@b 20000) */ ((v.yvalue * 300) / (u.xvalue * 50)), u.xtime 2 from (select x.index_value xvalue, substr(x.update_time, 1, 14)...原创 2014-06-20 14:14:59 · 109 阅读 · 0 评论 -
表闪回
使用delete删除数据的情况,如果是truncate只能用数据库闪回需要注意的一点flashback table的一些限制:1)启用行移动 alter table table_name enable row movement;2)不能用于闪回系统表、远程表、外部表;3)不能跨越DDL语句,即闪回期间如果发生了DDL,则闪回失败4)9i只能闪回5分钟内的数据,10g有...原创 2014-06-19 16:13:55 · 133 阅读 · 0 评论 -
外键约束
删除一个表时,提示有外键约束,ORA-02292: 违反完整约束条件 () - 已找到子记录先查出对应的外键属于哪个表select * from user_constraints uc where uc.constraint_name='';找到后禁用alter table 表名 disable constraint 约束名;或者在plsql中[img]http://d...原创 2014-06-19 16:02:49 · 120 阅读 · 0 评论 -
get_ddl使用
查看oracle中表定义等,需要使用dbms_metadata.get_ddlhttp://czmmiao.iteye.com/blog/1004873get_ddl返回的是CLOB,在linux下查看不方便在网上有这样的一个程序getddl可以比较方便使用 给个截图看一下效果[img]http://dl2.iteye.com/upload/attachment...原创 2014-05-19 16:45:42 · 363 阅读 · 0 评论 -
PL/SQL语法
今天写plsql,很久没写了,很简单的,也不想参看以前写的,怎么脑袋一片空白,怎么写都写不了,语法都忘记了。在网上找一个哥们的博客转载一下:http://www.cnblogs.com/huyong/archive/2011/05/10/2041951.html#_Toc4602很详细的记录了各种语法清楚明了,方便我自己查看...原创 2014-05-09 11:38:05 · 83 阅读 · 0 评论 -
归档日志满的处理
只是一个记录贴,方便查阅。完全没有新意归档日志一般需要保留。不建议删除删除的方法:rman target /只保留7天的日志delete archivelog all completed before 'sysdate-7';删除7天前到现在的日志DELETE ARCHIVELOG FROM TIME 'SYSDATE-7';在os下删除日志,还需进行...原创 2014-05-04 10:07:34 · 116 阅读 · 0 评论 -
数据的导出导入
异构数据库之间数据交换,主要使用txt文本文件以下记录一个工具的使用:sqluldr.zip主要使用OCI库操作数据库,性能很好。可以很好的导出txt文本使用之前需要安装oracle客户端,配置好tnsname user = username/password@tnsname --用户名密码 sql = SQL file name ...原创 2013-12-30 12:41:10 · 155 阅读 · 0 评论 -
exp增量
很久没有写文章了,今天遇到一个老问题,exp增量备份记得好像exp有此功能,当时肯定的说exp可以增量今天有时间仔细想了想,同时baidu,google一把 结论: exp不能增量,新版本完全抛弃了增量的参数exp的增量只是记录改动的对象,导出时还是把所有的数据全部导出所以增量的意义不大 如果真有此需求,还是要用rman...原创 2013-12-17 17:09:25 · 141 阅读 · 0 评论 -
查找oracle的操作日志
今天程序有些功能不能用了,查了一下,发现某些表对象删除了真是考验人的耐心,一定要查出是谁干的,重建这样对象很麻烦,以往debug程序的时候,就干过年纪大了,记不住啊!再次baidu,google,整理如下:select * from V$logfile --查在线的redoarchive log list --查归档日志还好有个时间概念,就是昨天下班后到今天早上上班出现的问...原创 2013-12-17 16:48:05 · 855 阅读 · 0 评论 -
面试中的SQL
虽然有些时间没有面试过了在我的印象中,sql中行列转换的问题问得比较多,本人也面试过别人专门总结一下,在sqlserver2000帮助文档中就有这样的例子不外乎3中方法:1.用case语句实现2.自己用函数实现3.oracle自己专有函数网上找了一下,以下文档记录很好,记录一下,转载一下别人的连接http://www.cnblogs.com/wxjnew/arc...原创 2013-09-27 12:07:14 · 96 阅读 · 0 评论 -
日志文件管理
1.查询系统使用的是哪一组日志文件,查看状态: select * from v$log; 2.查询正在使用的组所对应的日志文件: select * from v$logfile; 3.强制日志切换: alter system switch logfile; 4.查询历史日志: select * from v$log_his...原创 2013-08-21 14:19:39 · 75 阅读 · 0 评论 -
时间类型的操作
NUMTODSINTERVAL 可格式化的参数:DAY, HOUR, MINUTE, SECOND NUMTOYMINTERVAL 可格式化的参数:YEAR, MONTH select numtoyminterval (trunc(months_between(dt2,dt1)),'month') years_months, nu...原创 2013-08-21 14:01:07 · 185 阅读 · 0 评论 -
ssh双向认证脚本
oracle提供的脚本:直接实现ssh双向认证用法格式:sshUserSetup.sh -hosts "host1 host2" -user njerath -advanced具体介绍见脚本也可作为shell脚本学习的资料,看看世界一流oracle公司写的脚本...原创 2013-08-16 19:40:14 · 156 阅读 · 0 评论 -
plsql的exception用法
对exception的用户比较糊涂,专门记录总结一下,方便自己查看plsql的异常处理通常是处理运行异常声明异常:1.用户自定义异常declare e_myexception EXCEPTION;2.系统预定义异常常见:no_data_found:出现在select intoinvalid_cursor:非法的游标value_error:转换,运算抛出异...原创 2013-08-01 17:25:02 · 1215 阅读 · 0 评论 -
sql%rowcount使用
在plsql中sql%rowcount可以统计修改sql的条数sql%rowcount用于记录修改的条数, 这个参数必须要在一个修改语句和commit之间放置,否则你就得不到正确的修改行数。例如:SQL> declare n number; 2 begin 3 insert into test_a select level lv from dual connec...原创 2013-08-01 16:09:45 · 1033 阅读 · 1 评论 -
TOM的统计脚本
用法:比较两个方法效率的好坏,常常用在比较set echo ondrop table run_stats;create global temporary table run_stats ( runid varchar2(15), name varchar2(80), value int )on commit preserve rows;grant s...原创 2013-07-31 09:32:53 · 155 阅读 · 0 评论 -
sqlplus__使用方向键
http://utopia.knoware.nl/~hlub/uck/rlwrap/下载rlwrapvi /home/oracle/.bash_profile添加alias sqlplus='rlwrap sqlplus'alias rman='rlwrap rman'stty erase ^h原创 2013-07-29 17:19:34 · 81 阅读 · 0 评论 -
SQLA的使用__查找top的SQL语句
使用方法:Execution Environment: SQL*PlusAccess Privileges: Requires to access some V$ dynamic views. If used on an Apps instance, connect as APPS. In general, connect into SQL*P...原创 2013-07-29 15:40:55 · 179 阅读 · 0 评论 -
oracle的健康检查__dba经常做的事情
此处使用oracle提供的RDARDA(remote diagnostic assisant 远程诊断助手)是一个由ORACLE开发,由技术支持工程师在客户机收集ORACLE数据库服务器信息的一个工具,网上有很多RDA下载.首先从网上下载rda.zip,然后解压缩,第一次使用要进行初始化 rda.sh -S,会有一系列的问题需要回答,比如SID,ORACLE_HOME之类的,然后就可以直...原创 2013-07-29 15:17:36 · 127 阅读 · 0 评论 -
mystat使用__顺便学习sqlplus
mystat:set echo offset verify offcolumn value new_val Vdefine S="&1"column name format a45set autotrace offselect a.name, b.value from v$statname a, v$mystat bwhere a.statistic# = ...原创 2013-07-25 13:45:45 · 222 阅读 · 0 评论 -
Tom的show_space__记录一下
set define offcreate or replace procedure show_space( p_segname in varchar2, p_owner in varchar2 default user, p_type in varchar2 default 'TABLE', p_partition in varchar2 default N...原创 2013-07-25 10:25:50 · 124 阅读 · 0 评论 -
SQLPLUS的环境变量__dba需要
SQLPATH,login.sqlSQL*PLUS在启动时会自动运行两个脚本:glogin.sql、login.sql。文件glogin.sql是ORACLE为所有的数据库用户建立的、默认的SQLPLUS设置,存放在目录$ORACLE_HOME/sqlplus/admin/下。而用户可以将个人喜欢的常用设置放在login.sql文件中,每次sqlplus启动时会自动加载。S...原创 2013-07-25 09:27:39 · 208 阅读 · 0 评论