sql
lyshensir
沈老师的技术博客
展开
-
oracle写入超过4000字符串的字段
1、创建测试表 shentestcreate table SHENTEST( ID number, NAME varchar2(100), CONTENT varchar2(2000), CONTENTNEW clob)2、写入数据直接 insert into shentest(1,'张一','这是内容','这是新内容......................超过4000字符'); 这样会报错,因为oracle默认是以varchar2来写入的。换种方式.原创 2020-05-22 17:06:05 · 3959 阅读 · 0 评论 -
oracle 误delete或update后恢复数据
1、查询删除数据前表数据--查询删除前表的数据---select * from Dxc_Goods;2、执行删除数据操作(132,133),并查看--执行删除操作:132,133--delete from Dxc_GOODS where MID in(132,133);--提交(模拟误删操作)commit;查看结果3、恢复删除并提交的数据 (指定删除时间点,...原创 2020-04-20 10:12:14 · 273 阅读 · 0 评论 -
根据pid查找正在执行的sql语句
1、先用top命令查找,记下pid是多少,比如 655752、sys用户查询:select /*+ ORDRRED */ sql_text from v$sqltext awhere (a.HASH_VALUE , a.ADDRESS ) in (select decode(sql_hash_value,0,prev_hash_value,sql_hash_value),deco...原创 2020-03-03 22:03:00 · 2407 阅读 · 0 评论 -
Oracle 通过序列 创建自增id
//创建表create TABLE MSG_SPWATER( wid number, SPID NUMBER, spempno varchar2(10), sptime date, spstatus varchar2(2), step number)//查询表结构select * from MSG_SPWATER//创建序列create sequence Spwat...原创 2020-01-02 15:19:16 · 141 阅读 · 0 评论 -
pl/sql 配置oracle环境
1、将instantclient 放到D:\oracle\instantclient_12_2 这个目录。2、然后在环境变量path里指定到这个目录。3、在pl/sql的配置里配置这个目录即可,不用设oracle_home和tns_home。见截图:...原创 2019-12-18 18:06:22 · 198 阅读 · 0 评论 -
Oracle存储过程基本语法结构
Oracle存储过程语法结构,最简单的结构了,收藏一下。create or replace procedure PRC_INTORGEMPNO_UPis|as --is或者as都可以 totalnum number; name varchar2(30);begin declare cursor cur_empno is select empno from empinf...原创 2018-12-06 10:16:59 · 343 阅读 · 1 评论 -
Oracle存储过程编译卡死的解决方法
Oracle存储过程编译卡死的解决方法解决方法如下:1:查V$DB_OBJECT_CACHESELECT * FROM V$DB_OBJECT_CACHE WHERE name='YX_KQSTA_IN' AND LOCKS!='0';注意:CUX_OE_ORDER_RPT_PKG 为存储过程的名称。发现 locks=22:按对象查出sid的值select /*+ ru...原创 2019-02-25 17:22:40 · 758 阅读 · 0 评论 -
Oracle 两表关联,只取第二个表的第一条记录,row_number()over妙用
先说场景:A表中的policyno与B表中的policyno关联,并且只取最后一名人员的zyempnoB表中的zyempno与C表中的empno关联。原来的做法是:读取表A的记录后,遍历A表中的记录,根据A中的某个关联字段如 单证号policyno ,去查询B表中的 zyempno,(A.policyno=B.policyno and B.ZYTIME是最大的)。再通过z...原创 2019-08-02 18:10:08 · 5375 阅读 · 0 评论 -
ORACLE数据泵expdp导出时,终止的办法
今天在做数据迁移的时候,expdp 参数有误,就ctrl+c终止了,本以为已经结束掉了,发现备份文件还在增长。查了资料,原来后台进程还在,正确的终止expdp的方法:select job_name,state from dba_datapump_jobs;找到 job_name:然后:Export>stop_job=immediateAre you sure yo...原创 2019-08-13 15:20:09 · 2435 阅读 · 0 评论 -
oracle 中 number类型实验
create table shentest( testcol number(7), testcol2 number(7,1), testcol3 number(7,2), testcol4 number(7,-1), testcol5 number(7,-2))select * from shentest;insert into shentest(testcol2) valu...原创 2018-08-28 13:47:24 · 277 阅读 · 0 评论 -
oracle rman 备份与恢复实验
今天学习了rman备份与恢复,先记录一下所学所得,待后续。1、首先 select * from ltjingli 查看有27条数据;2、执行 rman 备份。(1)执行rman备份,要将数据库模式改为archivelog模式。怎么修改,自行百度。(2)然后rman nocatalog进入rman 执行 connect target / 联上数据库服务器。 执行 b...原创 2018-07-13 17:08:01 · 1389 阅读 · 0 评论 -
oracle expdp/impdp 导出导入记录
因工作需要,需要前期作技术准备,目前将学习过的三种数据迁移,简单总结一下,以便后阅。1、数据库冷备份。此种方法最简单,简单来说,就是将数据库 shutdown immediate; 然后将数据库的数据目录全部备份走,一般是sid名字+Data的那个目录。缺点:需要停机,而且有个硬性要求:数据库版本必须一致,至于平台,没有测试,估计庆该不影响,只要版本一致就行。优点:傻瓜化,简单。...原创 2018-07-17 13:15:17 · 2620 阅读 · 0 评论 -
MYSQL出错1030 Got error -1 from storage engine请问怎么办?
你应该是使用的innodb,检查你的my.cnf或my.ini,里面会有一个参数innodb_force_recovery,你看看他的值,默认是没有这个参数,没有的话,他的默认值是0,这个参数的值如果大于0,innodb会被禁止使用insert、update、delete命令,你可以尝试将他的值设置为0,看看你的mysql是否正常,如果正常就用就行了。转载 2017-06-22 19:39:59 · 3428 阅读 · 1 评论 -
mysql命令行备份还原数据库
shell命令窗口下备份:mysqldump -uroot -p > d:\test.sql;shell命令窗口行下还原:mysql -uroot -ptest ------------------------------------------------------------------------------------------以下为转载内容:基本的转载 2017-09-07 11:40:09 · 1386 阅读 · 0 评论 -
SQL查询与修改数据库逻辑文件名,移动数据库存储路径示例
------------------------------------------------------------------------------------ Author : htl258(Tony)-- Date : 2010-06-26 21:51:30-- Version: Microsoft SQL Server 2008 (RTM) - 10.0.1600.2转载 2017-10-10 15:42:53 · 430 阅读 · 0 评论 -
oracle修改字符集为utf8
前阵子装了台oracle服务器,字符集貌似忘记更改了,今天用的时候发现中文乱码,一查原来字符集不对,以下是更改过程,特此记录一下:1、首先查看服务器端的字符集设置。select * from nls_database_parameters;select userenv('language') from dual;2、如果不对,开始修改:在SQL*PLUS 中,以DBA登录原创 2018-01-05 13:53:49 · 2829 阅读 · 0 评论 -
oracle存储过程导出txt文件
今天看了很多文章,有个需求,需要用存储过程导出txt文件出来。oracle是在centos6.8上安装的分几个步骤:1,创建输出路径,比如你要在c盘test目录下输出,你就先要建立好这个test路径2,sqlplus下以sysdba登录,执行以下语句3,create or replace directory MY_DIR as '/home/shen/test';4,gra原创 2018-01-17 18:54:27 · 3145 阅读 · 0 评论 -
oracle数据库大批量update操作记录
今天在操作Oracle里两个表的数据时,遇到个问题,记录一下A表是源表,B表是复制过来的表1、create table B as select * from A,创建B表2、清空B表某个字段的值,update B set col='' ,然后 更改表B某个字段的数据类型3、然后将B表的数据更新与原来的一样,此时,如果用update B set B.kqid=(select A.原创 2018-02-06 11:49:48 · 9171 阅读 · 0 评论 -
linux环境下oci8扩展成功,然而还是联不上oracle数据库?
今天一台服务器的环境搭好之后,oci也扩展成功了,在phpinfo界面也显示了。但是正确的代码确始终联不上oracle数据库,直接报404错误,贴上代码:<?php// Connects to the XE service (i.e. database) on the "localhost" machine$db = "(DESCRIPTION =(ADDRESS_LIST =(ADDR...原创 2018-03-15 18:04:23 · 1139 阅读 · 0 评论 -
Oracle job不自动执行
修改 job_queue_processes 参数;SQL> show parameter job;NAME TYPE------------------------------------ ----------------------VALUE------------------------------job_qu...原创 2018-04-25 12:08:19 · 1520 阅读 · 0 评论 -
linux php通过odbc连接mssql
安装unixODBC# tar -zxvf unixODBC-2.3.4.tar.gz# cd unixODBC-2.3.4# ./configure --prefix=/usr/local/unixODBC --includedir=/usr/include --libdir=/usr/lib -bindir=/usr/bin --sysconfdir=/etc# make &&a...原创 2018-05-11 11:22:27 · 1189 阅读 · 0 评论 -
sql server 连接 oracle 总结
近期遇到个项目,需要抓取oracle的数据到sql里,,然后就需要sqlserver去联oracle...下面是艰辛的历程1、配置oracle客户端tnsnames19318ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.61.193.18)(PORT原创 2017-06-05 17:09:12 · 294 阅读 · 0 评论