Oracle学习
CathySun118
这个作者很懒,什么都没留下…
展开
-
Oracle数组初探
CREATE OR REPLACE PROCEDURE sample is TYPE R_REC IS RECORD(INT NUMBER(6,2), CHR VARCHAR2(100)); TYPE T_REC IS TABLE OF R_REC INDEX BY BINARY_INTEGER; A_ZEI T_REC; IX转载 2008-07-15 10:58:00 · 2198 阅读 · 1 评论 -
插入特殊符号的两种方法
--创建一个测试表SQL>create table t(col1 int,col2 varchar(100));--执行插入数据SQL>insert into t values(1,a&b);--出现提示enter value b:看来不能直接插入字符&,怎么解决这个问题呢?发现方法有两种1.使用命令 set define offSQL>set define off;SQL>ins原创 2009-04-27 16:23:00 · 1680 阅读 · 0 评论 -
shrink space报ora-10635
shrink space报ora-10635表test为分区表,只有一分区(pmaxvalue)。表处于users表空间内,而分区pmaxvalue位于users2内.表空间users和users2均为ASSM。alter table test enable row movement后,执行alter table test shrink space却报ORA-10635: invalid se原创 2009-04-28 09:11:00 · 4224 阅读 · 0 评论 -
用next_day得出本周的周一到周日的日期
用next_day得出本周的周一到周日的日期 next_day()的语法格式: next_day := next_day(date,day_of_the_week); 它用来返回从第一个参数指定的日期开始,第一次到达第二个参数(星期)的日期.参数day_of_the_week可以是从1到7的数字,也可以是sunday...saturday之类的英语单词 例如:取本周一是哪原创 2009-04-28 13:48:00 · 1288 阅读 · 0 评论 -
Oracle failsafe与rac两者之间的不同之处
虽然Oracle failsafe和RAC都是Oracle公司提供的高可靠性(HA)解决方案,但两者之间却存在着明显的区别: 1.操作系统: failsafe系统局限于WINDOWS平台,必须配合MSCS(microsoft cluster server),而RAC最早是在UNIX平台推出的,目前已扩展至LINUX和WINDOWS平台,通过OSD(operating system depe转载 2009-04-29 12:56:00 · 810 阅读 · 0 评论 -
Oracle实现级联删除的四种方法
创建数据库时为了防止其他人不小心删除操作错误,所有的外键都没有加级联删除。哪知,不知什么时候自己入了一批错误的数据进去,入库使用的是软件自动的,一下点错给自己带来无尽麻烦啊,删除就不好办了。表间的关系比较复杂,数据量又比较多,一个个删绝对会出大问题。于是实验了几种解决的办法,现小结一下。方法一:创建约束时设定级联删除(但一般由于各种原因或出于各种考虑在创建数据库时没有设定级联删除)SQ转载 2009-04-29 13:48:00 · 3029 阅读 · 0 评论 -
Windows平台卸载Oracle的方法
. 卸载oracle数据库的步骤如下:1、开始->设置->控制面板->管理工具->服务 停止所有Oracle服务。2、开始->程序->Oracle >Oracle Installation Products-> Universal Installer 卸装所有Oracle产品,但Universal Installer本身不能被删除5、运行regedit,选择HKEY_LOCAL_MACHINE/S转载 2009-05-04 14:02:00 · 605 阅读 · 0 评论 -
oracle数据文件内部BLOCK结构详解
oracle数据文件内部BLOCK结构详解 datafile block block size :8192Offset 0 1 2 3 4 5 6 7 8 9 a b c d e f 00014000 06 A2 00 00 0A 00 40 01 0E 89 43 00 00 00 0转载 2009-05-04 15:14:00 · 3963 阅读 · 4 评论 -
Oracle新手最常碰到的6个错误及解决方案
Oracle新手最常碰到的6个错误及解决方案虽然是以版本8来讲解的,但是这些基本错误在9i和10g也是类似的。 ======================================== 1、ORA-12541:TNS:没有监听器 原因:没有启动监听器或者监听器损坏。如果是前者,使用命令net start OracleOraHome81TNSListener(名字可能有出入)即可转载 2009-05-04 14:12:00 · 808 阅读 · 0 评论 -
Oracle学习笔记--CREATE TABLESPACE
一.前提:1.须有CREATE TABLESPACE的权限2.如果创建SYSAUX表空间,须有sysdba的权限3.在创建tablespace之前,必须也有database4.若database运行在automatic undo management mode,必须至少有一个UNDO tablespace在online状态5.若database运行在manual undo management m原创 2009-05-08 16:50:00 · 2622 阅读 · 0 评论 -
Oracle学习笔记--ALTER TABLESPACE
一,前言:1.要改变sysaux表空间,必须有sysdba权限2.若有ALTER TABLESPACE权限,可以执行ALTER TABLESPACE操作3.若只有MANAGE TABLESPACE权限,只能做下述操作: 设置表空间online 和 offline Begin or end a backup 设置表空间read only or read write4.若要设置表空间read原创 2009-05-08 16:53:00 · 6229 阅读 · 0 评论 -
手动创建数据库的步骤和例子
--第一步 sqlplus /nolog conn / as sysdba shutdown immediate startup nomount--第二步 mkdir E:/orcl/database/admin/adump mkdir E:/orcl/database/admin/bdump mkdir E:/orcl/database/admin/cdump mkdir原创 2009-05-15 13:26:00 · 1033 阅读 · 0 评论 -
Sql plus命令报command not found的解决笔记
Sql plus命令报command not found的解决笔记1.问题描述 环境:linux9, Oracle10g. 在一台装有Oracle10g的Linux机器上,我运行sqlplus命令,报错"command not found",运行别的命令(如:lsnrctl)也同样的错误。初步怀疑是路径问题,然后我尝试cd $oracle_home/bin下,再次运行这些命令,原创 2009-05-18 14:09:00 · 35183 阅读 · 7 评论 -
sqlplus常用命令大全
show和set命令是两条用于维护SQL*Plus系统变量的命令SQL> show all --查看所有68个系统变量值SQL> show user --显示当前连接用户SQL> show error --显示错误SQL> set heading off --禁止输出列标题,默认值为ONSQL> set feedback off --禁止显示最后一行的计数反馈信息,默认值为转载 2009-05-21 20:29:00 · 1531 阅读 · 0 评论 -
Host Credentials报错"Connection to host as user oracle failed: ERROR: Wrong password for user"的解决一例
Host Credentials报错"Connection to host as user oracle failed:ERROR: Wrong password for user"的解决一例 我成功安装了Oracle 10g,可以登录到企业管理器,但无法执行一些操作,如数据库的备份调度,执行恢复等,由于操作系统登录全权证书的问题。我被要求提供操作系统登录凭原创 2009-05-25 15:57:00 · 2133 阅读 · 0 评论 -
oracle如何查看已经打过的补丁
oracle如何查看 已经打过的补丁来源: www.ixdba.net 作者: IXDBA.NET社区 set ORACLE_HOME=[oracle目录]cd $ORACLE_HOME/Opatch/opatch lsinventory -all -detail[删除补丁] 删除这个补丁 opatch rollback -id [patchID]如果没有转载 2009-05-25 13:31:00 · 5320 阅读 · 0 评论 -
Oracle数据文件丢失导致数据库启动故障解决一例
Oracle数据文件丢失导致数据库启动故障解决一例1.环境: 操作系统:WindowsXp 数据库:Oracle10g R22.故障现象和解决办法在command下启动oracle实例C:>net start oracleserviceorclThe OracleServiceORCL service is starting........The O原创 2009-06-09 14:24:00 · 1604 阅读 · 0 评论 -
Oracle高水位线详解
什么是水线(High Water Mark)? ---------------------------- 所有的oracle段(segments,在此,为了理解方便,建议把segment作为表的一个同义词) 都有一个在段内容纳数据的上限,我们把这个上限称为"high water mark"或HWM。这个HWM是一个标记,用来说明已经有多少没有使用的数据块分配给这个segment。HWM通常增长的幅转载 2009-04-27 13:29:00 · 1974 阅读 · 0 评论 -
SQL TRACE 和 tkprof sql语句分析工具
一 SQL TRACE 使用方法: 1.初始化sql trace 参数: timed_statistics=true 允许sql trace 和其他的一些动态性能视图收集与时间有关的参数、 SQL>alter session set titimed_statistics=true max_dump_file_size=500 指定跟踪文件的大小 SQL> alter system set转载 2009-04-24 16:51:00 · 969 阅读 · 0 评论 -
oracle数据文件内部BLOCK结构详解
oracle数据文件内部BLOCK结构详解datafile block block size :8192 Offset 0 1 2 3 4 5转载 2008-06-14 20:47:00 · 2536 阅读 · 0 评论 -
数据库名、实例名、数据库域名、全局数据库名、服务名
数据库名、实例名、数据库域名、全局数据库名、服务名 ,这是几个令很多初学者容易混淆的概念。相信很多初学者都与我一样被标题上这些个概念搞得一头雾水。我们现在就来把它们弄个明白。一、数据库名什么是数据库名? 数据库名就是一个数据库的标识,就像人的身份证号一样。他用参数DB_NAME表示,如果一台机器上装了多全数据库,那么每一个数据库都有一个数据库名。在数据库安装或创建完成之后,参数DB_NAME被转载 2008-06-14 17:14:00 · 2539 阅读 · 1 评论 -
查看Oracle10g的端口信息
端口信息保持在:$ORACLE_HOME/install/portlist.ini原创 2008-06-15 16:38:00 · 1194 阅读 · 0 评论 -
试做返回记录集的过程和函数
/*创建过程和函数*/CREATE OR REPLACE PACKAGE pkg_test AS TYPE myrctype IS REF CURSOR; PROCEDURE get (p_rc OUT myrctype); FUNCTION f_get return myrctype; END pkg_test; CREATE OR REPLACE PACK原创 2008-06-15 17:28:00 · 1434 阅读 · 0 评论 -
导出Oracle启动参数文件
导出服务器端初始化参数文件:SQL>CREATE PFILE from SPFILE这时将把服务器端初始化参数文件导出为默认位置上具有默认名称的文本初始化参数文件.默认位置在$oracle_home/database文件名是init数据库名.oraSQL>CREATE PFILE=c/testmydb.ora FROM SPFILE=e:/oracle/spfil原创 2008-06-16 20:37:00 · 1316 阅读 · 0 评论 -
Oracle安装目录Admin下各文件夹的说明
adump一般是audit dumpbdump中有alert文件,和一些后台进程的trace file,bdump文件下放着的是数据库的预警文件,如果数据库出问题,该文件是DBA要查看的首选文件cdump一般放置一些核心的trace文件pfile文件下放着的自然是数据库的初始化参数文件。udump文件下放着的是用户进程跟踪文件,用于收集客户应用的SQL语句的统计信息。当然这原创 2008-06-14 21:02:00 · 4590 阅读 · 0 评论 -
%TYPE 与 %ROWTYPE的区别
-- %TYPE is used to declare a field with the same type as -- that of a specified tables column: DECLARE v_EmpName emp.ename%TYPE;BEGIN SELECT ename INTO v_EmpName FROM emp WHERE ROWNUM = 1; D原创 2009-03-30 10:14:00 · 742 阅读 · 0 评论 -
reset序列到指定的值
CREATE OR REPLACE PROCEDURE Set_seq_To(p_Name IN VARCHAR2,p_val IN NUMBER)ISv_num NUMBER;BEGINEXECUTE IMMEDIATE SELECT ||p_Name||.NEXTVAL FROM DUAL INTO v_num;DBMS_OUTPUT.Put_Line(v_num= ||原创 2009-03-30 11:03:00 · 574 阅读 · 0 评论 -
简单触发器的例子
-- 首先,创建两个表T1和T2 CREATE TABLE T1 (a INTEGER, b CHAR(10));CREATE TABLE T2 (c CHAR(10), d INTEGER); -- 在表T1创建插入后触发器,触发器实现插入T2 CREATE TRIGGER trig1 AFTER INSERT ON T1 REFERENCING NEW AS newRow原创 2009-03-30 11:19:00 · 588 阅读 · 0 评论 -
Hints用法大全
在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法:1. /*+ALL_ROWS*/表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.例如:SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO=’SCOTT’; 2. /*+F转载 2009-03-30 14:20:00 · 1896 阅读 · 0 评论 -
EMCA命令解析
在Oracle DB10g 中我们可能会常遇到OEM不能正常使用的问题,导致问题的原因不尽相同,但最后绝大多数问题可以通过emca 这个命令来解决,详细的说明可以查看连机帮助,下面给出一些常用的命令,及实例步骤.创建一个EM资料库emca -repos create重建一个EM资料库emca -repos recreate删除一个EM资料库emca -repos d转载 2009-04-16 16:36:00 · 2447 阅读 · 0 评论 -
SQL Server 2005 连接 Oracle 方案
1、先在客户端安装 Oracle 客户端并配置好,使其能够连接 Oracle 服务器,配置过程略。 2、以 SA 身份登录到 SqlServer 2005 中,依次打开:服务器对象 -> 链接服务器,右键 链接服务器 -> 新建链接服务器。 如下图: 常规 选项卡, 链接服务器,可以自己随便定义。这里暂定为:ORACLE-TEST转载 2009-04-15 14:54:00 · 793 阅读 · 0 评论 -
可以对本表做操作的触发器
在写trigger的时候,经常会遇到这种情况当在程序块中需要对trigger本表进行修改或查询的时候,系统会提示错误: ORA-04091: table is mutating, trigger/function may not see it关于这个错误,其实是由于对本表的操作造成的.ORACLE DB里默认在写TRIGGER的时候把本表锁死,不允许对其进行操作,也就是说这个错误是不能通过系统的原创 2009-04-24 17:19:00 · 3516 阅读 · 1 评论 -
使用dbms_xplan工具查看执行计划
使用dbms_xplan工具查看执行计划9i有一个新的包 dbms_xplan,对查询plan_table表是一个很有用的工具,相对于以前写一个复杂的SQL语句,然后从plan_table看执行计划,不如调用 dbms_xplan 包,还可以显示格式,这个工具的使用也非常方便。调用的语法类似select * from table(dbms_xplan.display(format=>BASI转载 2009-04-27 14:57:00 · 1136 阅读 · 0 评论 -
Oracle数据库event事件与dump文件介绍
一、Oracle跟踪文件 Oracle跟踪文件分为三种类型,一种是后台报警日志文件,记录数据库在启动、关闭和运行期间后台进程的活动情况,如表空间创建、回滚段创建、某些alter命令、日志切换、错误消息等。 在数据库出现故障时,应首先查看该文件,但文件中的信息与任何错误状态没有必然的联系。后台报警日志文件保存BACKGROUND_DUMP_DEST参数指定的目录中,文件格式为SI转载 2009-04-24 14:25:00 · 1215 阅读 · 0 评论 -
SID,Db_Name,Service_name的区别
SID 就是Oracle 实例的标识,不同的SID 对应不同的内存缓冲(SGA)和不同的后台进程。service_name 在有数据库域名时,为全局数据库名在没有数据库域名时,为数据库名易混淆术语介绍:Db_name:对一个数据库(Oracle database)的唯一标识,该数据库为第一章讲到的Oracle database。这种表示对于单个数据库是足够的,但是随转载 2009-07-13 11:19:00 · 1364 阅读 · 0 评论