客户Oracle服务器进入PL/SQLDeveloper时报ora-01033:oracleinitializationgorshutdowninprogress错误提示,应用系统无法连接Oracle服务。经远程指导解决问题。过程如下:1、进入CMD,执行setORACLE_SID=fbms,确保连接到正确的SID;2、运行sqlplus"/assysdba"SQL>shutdownimmediate停止服务SQL>startup启动服务,观察启动时有无数
系统 2019-08-12 01:54:32 2410
以前建序列时从来没注意过这个选项,总是认为序列就一定是有序的,今天被人问道才注意了一下。原来是在Oracle并行服务器上用到的,我理解是不是在并行情况下,如果序列是noorder的,则取序列号时,先发出命令的实例不一定能取到大的序列。在决大多数情况下是用不到的。CREATESEQUENCEcommandPURPOSE:Tocreateasequence.Asequenceisadatabaseobjectfromwhichmultipleusersmayg
系统 2019-08-12 01:54:15 2410
概念:高级队列(AdvancedQueue,简称AQ):高级队列是oracle的一种高级应用,它主要是表和触发器之间的组合而成的一种应用。其主要作用是在各应用系统中进行消息传递。目的:利用高级队列来实现消息在两个不同数据库之间的异步传输,满足业务系统的改造需求。基本环境:DB1:Oracle10gVersion10.2.0.4.0DB2:Oracle10gVersion10.2.0.4.0基本组成:发送方(DB1):Queuetype:决定发送消息的类型Q
系统 2019-08-12 01:54:44 2409
Oracle数据库:刚做一张5000万条数据的数据抽取,当前表同时还在继续insert操作,每分钟几百条数据。该表按照时间,以月份为单位做的表分区,没有任何索引,当前共有14个字段,平均每个字段30个字节。当前表分区从201101到201512每月一个分区测试服务器:xeno5650,32核cpu,win2003操作系统,物理内存16G;测试工具plsql1.最开始的查询:string.Format(@"select*from(selectr.id,r.c
系统 2019-08-12 01:52:59 2409
每个Oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。Oracle角色(role)就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。数据库系统权限(DatabaseSystemPrivilege)允许用户执行特定的命令集。例如,CREATETABLE权限允许用户创建表,GRANTANYPRIVILEGE
系统 2019-08-12 01:51:56 2409
oracle在创建表时和其他的数据库有点不一样,如SQLSERVER可以在int类型的字段后加上identity(1,1),该字段就会从1开始,按照+1的方式自增,将这个字段设置为主键,有利于我们进行数据的插入操作。MySql中可以使用“auto_increment”即可。但是oracle有点麻烦,需要使用序列和触发器达到目的。首先我们创建一个员工表。createtableemployee(Idint,DeptNonumber,EmpNonumber,En
系统 2019-08-12 01:32:56 2409
触发器是指存放在数据库中,并且被隐含执行的存储过程。当发生特定事件时,Oracle会自动执行触发器的响应代码。触发器的种类可划分为4种:1.数据操纵语言(DML)触发器、2.替代(INSTEADOF)触发器、3.数据定义语言(DDL)触发器、4.数据库事件触发器。数据操纵语言(DML)触发器:简称DML触发器,是定义在表上的触发器,创建在表上。由DML事件引发的触发器,编写DML触发器时的两点要素是:1.确定触发的表,即在其上定义触发器的表。2.确定触发的
系统 2019-08-12 09:30:20 2408
deleteFROMtablenameaWHERErowid>(SELECTmin(rowid)FROMtablenamebWHEREb.id=a.idandb.name=a.name);select*FROMtablenameaWHERErowid>(SELECTmin(rowid)FROMtablenamebWHEREb.id=a.idandb.name=a.name);oracle查询、删除表中相同的数据
系统 2019-08-12 01:55:02 2408
创建同义词conntt/bitservice@sw00058;grantselectonvw_rightpeopletoaccount;//先授权connaccount/bitservice@sw00058;createorreplacesynonymvw_rightpeoplefortt.vw_rightpeople;//创建同义词exp1:connectpubr/bitservice@account;grantselectonorgpeopletoac
系统 2019-08-12 01:54:51 2408
Oracle解锁Recordislockedbyanotheruser?selectt2.username,t2.sid,t2.serial#,t2.logon_timefromv$locked_objectt1,v$sessiont2wheret1.session_id=t2.sidorderbyt2.logon_time;--查看锁--altersystemkillsession'sid,serial#';--把锁给KILL掉altersystemki
系统 2019-08-12 01:54:20 2408
自己搞报表,数据量比较海的时候就不能一次性查询出来,要分段才可以,我们采用rownum伪列进行查询,伪列有个特点只能从1开始,想实现x>10andx<20不能按照常规的那种一条sql搞定,必须要双层嵌套才可以的,这个算是个经验吧,同理,求和sum(某列)的时候,如果想查找从第100行到第200行的数据某列之和的时候,你也要嵌套一下,betweenand是不行的...1.最佳oracle分页sql1oracle分页sql分段查数据和分段求和sql语句和jav
系统 2019-08-12 01:52:23 2408
本系列文章导航[Oracle]高效的PL/SQL程序设计(一)--伪列ROWNUM使用技巧[Oracle]高效的PL/SQL程序设计(二)--标量子查询[Oracle]高效的PL/SQL程序设计(三)--Package的优点[Oracle]高效的PL/SQL程序设计(四)--批量处理[Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集[Oracle]高效的PL/SQL程序设计(六)--%ROWTYPE的使用Oracle支持通过ref游
系统 2019-08-12 09:29:56 2407
一、数据库名1.数据库名的概念数据库名(db_name)就是一个数据库的标识,就像人的身份证号一样。如果一台机器上装了多全数据库,那么每一个数据库都有一个数据库名。在数据库安装或创建完成之后,参数DB_NAME被写入参数文件之中。数据库名在$ORACLE_HOME/admin/db_name/pfile/init.ora文件中############################################DatabaseIdentification
系统 2019-08-12 01:53:52 2407
1.启动服务OracleDBConsoleorclOracle企业管理器服务OracleOraDb10g_home2iSQL*PlusOracle的T-SQL服务OracleServiceORCLoracle的数据库实例服务OraclOraDb10g_home1TNSListener数据库监听服务如果使用DBCA来创建一个数据库则会多出一个数据库实例的服务比如数据库名为:MyScool服务名称为:oraclejobSchedulerMyschool,Ora
系统 2019-08-12 01:53:17 2407
3、连接数据库服务器(1)启动服务器端监听器与数据库服务Linux/Unix下,启动监听器:$lsnrctlstart关闭监听器:$lsnrctlstop查看监听状态:$lsnrctlstatus启动数据库:$sqlplus/nologSQL>connsys@myoracleassysdba--这里的myoracle是前面配置的客户端本地服务名或SQL>conn/assysdbaSQL>startupWindows下,启动监听器:C:lsnrctlstar
系统 2019-08-12 01:51:50 2407