一次AWR报告引发的自我反省
AWR引发的血案昨天一早到公司,例行巡检数据库服务器,CRS正常,实例正常,ASM正常,各项服务正常,后台进程正常,RMAN备份正常,做了一个AWR报告,矮油,不对,
AWR引发的血案
昨天一早到公司,例行巡检数据库服务器,CRS正常,实例正常,ASM正常,各项服务正常,后台进程正常,RMAN备份正常,做了一个AWR报告,矮油,不对,怎么snap_id只显示到5点就没再有了呢,算了,先不管他,忙东忙西的也没在意。
下午快下班的时候,测试部要测试数据库压力情况,希望抓一个15点到18点的报告,OK,easy,看熊熊来搞定,香港虚拟主机,到了数据库里执行命令
一路走下去,唉,不对,为啥还是只有5点之前的snap_id,这时候冷汗已经下来了。
执行AWR的运行周期看了一下,没问题啊,使用的是默认配置的,每小时抓取一次,保留七天数据,没错啊,那是为啥呢? 诡异了。
为了搞定,手工生成了一下快照试了一下,卡住了,一直半个多小时都没反应(其实这时候熊熊应该找到问题所在了,但是由于着急回家就忽略了)
到家以后,从远程连接到数据,查找了一下最大的snap_id,发现一直处在凌晨5点那个snap_id就没更改过
又做了一次报告,按最长7天收集,发现只有100条snap_id,不算多啊,可是为什么呢?
想运行删除命令删除一些快照,却发现卡住不动了,我靠,XXD,不会让我删都删不了吧。
执行了一下后台进程查看,mmon和mmnl进程都正常使用ing啊,没有问题啊,见鬼了。
这时候忽然想到了,是不是空间不够了,使用命令查看了一下,确实,SYSAUX表空间使用率达到了92%左右,这是一个很尴尬的值,既不到自动扩展的时候,也因为预留的10%政策导致无法再写入数据(AWR报告的快照信息都写在这个表空间里),于是对这个表空间进行了一些简单的收缩工作,可是还是不行,TMD,真奇怪了。
通过上图命令可以查到表空间是否可以自动扩展。
继续执行快照删除命令,还是死在那里,XX,怎么会这样,忽然想起,还有一个该死的表空间忘记了,临时表空间。
查询临时表空间,4个临时表空间都满了(当初设置的太小),我晕死,问题就在这里了,删除了原有的临时表空间,并重建了新的临时表空间,同时为一些空间较小的表空间增加了数据文件,香港服务器,重启数据库后,该死的AWR终于又正常运作了。
正常登录以后,更改了AWR的收集阀值
重新查询,时间间隔已经为2小时一次,收集依然是保留7天,至此,AWR问题全部解决。
这个问题,从9点折腾到11点才解决,最终发现是表空间的问题,并且还重启了外网的数据库,最终我们会发现,往往问题都出现很小的地方,我们很不会留意到的地方,因此一次合理的规划很重要,这次错误感谢刘稳童鞋的技术支持和强强领导的信任与支持。
本文出自 “猫熊的幸福生活” 博客,请务必保留此出处
,香港服务器
Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Le « Test d'inaction » du nouveau MMORPG féerique fantastique « Zhu Xian 2 » sera lancé le 23 avril. Quel genre de nouvelle histoire d'aventure féerique se produira sur le continent Zhu Xian des milliers d'années après l'œuvre originale ? Le monde immortel des six royaumes, une académie à plein temps pour cultiver des immortels, une vie libre pour cultiver des immortels et toutes sortes de divertissements dans le monde immortel attendent que les amis immortels l'explorent en personne ! Le pré-téléchargement "Wuwei Test" est maintenant ouvert. Les amis fées peuvent accéder au site officiel pour télécharger. Vous ne pouvez pas vous connecter au serveur de jeu avant le lancement du serveur. Le code d'activation peut être utilisé après le pré-téléchargement et l'installation. est terminé. "Zhu Xian 2" "Inaction Test" horaires d'ouverture : 23 avril 10h00 - 6 mai 23h59 Le nouveau chapitre d'aventure de conte de fées de la suite orthodoxe de Zhu Xian "Zhu Xian 2" est basé sur le roman "Zhu Xian" comme un modèle basé sur la vision du monde de l'œuvre originale, l'arrière-plan du jeu est défini.

