Oracle
文章平均质量分 56
深海之蓝
技术总监
展开
-
ORA-12520错误解决方法
ORA-12520错误解决方法ORA-12520听程序无法为请求的服务器类型找到可用的处理程序。1)数据库是专用服务器,但是在tnsname.ora配置中设置了连接方式为shared,这种情况下打开tnsname.ora, 把(server = shared) 改成 (server = dedicate) 2)是由于process不够引起的 后来查看到v$process一转载 2014-07-02 16:33:27 · 771 阅读 · 0 评论 -
ORACLE相关语法——子程序和程序包(package,function,procedure)
子程序是命名的PL/SQL块,可带参数并可在需要时随时调用。PL/SQL有两种类型的子程序,即过程和函数。过程用于执行特定的任务,函数用于执行任务并返回值。程序包是对相关类型、变量、常量、游标、异常、过程和函数的封装。程序包由包规范和包主体两部分组成。包规范是包的接口,包含公用对象及其类型。包主体实现包规范中的游标和子程序,包主体中的声明仅限于在包内使用。程序包中游标的定义分为游标规范和游标主体两转载 2009-11-24 15:58:00 · 3616 阅读 · 0 评论 -
SQL操作全集
下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE data转载 2009-05-12 17:22:00 · 469 阅读 · 0 评论 -
ORA-12520错误解决方法
ORA-12520错误解决方法 ORA-12520听程序无法为请求的服务器类型找到可用的处理程序:1)数据库是专用服务器,但是在tnsname.ora配置中设置了连接方式为shared,这种情况下打开tnsname.ora, 把(server = shared) 改成 (server = dedicate) 2)是由于process不够引起的 后来查看到v$process转载 2013-11-20 11:08:14 · 1041 阅读 · 0 评论 -
ORA-12560: TNS: 协议适配器错误
sqlplus登陆oracle时报:ora-12560 错协议适配器错误如下:C:\Users\Administrator>setORACLE_SID=xxxC:\Users\Administrator>SQLPLUS/ AS SYSDBASQL*Plus:Release 11.2.0.1.0 Production on 星期原创 2013-12-21 22:55:27 · 1237 阅读 · 0 评论 -
Oracle插入数据速度最大化
要将大量数据插入到一张表中,并尽可能的快速插入,可以使用以下方案:alter table test原创 2014-08-18 15:21:10 · 889 阅读 · 0 评论 -
Oracle 11g 密码设置为不过期
过期的原因一般有两种可能:一.由于oracle11g中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致。二.由于oracle11g中默认在default概要文件中设置了“FAILED_LOGIN_ATTEMPTS=10次”,当输入密码错误次数达到设置值将导致此问题。如果是第一种情况解决方法如下: 1、查看用户的proifle是哪个,一般是defa原创 2014-07-02 11:06:44 · 688 阅读 · 0 评论 -
将Oracle中的表结构导出到word
因为需要写数据库文档,所以需要把数据库里边的表结构在word中用表格列出来,之前一直用powerdesigner,感觉有些麻烦,后来在网上找到了一段sql语句,经测试完全符合我的需求,不敢独享,语句如下: SELECT t1.Table_Name AS "表名称",t3.comments AS "表说明", t1.Column_Name AS "字段名称",t1.Data_Type原创 2011-11-16 11:47:41 · 9200 阅读 · 3 评论 -
ArcGIS 10.1 如何连接Oracle
ArcGIS 10.1 采用直连的方式在创建数据库连接的时候需要注意,要利用工具进行创建原创 2014-08-11 15:11:31 · 3163 阅读 · 0 评论 -
Oracle 把数据导入不同的表空间
很多人在进行数据迁移时,希望把数据导入不同于原系统的表空间,在导入之后却往往发现,数据被导入了原表空间。本例举例说明解决这个问题:1.如果缺省的用户具有DBA权限那么导入时会按照原来的位置导入数据,即导入到原表空间$ imp bjbbs/passwd file=bj_bbs.dmp fromuser=jive touser=bjbbs grants=nImport: Relea原创 2015-01-22 13:15:32 · 1016 阅读 · 0 评论 -
Oracle 按照指定的时间间隔进行分组
我们在实际应用中,经常遇到这样的需求,按照每5分钟,对数据进行分组,具体的实现如下:to_char(t.datetime, 'hh24')||':'||lpad(floor(to_char(t.datetime, 'mi')/5)*5,2,0)原创 2015-07-23 15:27:08 · 6519 阅读 · 0 评论 -
Oracle 修改用户名
Oracle中,用户名是不能直接修改的,需要通过下边的语句进行:SQL> update user$ set name='MY_USER2' where name='MY_USER1';已更新 1 行。SQL> alter system checkpoint;系统已更改。SQL> alter system flush shared_pool;系统已原创 2016-01-17 19:57:02 · 1158 阅读 · 0 评论 -
sqlloader 插入默认值
在使用sqlloader的过程中,有这样一个需求,就是表中的某列需要一个默认值,例如c1列为varchar2类型,插入的时候默认插入gg字符。 网上找了一些解决办法,发现不行,例如:c1 'gg',但是刚才的语句,把gg换成数字0是可以的,所以考虑是否是字符串的原因,后来尝试用 c1 "gg"也不行。最后灵机一动,变成了 c1 "'gg'" 怕大家看不清楚,解释一下原创 2016-01-20 20:42:39 · 3868 阅读 · 0 评论 -
sqlloader timestamp 转 date
在用sqlloader把csv导入oracle的时候,经常遇到这样的问题: 给过来的csv是sqlserver导出的,时间类型是 2015-01-01 10:10:10.000 这种比较恶心的timestamp类型。而我在网上找到的解决方法中,都说要把oracle中这个列的类型设为timestamp。但是这样什么意义也没有,因为我需要的是date类型,数据量大的情况下,我也不可能先导原创 2016-01-20 20:34:46 · 2799 阅读 · 2 评论 -
oracle中,创建其他用户表的对应视图
需求是这样:在A用户下,需要批量生成B用户的所有表对应的视图。在网上找了很多例子,最后用比较容易的方法解决了。注意,不能简单的赋予A用户DBA权限,有些操作也是无效的;另外不能授权所有权限给A用户,否则A用户可以删除B用户中的表。方法如下:1.授权B用户connect,resource角色权限,再授予create any view、select any table系统权限。2.由于原创 2016-01-27 14:32:44 · 3939 阅读 · 0 评论 -
oracle user_tab_partitions中,num_rows为空的处理办法
在搜索user_tab_partitions的时候,发现有些表分区的num_rows为空,对比了其他非空的表,发现global_stats有区别,非空的是yes,空的是no。后来搜索找到了解决办法,可以进行统计。 全表分析 完全计算法: analyze table abc compute statistics; 抽样估算法(抽样20%): an原创 2016-01-28 17:20:49 · 5735 阅读 · 1 评论 -
存储过程中Create Table权限不足问题
create or replace procedure p_pname isbegin Execute Immediate 'create table tb(id number(1))';end p_pname;Oracle8i以前的版本,所有已编译存储对象,包括packages, procedures, functions, triggers, views等,只能以定义原创 2016-06-13 15:01:24 · 4163 阅读 · 0 评论 -
oracle常用函数总结
oracle常用函数总结转载 2010-09-30 09:27:00 · 564 阅读 · 0 评论 -
Oracle 如何将已经扩充的表空间缩小
在Oracle中,经常有这样的情况,由于误操作,使某个表空间过大。原创 2014-08-18 15:16:22 · 15808 阅读 · 0 评论 -
解决 Oracle em 无法打开的问题
重建em即可emca -deconfig dbcontrol db -repos dropemca -config dbcontrol db -repos createset oracle_unqname=xxx停止,开始ememctl stop dbconsoleemctl start dbconsole亲测有效。原创 2013-06-03 14:54:37 · 1546 阅读 · 0 评论 -
Oracle分区表常用命令
一、Oracle分区简介 ORACLE的分区是一种处理超大型表、索引等的技术。分区是一种“分而治之”的技术,通过将大表和索引分成可以管理的小块,从而避免了对每个表作为一个大的、单独的对象进行管理,为大量数据提供了可伸缩的性能。分区通过将操作分配给更小的存储单元,减少了需要进行转载 2011-09-20 14:50:30 · 732 阅读 · 0 评论 -
使用SQL*Loader将CSV文件数据导入ORACLE数据表
1. 环境条件与操作目标 (1) Oracle中存在一个Employee表,表中包含4个字段:emp_id numberemp_name varchar2emp_date datedpt_id number (2) 一个CSV文件emp.csv, 包含了上述表中的相关数据,字段顺序与上述 表字段相同。内容如下:转载 2013-08-15 16:27:30 · 1105 阅读 · 0 评论 -
ORA-00031: session marked for kill 处理Oracle中杀不掉的锁
ORA-00031: session marked for kill 处理Oracle中杀不掉的锁【问题与背景】一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀。1.下面的语句用来查询哪些对象被锁:selec转载 2011-06-21 09:30:00 · 719 阅读 · 0 评论 -
SqlHelper(带详细中文注释)
using System;using System.Data;using System.Xml;using System.Data.SqlClient;using System.Collections;namespace hkszyy{ /// /// SqlServer数据访问帮助类 /// public sealed class SqlHelper { #region 私有构造函数和转载 2010-05-24 22:13:00 · 759 阅读 · 0 评论 -
Oracle 11g 密码设置为不过期
过期的原因一般有两种可能:一.由于oracle11g中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致。二.由于oracle11g中默认在default概要文件中设置了“FAILED_LOGIN_ATTEMPTS=10次”,当输入密码错误次数达到设置值将导致此问题。如果是第一种情况解决方法如下: 1、查看用户的proifle是哪个,一般是defa原创 2014-08-11 21:14:27 · 1757 阅读 · 0 评论 -
完全卸载删除oracle 11G R2
1.关闭oracle所有的服务。可以在windows的服务管理器中关闭; 2.打开注册表:regedit 打开路径: 这一步中,可以用到我们在注册表清理软件一文中介绍的一款及其方便查找路径的小软件。Registry Manager HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\转载 2014-03-19 14:11:14 · 853 阅读 · 0 评论 -
System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本
System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本 收藏 在用VS.NET2005+Oracle9.2进行开发的时候,在本地测试可以通过,但是在服务器上不能实现(复制网站,发布网站都不行),报错的具体内容,没记下来,大概就是:"System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本"在网上查询了很长时间也没有见效,后来综合网上的很多方法,终于测试成功,现分享一下。出错的原因:1.虽然报的是需要安装客户转载 2011-01-11 13:57:00 · 952 阅读 · 0 评论 -
数据库操作总结
string constrfororacle = "Data Source=jxorcl; user=scott; password=oracle;"; OracleConnection oracleconn;oracleconn = new OracleConnection(constrfororacle) public void InsertMethod(){ str原创 2009-03-19 20:13:00 · 1913 阅读 · 0 评论 -
oracle imp 虚占表空间解决办法
导数据库的时候发现一个问题,使用如下命令: exp XXX/XXXX file=struct.dmp owner=XXX rows=n 将某个用户的所有表结构及相关视图,存储过程导出。其中有几个表是以时间(每日)为条件分区的大表,里面有几个亿的数据。我将该表导入新库后发现,该表中没有数据,但是表空间利用率却很高(快满了)。使用alter tablespace XXXX coalesce;原创 2012-09-12 09:37:10 · 992 阅读 · 1 评论 -
由于 ip 改变,导致 oracle dbconsole 无法启动
这几天oracle的dbconsole服务不能自动自动了,手动启动报错,提示发生错误2,网上查了很多资料都是类似如下的* 首先启动 监听器 cmd 下,执行 lsnrctl start * 尝试启动 dbconsole,查看是什么原因导致无法启动; cmd 下,执行 emctl原创 2011-07-23 14:54:14 · 1234 阅读 · 0 评论 -
数据库取表名、列名操作
OracleConnection oracleconn;SqlConnection sqlserverconn;MySQLConnection mysqlconn; string constrfororacle = "Data Source=jxorcl; user=scott; password=oracle;";string constrforsqlserver = "Se原创 2009-03-19 19:14:00 · 1869 阅读 · 0 评论 -
Oracle 11g + Win Server 2008 R2 (64) + PLSQL使用 + 更改server端字符集
1)安装Oracle 11g 64位 2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0)下载instantclient-basic-win32-11.2.0.1.0.zip (一定得是32位的,不要下错了版本,Oracle官网有下载),将其解压至Oracle安装目录的Product下(本机命名为:instantcli转载 2012-09-18 22:26:24 · 2274 阅读 · 0 评论 -
Windows中ORA-00020的解决过程
今天遇到了ORA-00020错误。下面模拟一下解决过程C:/Users/Liangwei>sqlplus user/passwordSQL*Plus: Release 11.2.0.1.0 Production on 星期日 1月 16 16:16:26 2011Copyright (c) 1982, 2010, Oracle. All rights reserved.E原创 2014-08-18 11:05:41 · 2820 阅读 · 0 评论 -
Oracle分页查询语句
Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。分页查询格式:SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM )WHERE RN >= 21其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页的原始查转载 2012-04-11 17:23:52 · 475 阅读 · 0 评论 -
Oracle 10g java.lang.Exception: Exception in sending Request :: null
Oracle 10g java.lang.Exception: Exception in sending Request :: null 问题解决 1)在目录{OracleHome}/llwinner_test/sysman/config/emd.properties; {OracleHome}为Oracle10g安装目录,llwinner_test本机名_数据库SID名,根据实际情转载 2011-04-12 10:48:00 · 1916 阅读 · 2 评论 -
oracle 恢复被覆盖的存储过程
--很多时候,存储过程一不小心就被覆盖掉了。很焦急的我们,无手可入,不知道如何恢复,google,百度,问同事啊,都没有办法解决。这里介绍一下恢复的过程,2个步骤就搞定。 --登录到sys用户下,创建临时表(600表示600秒之前的,最后一个存储过程)[sql] view plain copySQL> create table M原创 2016-07-19 10:11:11 · 2618 阅读 · 0 评论