当前位置: 首页 > news >正文

如何实现网站开发手机验证码网站是否上线

如何实现网站开发手机验证码,网站是否上线,深圳专业seo优化公司,如何制作公司网址项目报错 nested exception is java.sql.SQLException: ORA-01652: unable to extend temp segment by 128 in tablespace TEMP 原因是临时表空间满了#xff0c;临时表空间一直增长#xff0c;未释放导致临时表空间使用率100%。 查询临时表空间使用率 --临时表空间利用率…项目报错 nested exception is java.sql.SQLException: ORA-01652: unable to extend temp segment by 128 in tablespace TEMP 原因是临时表空间满了临时表空间一直增长未释放导致临时表空间使用率100%。 查询临时表空间使用率 --临时表空间利用率 select c.tablespace_name 临时表空间名,round(c.bytes / 1024 / 1024 / 1024, 2) 临时表空间大小(G),round((c.bytes - d.bytes_used) / 1024 / 1024 / 1024, 2) 临时表空间剩余大小(G),round(d.bytes_used / 1024 / 1024 / 1024, 2) 临时表空间使用大小(G),round(d.bytes_used * 100 / c.bytes, 4) || % 使用率 %from (select tablespace_name, sum(bytes) bytesfrom dba_temp_filesGROUP by tablespace_name) c,(select tablespace_name, sum(bytes_cached) bytes_usedfrom v$temp_extent_poolGROUP by tablespace_name) dwhere c.tablespace_name d.tablespace_name; 解决办法一 --压缩一下临时表空间 --自动将表空间的临时文件缩小到最小可能的大小 alter tablespace TEMP shrink space; 解决办法二 查询临时表空间位置创建新的临时表空间 -- 查询临时表空间位置 SELECT FILE_ID,TABLESPACE_NAME 临时表空间名,BYTES / 1024 / 1024 / 1024 表空间大小(G),FILE_NAME 文件路径FROM DBA_TEMP_FILESorder by TABLESPACE_NAME, FILE_NAME;-- 例如查询结果如下 -- /dev/shm/oradata/temp01.dbf -- 创建新的临时表空间最好也放在这个目录下-- 创建临时表空间 create temporary tablespace IRFS_TEMP tempfile /dev/shm/oradata/irfs_temp01.dbf size 20g autoextend off; 切换临时表空间为新的临时表空间切换后删除原来的临时表空间。 -- 设置数据库的默认临时表空间,切换临时表空间 alter database default temporary tablespace IRFS_TEMP;--查询默认的临时表空间 SELECT PROPERTY_NAME, PROPERTY_VALUEFROM DATABASE_PROPERTIESWHERE PROPERTY_NAMEDEFAULT_TEMP_TABLESPACE;-- 删除原来的临时表空间包括文件 drop tablespace TEMP including contents and datafiles; 解决办法三 前两种方案需要每隔一段时间就要去手动操作一次。 哪些情况会占用临时表空间 1、当数据库执行如CREATE INDEX、ORDER BY、GROUP BY等操作时如果内存中的排序区域大小不足就会将数据放入临时表空间中进行排序。 2、操作CLOB或BLOB字段时如果内存中的空间不足以容纳这些数据Oracle会将这些数据放入临时表空间。 查询临时表空间占用sql --查询临时表空间占用sql SELECT se.username,se.sid,se.serial#,se.SQL_ID,se.sql_address,se.machine,sa.SQL_TEXT,sa.SQL_FULLTEXT,se.program,su.tablespace,su.segtype,su.contentsFROM v$session se,v$sort_usage su,v$sqlarea sa WHERE se.saddrsu.session_addr and se.SQL_IDsa.SQL_ID 表空间的释放通常依赖于事务提交或会话的断开。 事务的提交释放了事务占用的资源包括临时表空间中的空间。 会话的断开也会释放该会话使用的表空间。 因此如果临时表空间没有被释放并不是由于自动扩展设置的原因。 在查找表空间未释放的原因时您应该关注未提交的事务或仍然处于活动状态的会话。 对于临时表空间的释放问题您可以继续检查未提交的事务或会话并确保它们被正确提交或断开连接。 我的Oracle数据库版本是11gR211.2.0.4 我这里是由于clob或者blob字段造成的。 具体原因是clob或者blob字段使用后会占用临时表空间如果连接不断开就不会释放只要想办法让连接使用后断开就行。 我使用了druid连接池由于我的业务一天24小时都会使用所以连接池中的连接一直处于活跃状态没有到达配置的空闲5分钟删除掉连接 当然也可以从空闲时间参数入手让空闲时间短点就删除掉连接一句话就是想办法让连接断开但是频繁的创建连接也不好那连接池也没有意义了。 解决思路不要使用clob或者blob字段想办法使用其它方案替代我这里必须要用到clob又没有找到替代方案。 我后面解决思路是写了一个定时器10分钟检测一次连接池连接存活时间超过1天就删除该连接且一次最多删除一个连接防止把连接池清空了。该方案自行评估有无风险 package com.study.pool;import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.pool.DruidPooledConnection; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasource.DataSourceUtils; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component;import javax.sql.DataSource; import java.sql.Connection;/*** 清理连接存活时间超过1天的连接* 由于clob和blob字段导致临时表空间不释放需要定期清理连接* Date: 2024/2/29 16:49*/ Slf4j Component EnableScheduling public class DruidPooledClear {Autowiredprivate JdbcTemplate jdbcTemplate;// PostConstructScheduled(cron 25 1/10 * * * ?) //10分钟一次public void clearConnection() {try {DataSource dataSource jdbcTemplate.getDataSource();if (dataSource instanceof DruidDataSource) {DruidDataSource druidDataSource (DruidDataSource) dataSource;clearConnection(dataSource, druidDataSource);}} catch (Exception e) {log.error(e.getMessage(), e);}}/*** 清理连接1次只清理一个连接防止一次性把连接池清空* date 2024/2/29 16:59*/private void clearConnection(DataSource dataSource, DruidDataSource druidDataSource) {DruidPooledConnection druidPooledConnection null;try {// 由于druidDataSource.getConnection()总是获取上一次使用的连接最后一次使用的连接无法遍历空闲连接只有使用递归才获取所有空闲连接druidPooledConnection druidDataSource.getConnection();// log.info(连接 druidPooledConnection.getConnectionHolder());// 连接创建单位毫秒long connectedTimeMillis druidPooledConnection.getConnectionHolder().getConnectTimeMillis();// 删除连接连接存活时间超过1天if (System.currentTimeMillis() connectedTimeMillis 1000 * 60 * 60 * 24) {log.info(删除连接 druidPooledConnection.getConnectionHolder());// 这一步很关键druidPooledConnection.getConnection() 取出的连接已经不能归还给连接池了Connection connection druidPooledConnection.getConnection();// 从连接池中移除连接DataSourceUtils.releaseConnection(connection, dataSource);} else {// int activeCount druidDataSource.getActiveCount();//活跃连接数int poolingCount druidDataSource.getPoolingCount();//空闲连接数// log.info(池中连接数{}活跃连接数{}空闲连接数{}, activeCount poolingCount, activeCount, poolingCount);if (poolingCount 0) {clearConnection(dataSource, druidDataSource);}}} catch (Exception e) {log.error(e.getMessage(), e);} finally {// 归还连接给连接池DataSourceUtils.releaseConnection(druidPooledConnection, dataSource);}} } 参考 oracle的临时表空间无法释放多半是blob害的。 - 墨天轮
http://www.ho-use.cn/article/10821298.html