Les tests fonctionnels vérifient la fonctionnalité des fonctions via des tests en boîte noire et en boîte blanche, tandis que la couverture du code mesure la partie du code couverte par les scénarios de test. Différents langages (tels que Python et Java) ont des cadres de test, des outils de couverture et des fonctionnalités différents. Des cas pratiques montrent comment utiliser Unittest et Coverage de Python et JUnit et JaCoCo de Java pour les tests de fonctions et l'évaluation de la couverture.

Comment utiliser MySQLi pour établir une connexion à une base de données en PHP : Inclure l'extension MySQLi (require_once) Créer une fonction de connexion (functionconnect_to_db) Appeler la fonction de connexion ($conn=connect_to_db()) Exécuter une requête ($result=$conn->query()) Fermer connexion ( $conn->close())

Le mappage polymorphe Hibernate peut mapper les classes héritées à la base de données et fournit les types de mappage suivants : join-subclass : crée une table séparée pour la sous-classe, incluant toutes les colonnes de la classe parent. table par classe : créez une table distincte pour les sous-classes, contenant uniquement des colonnes spécifiques aux sous-classes. union-subclass : similaire à join-subclass, mais la table de classe parent réunit toutes les colonnes de la sous-classe.

Les dernières versions d'Apple des systèmes iOS18, iPadOS18 et macOS Sequoia ont ajouté une fonctionnalité importante à l'application Photos, conçue pour aider les utilisateurs à récupérer facilement des photos et des vidéos perdues ou endommagées pour diverses raisons. La nouvelle fonctionnalité introduit un album appelé "Récupéré" dans la section Outils de l'application Photos qui apparaîtra automatiquement lorsqu'un utilisateur a des photos ou des vidéos sur son appareil qui ne font pas partie de sa photothèque. L'émergence de l'album « Récupéré » offre une solution aux photos et vidéos perdues en raison d'une corruption de la base de données, d'une application d'appareil photo qui n'enregistre pas correctement dans la photothèque ou d'une application tierce gérant la photothèque. Les utilisateurs n'ont besoin que de quelques étapes simples

HTML ne peut pas lire directement la base de données, mais cela peut être réalisé via JavaScript et AJAX. Les étapes comprennent l'établissement d'une connexion à la base de données, l'envoi d'une requête, le traitement de la réponse et la mise à jour de la page. Cet article fournit un exemple pratique d'utilisation de JavaScript, AJAX et PHP pour lire les données d'une base de données MySQL, montrant comment afficher dynamiquement les résultats d'une requête dans une page HTML. Cet exemple utilise XMLHttpRequest pour établir une connexion à la base de données, envoyer une requête et traiter la réponse, remplissant ainsi les données dans les éléments de la page et réalisant la fonction de lecture HTML de la base de données.

Comment intégrer GoWebSocket à une base de données : Configurer une connexion à la base de données : Utilisez le package database/sql pour vous connecter à la base de données. Stocker les messages WebSocket dans la base de données : utilisez l'instruction INSERT pour insérer le message dans la base de données. Récupérer les messages WebSocket de la base de données : utilisez l'instruction SELECT pour récupérer les messages de la base de données.

Pour gérer les erreurs de connexion à la base de données en PHP, vous pouvez utiliser les étapes suivantes : Utilisez mysqli_connect_errno() pour obtenir le code d'erreur. Utilisez mysqli_connect_error() pour obtenir le message d'erreur. En capturant et en enregistrant ces messages d'erreur, les problèmes de connexion à la base de données peuvent être facilement identifiés et résolus, garantissant ainsi le bon fonctionnement de votre application.
