
ORACLE
公众号【架构师也是人】
我完全无法理解人们为什么花那么多时间去关注别人过的如何,更无法想象他们对人们表现在外的肤浅行为,为何如此感兴趣
展开
-
数据库设计三大范式
为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。 在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值转载 2013-12-12 15:38:36 · 930 阅读 · 0 评论 -
oracle 忘记用户名密码
<br />查看所有用户:<br />select username from all_users;<br /> <br /> sqlplus /nolog<br />SQL*Plus: Release 9.2.0.1.0 - Production on 星期四 8月 16 11:32:22 2007<br />Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.<br />SQL> conn /as sysdba转载 2010-09-14 17:50:00 · 786 阅读 · 0 评论 -
oracle 增删表字段。增删外键。
<br />增加表字段:<br />如何用SQL语句给表增加字段?<br />ALTER TABLE 表名 ADD 列名 VARCHAR(20) not NULL<br />怎么样增加默认值为null,属性为varchar,长度为20的字段?<br />ALTER TABLE 表名 ADD 列名 VARCHAR(20) default NULL<br /><br />删除表字段:<br />ALTER TABLE xxx DROP COLUMN yy;<b原创 2010-08-31 15:29:00 · 1028 阅读 · 0 评论 -
一个完整的Oracle建表的例子
<br />建表一般来说是个挺简单的事情,但是Oracle的建表语句有很多可选的参数,有些我们可能平时不太用,用的时候又不知道怎么用,这里就写一个较完整的建表的例子:<br />CREATE TABLE banping<br /> (id NUMBER(5) <br /> CONSTRAINT banping_id_pk PRIMARY KEY, <br /> last_name VARCHAR2(10) <br /> CONSTRAINT banping_last_name转载 2010-08-31 15:34:00 · 1185 阅读 · 0 评论 -
数据库中主键和外键的设计原则
<br />主键和外键是把多个表组织为一个有效的关系数据库的粘合剂。主键和外键的设计对物理数据库的性能和可用性都有着决定性的影响。 <br />必须将数据库模式从理论上的逻辑设计转换为实际的物理设计。而主键和外键的结构是这个设计过程的症结所在。一旦将所设计的数据库用于了生产环境,就很难对这些键进行修改,所以在开发阶段就设计好主键和外键就是非常必要和值得的。<br />主键:<br /> 关系数据库依赖于主键---它是数据库物理模式的基石。主键在物理层面上只有两个用途:<br /> 1. 惟一转载 2010-08-31 13:47:00 · 771 阅读 · 0 评论 -
sql语句创建 表,索引, sequence。
<br />SQL> create table t_inspection_d<br /> 2 (id number(10) not null constraint pk_t_inspection_d primary key,<br /> 3 inspection_code varchar2(3),inspectionflag number(1), <br /> 4 staffcode varchar2(6),loggingdate DATE default SYSDATE)原创 2010-08-31 15:33:00 · 3417 阅读 · 0 评论 -
ORACLE SEQUENCE 权限
<br />ORACLE SEQUENCE的简单介绍<br />如何修改sequence的权限(将用户aaa下的sequence查询权限分配给用户bbb):<br />conn aaa/aaa<br />grant select on sequencename to bbb <br />conn bbb/bbb<br />select aaa.sequencename.nextval from dual<br /> <br />授予和收回权限<br />grant select on seq_teamme转载 2010-08-31 10:29:00 · 19818 阅读 · 0 评论 -
建表基本语句
<br /> <br />创建表的语法<br />-创建表格语法:<br />create table 表名(<br /> 字段名1 字段类型(长度) 是否为空,<br /> 字段名2 字段类型 是否为空<br />);<br />-增加主键<br />alter table 表名 add constraint 主键名 primary key (字段名1);<br />-增加外键:<br />alter table 表名<br /> add constraint 外键名 fore转载 2010-08-31 10:26:00 · 815 阅读 · 0 评论 -
数据库设计三大范式应用实例剖析
<br />引言<br /><br /> 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。<br /><br /> 设计范式是不是很难懂呢?非也,大学教材上给我们一堆数学公式我们当然看不懂,也记不住。所以我们很多人就根本不按照范式来设计数据库。<br /><br />转载 2010-08-16 10:35:00 · 637 阅读 · 0 评论 -
在Oracle数据库启动时提示没有权限 ora-01031:insufficient privileges
在Oracle数据库启动时提示没有权限ora-01031:insufficient privileges<br />情况说明<br />环境:Linux<br /> <br />操作语句:<br /> <br />[oracle@ora11r2 ~]$ sqlplus /nolog<br /><br />SQL*Plus: Release 11.1.0.6.0 - Production on Thu Jun 10 18:22:16 2010<br /><br />Copyright (c) 19原创 2010-06-10 21:34:00 · 10444 阅读 · 0 评论 -
对Oracle导出文件错误和DMP文件结构的分析,EXP-00008: 遇到 ORACLE 错误 904 ORA-00904: "MAXSIZE": invalid identifier
<br />EXP-00008: 遇到 ORACLE 错误 904 ORA-00904: "MAXSIZE": invalid identifier<br /> <br />原因:oracle版本不一样<br /> <br />执行<br />C:/>EXP plx/plx@orcl FILE=c:/plx.dmp TABLES=(s,sc,c)<br />结果报错<br />Export: Release 11.1.0.6.0 – Production on 星期日 7月 26 12:42:19转载 2010-06-10 11:18:00 · 20879 阅读 · 2 评论 -
startup 出现的监听错误或者未初始化服务句柄,ORA-24324: 未初始化服务句柄,ORA-01041: 内部错误, hostdef 扩展名不存在
<br />解决方法就是 重新quit 然后conn 重新登录sys,然后用startup 正常启动数据库。。<br /> <br /> <br /> <br /> Microsoft Windows [版本 5.2.3790] <br /> (C) 版权所有 1985-2003 Microsoft Corp. <br /> D:/Documents and Settings/Administrator>SQLPLUS /nolog <br /> SQL*Plus: Release原创 2010-06-07 20:58:00 · 24656 阅读 · 7 评论 -
oracle删除用户下的所有表
<br />删除表有2个办法<br /> <br />1,删除用户 这是最快的方法<br />2,生成删除语句<br /> <br /> <br /> <br />方法一<br /> <br /> <br />drop user xxx cascade;<br /> <br />方法二<br /> 你需要创建这些删除语句,通过oracle的数据字典找到该用户下的所有表、视图等对象,拼接成语句。如下select 'drop table ' || table_name ||';'||chr(13)||c原创 2010-06-07 20:56:00 · 11109 阅读 · 0 评论 -
oracle启动命令
一、启动oracle9i数据库命令<br /><br />$ sqlplus /nolog<br /><br />SQL*Plus: Release 9.2.0.1.0 - Production on Fri Oct 31 13:53:53 2003<br /><br />Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.<br /><br />SQL> connect / as sysdba <br />Connecte原创 2010-06-07 20:54:00 · 2950 阅读 · 0 评论 -
临时表空间过大的处理,对用户表空间操作。
临时表空间过大的处理Oracle临时表空间主要是用来做查询和存放一些缓存的数据的,磁盘消耗的一个主要原因是需要对查询的结果进行排序,如果没有猜错的话,在磁盘空间的(内存)的分配上,Oracle使用的是贪心算法,如果上次磁盘空间消耗达到1GB,那么临时表空间就是1GB,如果还有增长,那么依此类推,临时表空间始终保持在一个最大的上限。Oracle临时表空间暴涨的现象经过分析可能是以下几个方面的原因造成的。1. 没有为临时表空间设置上限,而是允许无限增长。但是如果设置了一个上限,最后可能还是会转载 2010-07-02 17:51:00 · 1855 阅读 · 0 评论 -
做oracle高级复制时出现ORA-23375报错的解决办法
今天做高级复制实验,执行到添加master site时遇到此问题,上网搜了搜,有如下几种意见:1.授权过程不对——请仔细按照文档上的说明进行。2.版本问题——可查看v$option视图中相关参数是否为true。3.版本问题——有个转贴metalink的文章上说只有oracle企业版支持高级复制。都没有解决问题,后来发现了问题所在,写出来供大家参考:在这之前定义数据库链接那一步,转载 2010-05-03 14:54:00 · 1589 阅读 · 0 评论 -
oracle数据库同步技术,高级复制
高级复制什么是复制?简单地说复制就是在由两个或者多个数据库系统构成的一个分布式数据库环境中拷贝数据的过程。 高级复制,是在组成分布式数据库系统的多个数据库中复制和维护数据库对象的过程。 Oracle 高级复制允许应用程序更新数据库的任何副本,并将这些更改自动传递到其他数据库,同时确保全局事务处理的一致性和数据完整性。 同步复制,复制数据在任何时间在任何复制节点均保持一致。如转载 2010-04-29 18:25:00 · 3618 阅读 · 1 评论 -
oracle IMP EXP的技巧,和解决IMP-00003: 遇到 ORACLE 错误 1435 ORA-01435: 用户不存在
C:/>imp neohkdev1/xml full=y file=c:/neo.20070411.dmp Import: Release 10.2.0.1.0 - Production on 星期四 4月 12 10:06:45 2007 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 1原创 2010-04-14 09:07:00 · 52066 阅读 · 0 评论 -
如何处理登录Oracle时ORA-28000: the account is locked?
ORA-28000: the account is locked. 要对账户解锁,可在数据库管理员账户(sys/system)中使用“alter user”命令的account unlock子句。如下所示:alter user usernameaccount unlock;账户解锁后,username账户再一次被允许连接。转载 2010-09-14 17:53:00 · 1204 阅读 · 0 评论 -
Oracle11g数据库导入Oracle10g数据库 EXPDP工具
<br />EXPDP要注意的是,导出的文件是在服务器端的 DATA_PUMP_DIR目录里<br /> <br />11g备份,导入10g的时候会抛错,直接阻止导入。<br /><br />但是有时候还必须得把11g的数据库导入到10g,我今天就遇到了这种情况。<br /><br />一开始只是把11g中的表全部备份,成功导入10g。但是缺少视图、存储过程等。一个个sql创建累死人,方法太笨。请教了一下资深DBA,重新备份,重新导入,成功。<br /><br />现在把我导入操作的全过程记录下来,希望可以转载 2010-09-07 15:54:00 · 7297 阅读 · 0 评论 -
出了ORA-27101,ORA-01034,ORA-01078,LRM-00109和ORA-12640错误解决方法
本文参考:两篇文章http://www.blogjava.net/imcb/archive/2007/04/02/108080.htmlhttp://karyson.blog.bokee.net/bloggermodule/blog_viewblog.do?id=2460646问题描述:我试图连接数据库时的ORA-01034 和 ORA-27101错误信息,它总是显示这样的信息,“ORA-01034 - Oracle not available”和“ORA-27101 - shared memory rea原创 2011-04-16 08:14:00 · 2072 阅读 · 0 评论 -
关于shutdown、startup 参数解释,意义。
<br />SHUTDOWN有四个参数:NORMAL、TRANSACTIONAL、IMMEDIATE、ABORT。缺省不带任何参数时表示是NORMAL。 <br />SHUTDOWN NORMAL:不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。 <br />SHUTDOWN TRANSACTIONAL:不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。 <br />SHUTDOWN IMMEDIATE:不允许新的连转载 2011-03-23 15:00:00 · 1606 阅读 · 0 评论 -
Oracle 10g 中sga_max_size 和sga_target用法
<br />一、oracle 10g中的SGA_MAX_SIZE与SGA_TARGET参数<br /> <br />sga_target是自动管理内存时使用的,这样你就不用设置DB_CACHE_SIZE,SHARED_POOL_SIZE等参数,他们会根据需要自动的进行调整的。<br /><br />SGA_MAX_SIZE是从oracle9i以来一直存在﹐是不可动态修改的。 <br />SGA_TARGET是oracle10g中用于实现自动SGA内存管理而新增加的。 <br />SGA_MAX_SIZE指的转载 2011-03-23 11:11:00 · 7260 阅读 · 0 评论 -
oracle自动内存共享管理测试。修改 oracle 11g SGA_MAX_SIZE。
<br />目的,使用oracle 自动内存共享管理 基本都是修改过程。如需整理,请留言<br /> <br />SQL>show parameters target;<br />NAME TYPE VALUE<br />------------------------------------ ----------- -------<br />archive_lag_target integer原创 2011-03-23 15:13:00 · 9654 阅读 · 0 评论 -
ORACLE日常维护命令
Oracle数据库日常维护常用命令 在Oracle数据库运行期间,DBA应该对数据库的运行日志及表空间的使用情况进行监控,及早发现数据库中存在的问题。 一、Oracle警告日志文件监控 Oracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况:l 数据库的启动、关闭,启动时的非缺省参数;l 数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换转载 2010-12-22 10:12:00 · 1030 阅读 · 0 评论 -
pl/sql导出表结构和表数据
导出表结构:Tools-->Export User Objects -->选择要导出的表(包括Sequence等)-->.sql文件导出表数据:Tools-->Export Tables-->选择表,选择SQL Inserts-->.sql文件执行这些.sql文件时,要使用新建Command Window来执行.转自:http://blog.youkuaiyun.com/lc19850921/archive/2009/01/21/3848921.aspx转载 2010-10-28 15:13:00 · 2784 阅读 · 0 评论 -
利用SQL*PLUS导出excel
<br />1.D盘下新建两个sql脚本:empmail.sql , emp.sql,脚本内容如下: <br />1)empmain.sql: <br />set linesize 200 <br />set term off verify off feedback off pagesize 999 <br />set markup html on entmap ON spool on preformat off <br />spool emp.xls <br />@emp.sql <转载 2010-10-21 16:09:00 · 3640 阅读 · 0 评论 -
]ORA-12528: TNS: 监听程序: 所有适用的例程都不允许建
<br />D:Script>set day=-12-17<br />D:Script>cd d:backup<br />D:backup>md -12-17<br />D:backup>sqlplus /nolog @D:scriptcold_backup.sql -12-17<br />SQL*Plus: Release 10.1.0.2.0 - Production on 星期四 12月 17 10:50:55 2009<br />Copyright (c) 1982, 2004, Oracle.转载 2010-10-14 16:57:00 · 3643 阅读 · 0 评论 -
SQL 笔记
1.大小写忽略查询 UPPER/LOWER/INITCAP(首字母大写)SQL>SELECT * FROM employees WHERE UPPER(last_name) = 'WHALEN';SQL>SELECT * FROM employees WHERE LOWER(last_name) = 'whalen';2.转义字符 ESCAPE SQL> SELECT * FROM employees WHERE job_id LIKE '%SA/_%' ESCAPE '/';--把_视为普通字符,而不是l原创 2010-10-14 14:19:00 · 956 阅读 · 0 评论 -
SELECT WHERE GROUP_BY HAVING ORDER_BY 组合 执行顺序
<br /> <br /><br /> <br />执行顺序:<br />原创 2010-09-26 17:05:00 · 1026 阅读 · 0 评论 -
ORACLE EXPDP工具 轻松实战
本操作目的是:11G备份导入10G数据库而且是不同用户和表空间11G服务器上登录 并导出SQL>select * from dba_directoriesSQL>select directory_path from dba_directories where directory_name='DATA_PUMP_DIR';DIRECTORY_PATH--------------------------------------------------------------------------------C原创 2010-09-25 10:38:00 · 3656 阅读 · 0 评论 -
oracle sqlplus执行sql文件
<br />Oracle执行外部文件:<br />c:>sqlplus user/pwd@db<br />sql>@new.sql<br />执行多个sql文件:<br />1.把所有的文件都放在同一个目录下,然后在命令行里执行命令:<br /> c:>dir/b > d:/1.sql<br /> 会把所有的sql文件名都输出到一个sql文件中。<br />2.用UltraEdit打开生成的sql文件,alt+C切换到column mode,给所有的行前都添加一个“@”,保存。<br /转载 2010-09-21 15:36:00 · 33319 阅读 · 0 评论 -
10G custom创建数据库中安装示例方案(sample schemas)
<br />10G可能是为了提高安全性,在dbca创建数据库是,custom定制数据库后,安装示例方案的选项是灰色的,不能直接安装。<br />可通过以下方式完成。登陆到sqlplus,执行$oracle_home/demo/schemas/mkplug.sql<br />根据提示输入新建示例用户的密码,<br />元数据文件位置:$oracle_home/assistants/dbca/templates/example.dmp<br />备份数据文件位置:$oracle_home/assistants/转载 2010-09-21 15:35:00 · 2042 阅读 · 0 评论 -
ORACLE 导出,备份,exp sequence
<br />查看要备份的用户 创建sequence时的语句即可。<br /> <br />select 'create sequence '||sequence_name||<br /> ' minvalue '||min_value||<br /> ' maxvalue '||max_value||<br /> ' start with '||last_number||<br /> ' increment by '||increment_by||<br />转载 2010-09-21 11:04:00 · 3468 阅读 · 0 评论 -
ORA-00911: 无效字符 ORA-01006: 赋值变量不存在
<br />ORA-00911: 无效字符 :<br />别加 ; 号<br /> <br />sb.append("sql语句;");<br />改为:<br />sb.append("sql语句");<br /> <br /> <br /> ORA-01006: 赋值变量不存在:<br /> String query="select * from DM_MAP_"+mapIndex+" t where t.viewName='"+vName+"'";<br />System.out.println(qu原创 2010-09-20 17:27:00 · 6295 阅读 · 0 评论 -
从客户端 跟踪SQL到oracle。。
col table_name format ax;从客户端 跟踪SQL到oracle。。首先准备以下工具Oracle client:sqlplus Oracle server: 10gOS command:netstatOracle dynamic Views:v$transaction;v$session;v$sql;v$process;SQL> select addr,ses_addr from v$transaction;ADDR SES_ADDR-------- ---原创 2010-09-16 18:58:00 · 1363 阅读 · 0 评论 -
如何为在用用户更改默认表空间
<br />如何为在用用户更改默认表空间<br />下面讲一个通过修改基表的方法来修改默认表空间的方法。<br />不用通过什么imp 一类的操作。<br />create user btgl identified by btgl ;<br /><br />新建立表空间<br /><br />create tablespace btgl_dt datafile 'd:/btgl_dt.ora' size 100M;<br /><br />select * from v$tablespace;<br />查出转载 2010-09-07 17:25:00 · 3768 阅读 · 0 评论 -
ORA-01536: 超出表空间 'tablespace_name' 的空间限额
声明,解决ORA-01536错误的方法在本文最后。 1.新建表空间、用户、赋权 --新建表空间 create datablespace space_name datafile F:/ORACLE/HZASA/perfstat.dbf size 500M extent management local; --新建用户 create user user_name identi原创 2010-04-13 14:57:00 · 2511 阅读 · 0 评论 -
sqlplus 连接远程oracle数据库
点开Oracle的开始菜单,寻找相关的工具,发现一个名为:Net Configuration Assitant的工具(netca命令也可以启动),应该就是它了。启动之:Net Configuration Assitant共提供了4个配置功能:选:本地网络服务名配置 然后输入我的数据库实例SID:cjdb原创 2010-04-12 16:55:00 · 1287 阅读 · 0 评论 -
oracle调优_JOHN
前言及常用字词简介根据用户的SLA来进行调优,service level agreement....量化的要求 比如5分钟相应,5秒钟相应.等等..具体的要求进行调优.相关地址可以根据show parameter dump查看.linux 下 oracle 11g R1的alert log日志路径 /u01/diag/rdbms/cjtfs/cjtfs/tracewin 下 o原创 2009-08-27 15:42:00 · 823 阅读 · 0 评论