相关文章:

  • 济南网站建设优化熊掌号网站建设与维护项目六
  • 电子商务网站的设计工具0735郴州新网招聘
  • 下单网站搭建pc软件开发工具
  • 帝国cms影视网站模板做网站用的文本编辑器
  • 怎么给搞笑网站做文案新问网站设计
  • 黄石专业网站建设推广吴忠网站建设哪家好
  • psd模板 转 网站烟台网站建设加盟
  • 2020电商平台排行榜兰州seo外包公司
  • 新余百度网站建设哪里有帮做微课的网站
  • php网站建设视频天津品牌网站建设
  • 网站建设教学大纲赣州市建设培训网
  • 石材网站源码怎么用手机建网站
  • 网站注册需要什么大连网络营销公司有哪些
  • 电视台网站建设方案企业网站建设管理平台
  • 防止网站被采集cms网站源码
  • 南宁霸屏网站开发wordpress全部教程
  • 网站开发与app开发的区别苏州网站建设要多少钱
  • 做美团网这种网站赚钱吗装饰公司网站
  • seo建站优化推广品牌网站分析
  • 杭州拱墅区网站建设在家做电商怎么做
  • 使用angular2框架做的网站网站推广效果不好原因是
  • 网站开发要点做债的网站
  • 建湖做网站的公司台州seo排名公司
  • 湖北免费网站建设软装设计师
  • 中国十大网站完成网站的建设工作
  • 长春网站网站建设企业加盟网站建设
  • 北京网站建设策划外贸行业网站建设公司排名
  • 岳池建设局网站网络推广内容包括什么
  • 昆山网站建设机构wordpress读取父分类列表
  • 网站栏目公司排名seo