oracle数据库释放process,process不释放,检查脚本

select INST_ID,count(*) from gv$session group by INST_ID;

select INST_ID,count(*) cnt from gv$session where status='INACTIVE'  group by INST_ID order by cnt desc;

select INST_ID,count(*) cnt from gv$process group by INST_ID;

==============

select USERNAME,PROGRAM,PNAME,count(*) cnt from v$process group by USERNAME,PROGRAM,PNAME order by cnt;

select count(*)  from  v$session where status='INACTIVE'

select  program,machine,count(*) cnt from  v$session where status='INACTIVE' group by program,machine order by cnt;

统计1521信息

netstat -antpl|grep 1521 |awk '{print $5}'|awk -F: '{a[$1]++;}END{for(i in a) print i,a[i]}'|sort -n -k 2

删除空的process:

set linesize 1000

set pagesize 0

select 'kill -9 '||a.SPID,a.PROGRAM,a.USERNAME FROM V$PROCESS A, V$SESSION B WHERE A.ADDR=B.PADDR(+) and  b.username is null  and  a.USERNAME='grid';

select b.sid,b.serial#,b.sql_id, b.username,B.PROGRAM ,b.command,b.osuser FROM V$PROCESS A, V$SESSION B WHERE A.ADDR=B.PADDR(+) and  b.username is null;

select 'kill -9 '||a.spid,a.USERNAME FROM V$PROCESS A, V$SESSION B WHERE A.ADDR=B.PADDR(+) and  b.username is null and  a.USERNAME='grid';

select a.USERNAME,count(*) from  V$PROCESS A, V$SESSION B WHERE A.ADDR=B.PADDR(+) and  b.username is null group by a.USERNAME;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20747382/viewspace-2130433/,如需转载,请注明出处,否则将追究法律责任。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用以下步骤来备份Oracle数据库: 1. 在pom.xml文件中添加以下依赖项: ```xml <dependency> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc8</artifactId> <version>19.7.0.0</version> </dependency> ``` 2. 在application.properties文件中添加以下属性: ```properties spring.datasource.url=jdbc:oracle:thin:@localhost:1521:ORCL spring.datasource.username=YOUR_USERNAME spring.datasource.password=YOUR_PASSWORD ``` 3. 创建一个备份脚本,并使用Spring Boot的Scheduled注释将其定期运行。例如: ```java import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component public class BackupService { @Autowired private OracleService oracleService; @Value("${backup.path}") private String backupPath; @Scheduled(cron = "0 0 0 * * *") // 每天晚上12点执行备份 public void backupDatabase() throws IOException { String fileName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".dmp"; String filePath = backupPath + "\\" + fileName; oracleService.backupDatabase(filePath); } } ``` 4. 在OracleService类中实现备份方法。例如: ```java import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class OracleService { @Autowired private DataSource dataSource; public void backupDatabase(String filePath) throws IOException { List<String> commandList = new ArrayList<>(); commandList.add("exp"); commandList.add("USERID=" + dataSource.getUsername() + "/" + dataSource.getPassword()); commandList.add("FILE=" + filePath); commandList.add("FULL=Y"); commandList.add("LOG=" + filePath + ".log"); ProcessBuilder processBuilder = new ProcessBuilder(commandList); Process process = processBuilder.start(); try { int exitCode = process.waitFor(); if (exitCode != 0) { throw new RuntimeException("Backup failed. Exit code: " + exitCode); } } catch (InterruptedException e) { throw new RuntimeException("Backup failed.", e); } } } ``` 你需要将YOUR_USERNAME和YOUR_PASSWORD替换为你的Oracle数据库用户名和密码,并将backup.path替换为备份文件的路径。请注意,此代码使用exp命令来备份数据库。如果你使用的是Oracle 12c或更高版本,请改用expdp命令。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值