MySQL Table Recovery

MySQL’de sunucuyu bir şekilde ayağa kaldıramıyorsunuz ve hiç bir işlem yapamıyorsunuz. Elinizde sadece .frm ve .ibd dosyaları var. Bu durumda DB’nizi kurtarmak için aşağıdaki yolu deneyebilirsiniz.

  • Bilgisayarınıza MySQL Utilities uygulamasını kurun ve aşağıdaki adımları takip edin.
  • Utilities içerisindeki mysqlfrm komutu ile  tablonun DDL scriptini oluşturun

                 mysqlfrm –diagnostic C:\db\table_name.frm

  • Sonra bu scripti yeni DB’nizde çalıştırın ve tablonuzu create edin.
  • Sonra aşağdaki komut ile default oluşan ibd file silin

                alter table table_name discard tablespace

  • Sonra elinizdeki table_name.ibd dosyasını yeni databasinizin dizinine kopyalayın
  • Sonra aşağıdaki komut ile table_name.ibd dosyasındaki dataları mevcut tablespace’a aktarın

               alter table table_name import tablespace

  • Sonra select * from table_name komutu ile datalarınızı kontrol edin.

 

Adaptive Object Model

Dinamiklik gerektiren ve hızlı değişime ihtiyaç duyan uygulamaların domain modellerini yönetmek için AOM design patterni kullanılabilir. AOM classları,attributeleri,ilişkileri ve classların operasyonlarını metadata olarak saklayıp dinamik olarak kullanmayı sağlar. Kullanıcılar doğrudan metadatayı değiştirerek domain modeli değiştirebilirler. Object modeli ister XML dosyalarında ister databasede saklayabilir ve yönetebilirsiniz.

Bu tasarıma baktığımızda aslında NoSQL databaselerin temel aldığı mantığı yansıtmaktadır. Yani MongoDB gibi NoSql databaselerin temelindeki pattern AOM diyebiliriz.

AOM’u anlatan güzel bir blog girdisi gördüm. Paylaşmak istedim;

Buradan erişebilirsiniz.

Kaynak

Spring Framework ile Database Stored Procedure Çağrımı

Procedure/Fonksiyon çağrımlarını kolaylaştırabilmek için aşağıdaki gibi bir Util Class oluşturdum.

Örnek Kullanımı;