标签 删除 下的文章

ORA-01940: 无法删除当前连接的用户处理

Oracle11gR2删除用户时报错如下:

SQL> drop user HONGSINC CASCADE;
drop user ODI_SRC CASCADE
*
第 1 行出现错误:
ORA-01940: 无法删除当前连接的用户

ORA-01940是因为要删除的用户,还存在连接无法删除,解决方法如下:
查看当前用户的连接:

select username,sid,serial# from v$session where username='HONGSINC';
USERNAME                                                            SID    SERIAL#
------------------------------------------------------------ ---------- ----------
HONGSINC                                                             127       185
HONGSINC                                                             246       195
HONGSINC                                                             366       183

删除用户的sid,和serial:

SQL> alter system kill session'127,185';

系统已更改。

SQL> alter system kill session'246,195';

系统已更改。

SQL> alter system kill session'366,183';

系统已更改。

删除用户:

SQL> drop user HONGSINC CASCADE;
用户已删除。

如果在drop后还提示ORA-01940:无法删除当前已链接的用户,说明还有连接的session,可以通过查看session的状态来确定该session是否被kill了,
用如下语句查看:status为要删除用户的session状态,如果还为inactive,说明没有被kill掉,如果状态为killed,说明已kill。

select saddr,sid,serial#,paddr,username,status from v$session where username ='HONGSINC';

Docker删除镜像报错处理

执行docker rmi $(docker images -aq)时出现:

Error response from daemon: conflict: unable to delete b023f9be0651 (must be forced) - image is referenced in multiple repositories
Error response from daemon: conflict: unable to delete b023f9be0651 (must be forced) - image is referenced in multiple repositories
Error response from daemon: conflict: unable to delete b023f9be0651 (must be forced) - image is referenced in multiple repositories
Error response from daemon: conflict: unable to delete 82098abb1a17 (must be forced) - image is referenced in multiple repositories
Error response from daemon: conflict: unable to delete c8b4909d8d46 (must be forced) - image is referenced in multiple repositories
Error response from daemon: conflict: unable to delete c8b4909d8d46 (must be forced) - image is referenced in multiple repositories

使用docker images ls查看发现相同的Image ID有两个不同的Tag,删除时须指定使用仓库加Tag才能删除,直接用IMAGE ID因为重复故不能删除;

docker rmi hyperledger/fabric-peer:latest 
docker rmi hyperledger/xxxx:2.0.1

JS弹出确认删除的提示信息

在后台管理系统中,在一些重要操作如删除按钮或连接被触发时,应给予弹窗提示,常用的代码有以下几种:
用户点击删除按钮时,弹出一个确定框,如果用户点击“确定”执行删除操作,否则不执行
1、通过链接来删除数据出现提示

<a href="del.php?id=1" onclick="return confirm('您确定删除该记录吗?')">删除</a>

2、通过提交表单来删除,也就是批量删除多条数据

<script type="text/javascript"> 
function DelFromLst(){  
        if(confirm('确认删除已选择数据吗?')){
          document.selform.action.value='batdel';
          document.selform.submit();
        }
}
</script>

这里的按钮是 button类型的,不是submit。

<input type="button" name="delbtn" value="批量删除" /> 

3、直接使用js方法

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>确认是否删除</title> 
<script type="text/javascript"> 
function del(){ 
if(!confirm("确认要删除?")){ 
window.event.returnValue = false; 
} 
} 
</script> 
</head> 
<body> 
<a href="http://www.baidu.com" onclick="return del()">删除</a> 
</body> 
</html>

MySQL删除数据库中的所有表的两个方法

快速删除MySQL数据库中的所有表的两个方法:

1、最简单的方法,最方便的方法:

删除数据库,然后重新建立一个空数据库

2、但是有删除所有表的方法

(1)使用concat函数产生删除表的sql语句,

select concat("DROP TABLE IF EXISTS ", table_name, ";") from information_schema.tables where table_schema="Your_database_name";

