oracle
文章平均质量分 58
wangwei
爱好运动,不拘一格
展开
-
insert实现限制性插入
限制性插入insert into后面跟一个子查询INSERT INTO(SELECT employee_id, last_name,email, hire_date, job_id, salary, department_idFROM employeesWHERE department_id = 50 ) VALUES (99999, 'Taylor', 'D原创 2012-05-27 22:55:29 · 1497 阅读 · 0 评论 -
merge的使用演示
merge的使用演示1.首先建立目标表score(id,score)create table score(id varchar(10),score number(3));向目标中插入数据insert into score values(1000,88);insert into score values(1001,78);insert into score values(10原创 2012-05-27 22:58:20 · 511 阅读 · 0 评论 -
oracle中DML,DCL语句自动提交
DML,DCL语句自动提交1.在scott用户下建立一张表create table test1 (id number,name varchar(20));SQL> create table test1 (id number,name varchar(20));表已创建。2.插入两条记录到scott表中不提交(commit)SQL> insert into test1 val原创 2012-05-27 19:47:17 · 3726 阅读 · 0 评论 -
大批量插入数据时禁用约束使用exceptions表找出违反约束的记录
使用exceptions表找出违反约束的记录演示:批量向表中插入大量数据时禁用约束,提高插入速度禁用约束约束禁用后导致违反约束的记录也插入到表中了,启用约束时会失败,这时我们要找出违反约束的记录更新或删除违反约束的记录1.创建一个测试表testcreate table test(id number(5),name varchar(10));SQL> create table tes原创 2012-05-27 23:07:10 · 1195 阅读 · 0 评论 -
RAC环境启动关闭
RAC环境启动关闭:使用srvctl工具来启动和关闭RAC数据库启动:srvctl start nodeapps -n --启动节点一的资源srvctl start nodeapps -n srvctl start asm -n --启动asm实例srvctl start asm -n srvctl start database -d --启动数据库srvc原创 2012-05-28 22:46:27 · 754 阅读 · 0 评论 -
oracle数据文件被误操作删除了恢复方法
数据文件误删除的恢复方法不小心在操作系统里把oracle的某一个数据文件删除了,下面构造这样的场景并恢复1.创建一个表空间SQL> create tablespace db01 2 datafile '/opt/oracle/db/oradata/oradb/db01.dbf' size 10M;Tablespace created.1.创建一个用户db01cre原创 2012-05-28 23:22:44 · 1151 阅读 · 0 评论 -
解读awr报告
第一次看到awr报告,里面包含很多东西,完全不知道从哪里看起也不知道各项指标都是什么含义,从头到尾看了一遍,啥也没有看到,看了后面忘了前面的,花费一天的时间去熟悉它,在网上查资料对着报告一项项的熟悉了一遍DB NameDB IdInstanceInst numStartup TimeReleaseRAC原创 2012-05-29 22:52:16 · 27689 阅读 · 2 评论 -
Oracle利用DBMS_METADATA.GET_DDL获取对象DDL语句
Oracle利用DBMS_METADATA.GET_DDL获取DDL语句1. 获取单个的建表、视图和建索引的语法set pagesize 0set long 90000set feedback offset echo offspool DEPT.sql---获取建表的语句其中TAB_NAME为要获取表的表名,scott为用户select dbms_me原创 2012-05-30 22:16:58 · 7006 阅读 · 0 评论 -
了解oracle对sql的处理过程
Oracle对sql的处理过程当你发出一条sql语句交付Oracle,在执行和获取结果前,Oracle对此sql将进行几个步骤的处理过程:1、语法检查(syntax check) 检查此sql的拼写是否语法。原创 2012-05-29 22:54:55 · 759 阅读 · 0 评论 -
查看oracle内部事件
1.查看oracle内部事件一般事件号从10000到10999SET SERVEROUTPUT ONDECLAREerr_msg VARCHAR2(120);BEGINdbms_output.enable (1000000);FOR err_num IN 10000..10999LOOPerr_msg := SQLERRM (-err_num);IF err原创 2012-05-31 21:35:08 · 1187 阅读 · 0 评论 -
修改初始化参数不合理导致数据不能启动问题解决
参数设置不合理导致数据不能启动问题解决由于修改初始化参数不合理导致数据库不能启动以下面的例子进行恢复1.修改数据库的shared_pool_size大小,不小心修改shared_pool_size大小超过了操作系统分配oracle的内存的大小了SQL> alter system set shared_pool_size=100G scope=spfile;系统已更改。2.重原创 2012-06-02 23:10:06 · 1559 阅读 · 0 评论 -
从alert日志中看数据库启动数据启动的三个过程
从alert日志中看数据库启动数据启动的三个过程1. 启动数据库到nomount此时oracle会读取初始化参数文件分配内存(SGA)启动一系列的后台进程Oracle读取初始化参数文件windows中到$ORACLE_HOME/database、linux中到$ORACLE_HOME/dbs中依次去读取spfile.ora——>spfile.ora ——>init.ora如果都没有原创 2012-06-02 23:13:07 · 1803 阅读 · 0 评论 -
开启当前会话的10046事件
1.启用当前会话的10046事件 用户必须具有alter session的权限---开启10046事件级别设置为12SQL> alter session set events '10046 trace name context forever , level 12';Session altered.SQL> select * from tt; ID NAME原创 2012-06-01 20:01:54 · 751 阅读 · 0 评论 -
手动创建数据库
手动创建数据库实验环境 windows xp +oracle 11.2.0.1.01. 创建实例C:\Documents and Settings\wwang>oradim -NEW -SID wlm2. 编辑初始化参数如下:wlm.__db_cache_size=71303168wlm.__java_pool_size=4194304wlm.__larg原创 2012-06-03 23:27:11 · 719 阅读 · 0 评论 -
控制文件包含的内容
1.Control File ContentsA control file contains the following entries:• Database name and identifier• Time stamp of database creation• Tablespace names• Names and locations of data files原创 2012-06-03 23:24:55 · 1444 阅读 · 0 评论 -
Redolog日志文件删除恢复
Redolog日志文件删除恢复1.查看当前重做日志组及成员个数状态SQL> select GROUP#,MEMBERS,STATUS from v$log; GROUP# MEMBERS STATUS---------- ---------- -------------------------------- 1 1 INACTIVE原创 2012-06-05 23:00:40 · 4510 阅读 · 0 评论 -
验证RAC节点reboot节点vip资源和服务会切换到另外节点,然后再手动恢复故障节点
RAC环境为两个节点环境节点1为udb1节点为udb2,集群环境启动的正常 1. 在节点1上增加一个服务mdspr并启动服务 节点1udb1为主用节点,节点2udb2为备用节点mdsp01:oracle:orcl1 > srvctl add service -d udb -s mdspr -r udb1 -a udb2mdsp01:oracle:orcl1 > srvctl sta原创 2012-06-04 22:56:27 · 8046 阅读 · 0 评论 -
suse下启动vsftp报错解决方法
suse下启动vsftp报错解决在suse启动vsftp服务service vsftp start 报 Starting vsftpd startproc: exit status of parent of /usr/sbin/vsftpd: 1用 lsof -i :21查看21端口被那个进程占用,然后把那个进程kill掉kill -9 pid再次启动启动vsftp正常原创 2012-06-04 22:09:12 · 10188 阅读 · 1 评论 -
计算undo表空间大小
计算undo表空间大小Sizing an UNDO TablespaceDetermining a size for the UNDO tablespace requiresthree pieces of information• (UR) UNDO_RETENTION in seconds• (UPS) Number of undo data blocks generated原创 2012-06-06 22:26:59 · 773 阅读 · 0 评论 -
数据库冷备份及恢复
数据库冷备份及恢复操作环境为windows xp + Oracle Database 11g Enterprise Edition Release 11.2.0.1.01.查看数据文件:SQL> select FILE_NAME,STATUS,FILE_ID from dba_data_files;FILE_NAME S原创 2012-06-07 23:38:00 · 3315 阅读 · 0 评论 -
oracle移动文件的两种方法
Moving Data Files:ALTER TABLESPACE• The tablespace must be offline.• The target data files must exist.ALTER TABLESPACE userdataRENAMEDATAFILE '/u01/oradata/userdata01.dbf'TO '/u01/oradat原创 2012-06-11 22:14:58 · 703 阅读 · 0 评论 -
启用oracle密码文件验证方式登录
Oracle验证两种方式,操作系统验证,密码文件验证 启动密码文件验证如果数据库登录方式是操作系统验证sys登录不需要用户名和密码就可以登录C:\Documents and Settings\wwang>sqlplus dfsdljfsdljf/jsljfls as sysdbaSQL*Plus: Release 11.2.0.1.0 Production on星期一 6月 1原创 2012-06-11 23:02:31 · 2750 阅读 · 0 评论 -
关于Oracle数据库中行迁移/行链接的问题
关于Oracle数据库中行迁移/行链接的问题申明本文转载来自http://www.eygle.com/archives/2011/11/oracle_block_header.html作者:eygle | English Version 链接:http://www.eygle.com/archives/2011/11/oracle_block_header.html站内转载 2012-06-11 23:16:55 · 497 阅读 · 0 评论 -
rac 环境下修改oracle数据库字符集
rac环境下修改oracle数据库字符集为GBK由于数据库导入数据报字符集错误,所以修改字符集合导出数据字符集一致1、首先要查询当前RAC环境的字符集SQL> select userenv('language') from dual;USERENV('LANGUAGE')--------------------------------------------------原创 2012-05-26 22:34:23 · 1773 阅读 · 0 评论 -
SQL查询实现行转列
1. 在scott用户下创建一张表test表的结构如下:create table test(name varchar(10),subject varchar(10),score number)此表记录姓名,科目和成绩自动2. 用sqlldr导入如下数据: Name subject score Jack , maths , 89 Jack , Chi原创 2012-05-26 22:48:04 · 2317 阅读 · 0 评论 -
通过给rownum起别名来实现where rownum>的查询
1. 查询emp表中的前5行数据SQL> select empno,ename from emp where rownum EMPNO ENAME---------- -------------------- 7369 SMITH 7499 ALLEN 7521 WARD 7566 JONES 7654 M原创 2012-05-26 23:13:52 · 3694 阅读 · 0 评论 -
Oracle 外部表创建
Oracle 外部表创建实验Oracle为外部表提供了两种访问的驱动程序,默认的访问程序是oracle_loader,它允许使用oracle的装载技术从外部文件中读取数据。另一种访问驱动程序是oracle_datapump它从数据库读取数据库并将数据插入到外部表中。1. Oracle_loader驱动程序创建外部表去访问D:\waibubiao下exp.dat文件中的记录原创 2012-06-17 21:21:43 · 4149 阅读 · 0 评论 -
exp/imp的帮助与例子
Imp/exp导入导出1.可以在命令行输入exp help=y获取exp的帮助信息C:\Documents and Settings\wwang>exp help=yExport: Release 11.2.0.1.0 - Production on星期日 6月 17 21:31:15 2012Copyright (c) 1982, 2009, Oracle and/or it原创 2012-06-17 22:04:02 · 3686 阅读 · 0 评论 -
oracle 11g对大表中添加DEFAULT值的NOT NULL字段速度有大幅度的提升
今天同事问我一个问题他说在一张2000万的表上增加了一个字段并字段一个默认值,执行这条语句(alter table tablename add new_col default ‘col’)一个小时没有执行完,问我有没有其他解决方法我查了一下资料发现Oracle11g中,在添加一个包含DEFAULT值的NOT NULL字段,Oracle不会去更新现有的数据,Oracle需要做的不过是将默原创 2012-06-18 23:09:30 · 8261 阅读 · 1 评论 -
解决PL/SQL客户端连oracle很快就断开的问题
PL/SQL登录很短时间session就自动断开1.首先查看你这个用户的profile文件select profile from dba_users where username='USERNAME';2.查看一下profile文件中的idle_time设置select * from dba_profiles where profile='PROFILENAME';3.如果第二原创 2012-06-18 23:13:40 · 2696 阅读 · 0 评论 -
Oracle 11g 新特性 Active Database Duplicate
Oracle 11g新特性 Active Database Duplicate原库:mdsp(归档模式)新库:oradup操作系统:windowxp+oracle11g1. 手工创建新的instanceC:\Documents and Settings\wwang>oradim -NEW -SID oradup实例已创建。创建初始化参数文件,并创建相应的目录原创 2012-07-01 21:32:48 · 2001 阅读 · 0 评论 -
用户管理的备份与恢复
1. 用户管理的备份与恢复包括a . 冷备份b . 热备份冷备份:1. 停掉数据库(保持数据的一致性)备份(用操作系统的复制命令)数据库中所用的数据文件、日志文件、控制文件、spfile/pfile2. 恢复时可以完全恢复到备份的点上,把文件复制到原来的位置上只需要restore不需要recover只能把数据库恢复的过去的一个时间原创 2012-07-01 22:47:53 · 768 阅读 · 0 评论 -
Rman备份与恢复1之目标数据库
Rman备份与恢复之目标数据库1. 设置备份的文件存放的位置,备份时自动备份控制文件C:\Documents and Settings\wwang>rman target /--在目标数据库上备份恢复管理器: Release 11.2.0.1.0 - Production on星期一 7月 2 22:15:57 2012Copyright (c) 1982, 2009,原创 2012-07-02 23:25:00 · 471 阅读 · 0 评论 -
DUMP数据文件特定块到跟踪文件里
DUMP数据文件到跟踪文件里1.建立测试表SQL> create table dump (id number,name varchar(20));Table created.SQL> insert into dump values (1000,'tomsh');1 row created.SQL> insert into dump values (1001,'dumpces原创 2012-07-03 19:32:39 · 529 阅读 · 0 评论 -
LogMiner分析日志文件
LogMiner1. 把数据库改到归档模式Alter database archive log2. 安装LogMiner工具要运行以下脚本Dbmslm.sql创建dbms_logmnr程序包SQL> @?/rdbms/admin/dbmslm.sqlPackage created.Grant succeeded.Synonym c原创 2012-07-03 19:37:23 · 894 阅读 · 0 评论 -
视图中的键保留表
视图中的键保留表:连接视图中所有更新的列必须映射到键保留表的列中,也就是视图DML操作的列必须映射到键保留表的列中键保留表的理解是:一个复杂视图,若需要出现键保留表的话则必须保证基表中至少有一张表是有主键的! 其次,这两张表在进行关联时(可以是表连接也可以是多表查询,但一定要有关联条件,其关联条件其实相当于两表的主外键关系),如果关联条件是使用了主键的话,则外键表为键保留表原创 2012-07-16 20:17:44 · 3332 阅读 · 1 评论 -
Private strand flush not complete
alert警告日志中发现“Private strand flush not complete”oracle support 相关的说明文档Alert Log Messages: Private Strand Flush Not Complete [ID 372557.1] 修改时间01-SEP-2010 类型PROBLEM原创 2012-07-21 12:37:25 · 484 阅读 · 0 评论 -
删除undo表空间报ORA-01548
删除undo表空间报ORA-01548用expdp导出数据报错:C:\Documents and Settings\TEMP>expdp scott/tiger DUMPFILE=scott.dmp DIRECTORY=dump SCHEMAS=scottExport: Release 11.2.0.1.0 - Production on星期一 7月 23 21:58:14 2原创 2012-07-23 23:21:57 · 1045 阅读 · 0 评论 -
如何学习Oracle-eygle的方法经验谈---当你感觉到迷茫时读一下
注:此文来自eygle 经常有朋友会问,应该如何学习Oracle,怎样才能快速提高?我把自己的一点心得写在这里,供大家参考。其实学习任何东西都是一样,没有太多的捷径可走,必须打好了坚实的基础,才有可以在进一步学习中得到快速提高。王国维在他的《人间词话》中曾经概括了为学的三种境界,我在这里套用一下:古今之成大事业、大学问者,罔不经过三种之境界。"昨夜西风凋碧树。独上高楼转载 2012-08-26 23:06:25 · 392 阅读 · 0 评论 -
oracle查看表空间使用率的sql
oracle查看表空间使用率的sql:select 'RESULT=' || df.tablespace_name "Tablespace", df.bytes / (1024 * 1024) "Total Size(MB)", sum(fs.bytes) / (1024 * 1024) "Free Size(MB)", round(su原创 2012-12-13 20:40:02 · 731 阅读 · 0 评论