Oracle
MartinYangHJ
我的一天天
展开
-
Mysql慢查询的优化案例(二)
一、创建索引1.CREATE INDEX在执行CREATE TABLE语句时可以创建索引,也可以单独用CREATE INDEX或ALTER TABLE来为表增加索引。1、ALTER TABLEALTER TABLE用来创建普通索引、UNIQUE索引或PRIMARY KEY索引。ALTER TABLE table_name ADD INDEX index_name (column_list)ALTER TABLE table_name A...原创 2022-04-25 12:00:53 · 166 阅读 · 0 评论 -
SQL语句case when中else的添加与否的区别
(1)如下SQL语句,有elseselect case satisfaction WHEN 1 THEN '满意' WHEN 2 THEN '不满意' ELSE '无' ENDas satisfaction_namefrom table查询结果:(2)如下SQL语句,没有elseselect case satisfaction WHEN 1 THEN '满意' ...原创 2020-11-25 10:39:02 · 13351 阅读 · 0 评论 -
Oracle12c安装时的问题:创建TableSpace和用户的时候与11g的代码命令一样
在安装完Oracle12c之后,需要往Oracle12c中导入数据库,但是在创建TableSpace和用户的时候会发现老是出现问题,这是由于Oracle12c与Oracle11g的数据库架构不一样了,如果不做任何操作,直接继续用Oracle11g的命令创建TableSpace和用户的话就会出现问题。解决方法如下: 在安装Oracle12c时,将一个默认选中的项取消掉就可以了,见原创 2016-09-30 16:31:18 · 1047 阅读 · 0 评论 -
同机安装Oracle11g和Oracle12c后会出现连接问题
在一台电脑上先安装了Oracle11g,然后又安装了Oracle12c,再次用VS连接Oracle11g的时候会出现连接不上的问题,解决方法如下:1.打开Oracle11g或者Oracle12c的Universal Installer 2.选择“已安装产品(P)” 3.选择“环境” 4. 会发现在PATH环境变量里面Oracle12c的是在上面,Oracle11原创 2016-09-30 16:13:02 · 11653 阅读 · 0 评论 -
【系统Configmachine.config与自己的应用程序的App.config/Web.Config配置节点重复】解决方法
自己的应用程序的App.config或Web.Config文件中与系统的C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config文件以下内容重复: <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAc原创 2016-09-29 14:59:29 · 3144 阅读 · 0 评论 -
oracle如何导入数据库
以下是导入数据库的命令:首先执行 drop user CHINESE cascade; 再执行,CREATE TABLESPACE CHINESE--建立表空间 LOGGING DATAFILE 'D:\app\Administrator\oradata\CHINESE\DEMO_20151015.DBF' SIZE 1G--单引号中的文件为随机文件,可以自行指定位置 AU原创 2015-10-16 13:52:52 · 488 阅读 · 0 评论 -
数据库表名、字段名限制长度
Oracle 的命名规则:1、要以字母开头2、包含字母和数字,以及# $3、不能超过30个字符数据库表名、字段名的长度限制: 数据库 表名 列名 Oracle 30 30 Mysql原创 2016-09-06 16:25:47 · 5325 阅读 · 0 评论 -
oracle12c 报错: ora01792 表或视图中的最大列数为1000
安装好Oracle12C,使用SQL语句进行查询时,当查询的列没有达到1000,但是关联的表过多,关联表的总列数达到或超过了1000的话,会报上面的错误。解决方案如下: 用SysDba登录,执行以下这句话就可解决:alter system set "_fix_control"='17376322:OFF'; 这是Oracle12C的一个Bug,也可到官网去下载解决这个Bug原创 2016-10-24 19:14:50 · 9719 阅读 · 0 评论 -
用Toad for Oracle 修改数据库颜色
如下图,画面中的颜色有时候自己不喜欢的话,可以进行修改。方法如下: 在画面点击右键,点击红色圈中的菜单。打开菜单后,就可以设置画面的颜色了。如下图:原创 2016-10-27 18:32:26 · 5344 阅读 · 0 评论 -
数据库增加或删除一列
删除一个字段:alter table table_name drop column 字段名。增加一个字段格式:alter table table_name add column (字段名 字段类型); ----此方法带括号指定字段插入的位置:alter table table_name add column 字段名 字段类型 after 某字段;原创 2016-11-01 18:39:54 · 805 阅读 · 0 评论 -
Toad导出Oracle数据库
如何利用数据泵导入导出Oracle数据库,详见下图:1.打开“开始”菜单,在运行框中输入CMD,点击确定2.输入“SQLPLUS”,然后点击回车键 3.运行以下命令: system/密码@账号,此账号和密码是指数据库所在服务的账号和密码 4.创建数据导出目录Exp_Data为目录名,'D:\Exp_Data'为要将导出的数据库文件所放位置的实原创 2017-03-27 15:41:27 · 1375 阅读 · 1 评论 -
SQL中“||”的作用
看以下SQL语句,RTRIM (table1.string) || ' ' || (SELECT stringNM FROM table2 WHEREtable2.string = table1.string)其中的 || 是什么意思呢?该SQL语句中||的原创 2017-03-16 17:43:43 · 56190 阅读 · 1 评论 -
SQL语句中的日期问题一
1.在Update时的DATE类型的数据处理 a.当需要更新的数据是DATE类型的时候,按照如下方式处理: UPDATE TableA SET TABDATE1=to_date('19500101','yyyymmdd'); to_date()括号中所写的数据前后一定要对应,例如to_date('19500101','yyyymmdd');to_date('1950-01-0原创 2015-11-02 14:33:50 · 621 阅读 · 0 评论 -
未在本地计算机上注册OraOLEDB.Oracle.1的程序
一、现象: C#程序中需要以Provider=OraOLEDB.Oracle.1方式访问ORACLE数据库。但程序执行时报异常:未在本地计算机注册“OraOLEDB.Oracle.1”的程序二、解决方法 服务器ORACLE为11g。需要人工命令行注册一下,打开CMD,然后输入以下代码: regsvr32 D:\app\yanghongjie\product原创 2016-09-18 15:09:24 · 9436 阅读 · 0 评论 -
Oracle中的创建和删除
drop user ORACLE1 cascade;drop tablespace ORACLE1 including contents and datafiles cascade constraints;CREATE TABLESPACE ORACLE1 LOGGING DATAFILE 'E:\app\yanghongjie\oradata\oracle原创 2016-09-18 12:25:52 · 231 阅读 · 0 评论 -
ORACLE在新服务中建立数据库
在Database Configuration Assitant建立一个新的服务之后,往往需要在新的服务里面添加新的数据库,如何通过sqlplus在新的服务里面添加新的数据库呢,答案如下:上面图片中的system是系统用户名,需要从这里进入oracle新建立的服务。"/"注意是“/”。再次,是在Database Configuration Assitant时设置的系统所有数据库的统原创 2015-10-19 10:10:46 · 313 阅读 · 0 评论 -
Win7上安装32位Oracle客户端错误解决方法:[INS-30131] 执行安装程序验证所需的初始设置失败
当需要在Win7上安装32位的Oracle客户端时,有时会出现以下错误:解决方法如下:1.首先将“控制面板\所有控制面板项\管理工具\服务\SERVER”这一个服务启动。如下图:2.打开“控制面板\所有控制面板项\管理工具\计算机管理\系统工具\共享文件夹”。如下图:3.右键单击“共享文件夹”下的“共享”,选择“新建共享”。如下图:4.在出现原创 2015-10-28 15:45:36 · 2880 阅读 · 0 评论 -
如何更新同一张表的两个以上的字段
当更新同一张表的两个以上的字段时,在SQL语句中需要将各个字段通过“,”进行连接。例如,UPDATE TEST SET a= '11 ',b = '22 ',c='33' WHERE ID=1,可以将数据成功更新如果将各个字段通过“AND”进行连接,是无法更新数据的。例如,UPDATE TEST SET a= '11 ' AND b = '22 ' AND c='33'原创 2015-10-14 15:33:55 · 1085 阅读 · 0 评论 -
Oracle中的sysdate,newid()
Oracle中的sysdate的时间是服务器的时间,不是网络时间,如果需要和网络时间一样的话,需要将服务器的时间调成跟网络时间一致。Oracle生成全球唯一标识的方法是newid();原创 2015-10-14 14:21:29 · 2441 阅读 · 0 评论 -
OLTP 联机事务处理
OLTP也叫联机事务处理,表示事务性非常高的系统,一般都是高可用的在线系统,以小的事务以及小的查询为主,评估其系统的时候,一般看其每秒执行的Transaction以及Execute SQL的数量。典型的OLTP系统有电子商务系统、银行、证券等。原创 2015-09-22 13:48:04 · 558 阅读 · 0 评论 -
Oracle中语句中的”&“和单引号” ' “
当Oracle的SQL语句中有”&“时,执行SQL语句时会报错,解决方法如下:1.当在SQLPLUS中执行SQL语句时,只需在执行语句前,首先执行一下以下的语句:SQL>Set define OFF;只需执行一次即可连续导入数据,直到重新设置define ON为止。2.当在Toad中执行SQL语句时,解决方法如下:Insert into TableA (FIel原创 2015-11-03 17:14:57 · 553 阅读 · 0 评论 -
预读、物理读、逻辑读
预读:在查询计划生成过程中,用估计信息,将数据从硬盘读取到缓存中。例如,预读1250次,也就是估计将要从硬盘中读取了1250页数据并放到缓存中。物理读:查询计划生成好以后,如果缓存缺少所需要的数据,再从硬盘中读取缺少的数据到缓存中。逻辑读:从缓存中读出所有数据。逻辑读1240次,也就是从缓存里读取到1240页数据。原创 2015-09-22 11:50:59 · 532 阅读 · 0 评论 -
Oracle建立实例时报【ORA-12638: 身份证明检索失败解决方法】错误的解决方法
此错误是出现在使用Database Configuration Assistant创建数据库实例时出现的。解决方法如下: 在“配置和移植工具”->“Net Manager”->“本地”->“概要文件”->“Oracle高级安全性”->“验证”里将“所选方法”下的“NTS”移除即可。如下图: 使“所选方法”下面为空即可:原创 2015-12-09 10:17:50 · 1211 阅读 · 0 评论 -
Toad中的快捷键
Toad中常用快捷键 F4 看表的结构 F5 执行对话框中的SQL,注意最后需要以;结尾 F7 清除当前编辑框中所有的sql F8 查看历史的sql语句 F9 执行当前行的sql F10 看菜单 Ctrl + F12 保存sql为文档 Ctrl +. 补全table_name Ctrl + t 补全tabl原创 2015-12-10 13:27:32 · 1297 阅读 · 0 评论 -
Oracle监听服务没有
文章标题说的“Oracle监听服务没有”是指在安装完成Oracle数据库后,在“计算机”->“管理”->“服务”里面没有“OracleOraDb11g_home1TNSListener”。在此情况下,需要在Oracle的“Net Configuration Assistant”中重新配置一下监听程序。原创 2015-12-03 15:10:53 · 4911 阅读 · 0 评论 -
SQL中DISTINCT的用法
在写SQL语句时, 查询出的值可能会包含重复值。这并不成问题,不过,有时也希望仅仅列出不同(DISTINCT)的值。关键词DISTINCT用于返回唯一不同的值。如果使用了 SELECT DISTINCT,那么 ORDER BY 子句中列出的项就必须出现在选择列表中,否则会出现错误。例如SQL语句:SELECT DISTINCT Company FROM Table_原创 2016-07-12 18:44:14 · 527 阅读 · 0 评论 -
SQLPLUS登录oracle方式
SQLPlus在连接时通常有四种方式1.sqlplus / assysdba 操作系统认证,不需要数据库服务器启动listener,也不需要数据库服务器处于可用状态。比如我们想要启动数据库就可以用这种方式进入 sqlplus,然后通过startup命令来启动。2.sqlplus username/password原创 2015-10-16 18:11:32 · 488 阅读 · 0 评论 -
Oracle查询前10条数据
oracle中查询前10条数据与sql server不同。sql server:SELECT top 10 * FROM EMP ORDER BY sal DESC;在sql server里是使用top来表示前10条的信息。oracle:SELECT * FROM EMP WHERE ROWNUM <= 10 ORDER BYsal DESC;在ora原创 2015-12-07 15:48:54 · 77666 阅读 · 0 评论 -
Truncate、Drop与Delete区别
Truncate table 与delete table相比有以下几个不同点: 1. Delete每删除一行,都会将操作过程记录在事务日志文件中,而truncate不会,所以truncate table删除所有记录快,但删除之后无法用事务日志文件恢复. 2. Delete删除记录时,会先将表中的各行锁定,才能删除,而truncate只锁定表和页. 3. 用truncate table删原创 2015-12-07 18:40:18 · 306 阅读 · 0 评论 -
Oracle常用系统表
1.dba_开头 dba_users 数据库用户信息dba_segments 表段信息dba_extents 数据区信息dba_objects 数据库对象信息dba_tablespaces 数据库表空间信息dba_data_files 数据文件设置信息dba_temp_files 临时数据文件信息dba_rollback_segs 回滚段信息dba_ts_quo原创 2015-12-04 16:26:57 · 231 阅读 · 0 评论 -
根据入职日期查询表中第5个到第10个入职的员工(员工编号唯一,但不一定连续)
方法一 SELECT * FROM (SELECT ROWNUM R,ENAME,JOB,SAL ① FROM EMP WHERE ROWNUM②WHERE R>4 ③ORDER BY HIREDATE先用子查询查出前10行的数据,然后再从查出来的这10行中查询出所需要的数据。原创 2015-12-04 15:14:48 · 2240 阅读 · 0 评论 -
数据库分页查询(sql server)
程序如下:alter PROC pageing @pageIndex INT,--页索引 @pageSize INT --每页几条 AS SELECT empno,ename,job,ISNULL(mgr,0),sal,isnull(HIREDATE,GETDATE()),ISNULL(comm,0),isnull(DEPTNO,0) FROM (原创 2015-12-04 14:51:49 · 343 阅读 · 0 评论 -
Oracle中的部分查询
1.查询所有视图 SELECT * FROM user_views;2.查询所有触发器 SELECT * FROM DBA_SOURCE WHERE TYPE='TRIGGER'; 或者 SELECT * FROM USER_SOURCE WHERE TYPE='TRIGGER';3.查询所有存储过程 SELECT * FROM USER_SOURCE WHE原创 2015-12-04 16:26:23 · 455 阅读 · 0 评论 -
ORACLE“监听程序未启动或数据库服务未注册到该监听程序”解决方法
Database Configuration Assitant建立完一个数据库后,若报出以下错误,可以手动解决。方法如下:1.打开oracle的“Net Manager”2.打开“监听程序”3.打开“数据库服务”4.点击“添加数据库”5.填写相关信息“全局数据库名”和“SID”填写在“Database Configuration As原创 2015-10-16 14:24:54 · 26674 阅读 · 1 评论