(2)执行sql语句

DROP TABLE IF EXISTS aws_active_data;
DROP TABLE IF EXISTS aws_answer;
DROP TABLE IF EXISTS aws_answer_comments;
DROP TABLE IF EXISTS aws_answer_thanks;
DROP TABLE IF EXISTS aws_answer_uninterested;
DROP TABLE IF EXISTS aws_answer_vote;
DROP TABLE IF EXISTS aws_approval;
DROP TABLE IF EXISTS aws_article;
DROP TABLE IF EXISTS aws_article_comments;
DROP TABLE IF EXISTS aws_article_vote;
DROP TABLE IF EXISTS aws_attach;
DROP TABLE IF EXISTS aws_category;
DROP TABLE IF EXISTS aws_column;
DROP TABLE IF EXISTS aws_column_focus;
DROP TABLE IF EXISTS aws_draft;
DROP TABLE IF EXISTS aws_edm_task;
DROP TABLE IF EXISTS aws_edm_taskdata;
DROP TABLE IF EXISTS aws_edm_unsubscription;
DROP TABLE IF EXISTS aws_edm_userdata;
DROP TABLE IF EXISTS aws_edm_usergroup;
DROP TABLE IF EXISTS aws_education_experience;
DROP TABLE IF EXISTS aws_favorite;

附concat函数使用方法:
CONCAT(str1,str2,…)

返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。

注意:
如果所有参数均为非二进制字符串,则结果为非二进制字符串。
如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。
一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如:

SELECT CONCAT(CAST(int_col AS CHAR), char_col)

MySQL的concat函数可以连接一个或者多个字符串,如

mysql> select concat('10');
+--------------+
| concat('10') |
+--------------+
| 10   |
+--------------+
1 row in set (0.00 sec)
mysql> select concat('11','22','33');
+------------------------+
| concat('11','22','33') |
+------------------------+
| 112233 |
+------------------------+
1 row in set (0.00 sec)

MySQL的concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL
mysql> select concat('11','22',null);
+------------------------+
| concat('11','22',null) |
+------------------------+
| NULL   |
+------------------------+
1 row in set (0.00 sec)

MongoDB删除集合db.collection.drop

MongoDB 的 db.collection.drop() 用于从数据库中删除集合,删除集合collection语法如下:

db.COLLECTION_NAME.drop()

首先,检查数据库 test 中可用的集合。

>use test
switched to db test
> show collections
mycol
mycollection
newcollection

现在删除名称为 mycollection 的集合。

>db.mycollection.drop()
true

再次检查当前数据库的集合列表,如下 -

> show collections
mycol
newcollection

如果选定的集合成功删除,drop()方法将返回true,否则返回false。

python逐行删除文件

要删除的文件在一个txt文件里面,每行一个地址,直接使用readline然后调用系统命令删除,脚本如下

#!/usr/bin/env python
#-*- coding:utf-8 -*-
import sys
import os
myfile = codecs.open("del.txt","rw","utf-8")
line = myfile.readline()
while line:
    print line,
    line = line.strip('\n\r') #去除每行的换行符
    os.system('rm -rf %s' % (line))  
    line = myfile.readline()
myfile.close()

删除用户ORA-01940: cannot drop a user that is currently connected解决方法

出现场景:Oracle删除用户时报错

SQL〉DROP USER USERXXXX CASCADE

ERROR:ORA-01940: cannot drop a user that is currently connected

由于当前用户正连接到数据库,所以无法删除

解决办法:

1、查询此用户的会话进程,

SQL〉SELECT SID,SERIAL# FROM V$SESSION WHERE USERNAME='USERXXXX';

SID SERIAL#
---------- ----------
98 27341
23 18117

2、结束此用户的所有会话

SQL>ALTER SYSTEM KILL SESSION '98,27341';

System altered.

SQL>ALTER SYSTEM KILL SESSION '23,18117';

System altered.

如果没有发现会话.要就要看是不是自己当前有没有使用这个用户.

3、删除用户

SQL〉DROP USER USERXXXX CASCADE;

MySQL查询重复记录、删除重复记录方法

1、查找全部重复记录

Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)  

2、过滤重复记录(只显示一条)

Select * From 表 Where ID In (Select Max(ID) From 表 Group By Title)     #显示ID最大一条记录

3、删除全部重复记录

Delete 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)  

4、删除全部重复记录保留最大ID最大一条记录

Delete 表 Where ID Not In (Select Max(ID) From 表 Group By Title)    #保留ID最大一条记录

---阅读剩余部分---

binlog开启与删除及参数说明

MySQL Server 有四种类型的日志——Error Log、General Query Log、Binary Log 和 Slow Query Log。

Error Log:错误日志,记录 mysqld 的一些错误。
General Query Log:一般查询日志,记录 mysqld 正在做的事情,比如客户端的连接和断开、来自客户端每条 Sql Statement 记录信息;如果你想准确知道客户端到底传了什么给服务端,这个日志就非常管用了,不过它非常影响性能。
Binary Log:就是Binlog 了,包含了事件,这些事件描述了数据库的改动,如建表、数据改动等,也包括一些潜在改动,比如DELETE FROM ran WHERE bing = luan,然而一条数据都没被删掉的这种情况。除非使用 Row-based logging,否则会包含所有改动数据的 SQL Statement,Binlog 就有了两个重要的用途——复制和恢复。
Slow Query Log:慢查询日志,记录一些查询比较慢的 SQL 语句——这种日志非常常用,主要是调优用的。

启用 Binlog

通常情况 MySQL 是默认关闭 Binlog 的,
log-bin = /data/mysql/binlog/mybinlog #开启binlog
这里的 log-bin 是指以后生成各 Binlog 文件的前缀,比如上述使用mybinlog,那么文件就将会是mybinlog.000001、mybinlog.000002 等。






---阅读剩余部分---

Oracle删除归档日志

1、切换oracle用户

su - oracle

2、登录 ramn

rman target /

3、查看归档日志列表

RMAN> list archivelog all; 

查看失效的归档日志列表:

RMAN> list expired archivelog all;

4、删除归档日志

delete archivelog all completed before 'sysdate-10';    删除十天前的日志
delete force archivelog all completed before 'sysdate-10';  sysdate-10,表明当前的系统时间7天前,before关键字表示在10天前的归档日志。
delete archivelog all; 删除全部归档日志
delete noprompt force archivelog all; 日志爆了,用以上命令可能不起作用,行删除所有日志

5、删除物理文件不存在的归档日志

RMAN> crosscheck archivelog all; 检查控制文件和实际物理文件的差别。
RMAN> delete expired archivelog all; 同步控制文件的信息和实际物理文件的信息。

下面的命令用于校验归档日志的有效性,列出无效的归档日志,以及以何种方式清除归档日志,列出几种常用的:

DELETE NOPROMPT ARCHIVELOG UNTIL TIME "TO_DATE('XXXX-XX-XX','YYYY-MM-DD')";

delete noprompt archivelog until time "to_date('2016-09-14 18:00:00','YYYY-MM-DD ')"
    
crosscheck archivelog all;                            --->校验日志的可用性

list expired archivelog all;                          --->列出所有失效的归档日志

delete archivelog until sequence 16;                  --->删除log sequence为16及16之前的所有归档日志

delete archivelog all completed before 'sysdate-7';    --->删除系统时间7天以前的归档日志,不会删除闪回区有效的归档日志

delete archivelog all completed before 'sysdate - 1';  --->同上,1天以前的

delete archivelog from time 'sysdate-1';              --->注意这个命令,删除系统时间1天以内到现在的归档日志

delete noprompt archivelog all completed before 'sysdate';  --->该命令清除所有的归档日志

delete noprompt archivelog all;                              --->同上一命令  

最新

分类

归档

评论

其它