Thursday, January 16, 2025

.::: Script Backup Full All Database Using Record to Table in PostgreSQL EDB :::.

1. create database & table
create database dbatools;
CREATE TABLE backuplogs (
    host VARCHAR(255) NOT NULL,
    date TIMESTAMP NOT NULL,
    dbname VARCHAR(255) NOT NULL,
    backup VARCHAR(255) NOT NULL,
    size_mb BIGINT NOT NULL,
    size BIGINT NOT NULL,
    filename VARCHAR(255) NOT NULL
);


2. run sh backup_full_daily_with_record.sh

Wednesday, January 15, 2025

.::: Script Backup Daily Multiple Database, Backup FULL, Backup LOG, Backup Incremental with Record Table backup logs in MariaDB MySQL MarinaDB :::.

 


correlation +update from https://teguhth.blogspot.com/2024/07/script-backup-full-differential.html

1. Create database & table for save backup log

create database dbatools;
CREATE TABLE backuplogs (
    host VARCHAR(255) NOT NULL,
    date DATETIME NOT NULL,
    dbname VARCHAR(255) NOT NULL,
    backup VARCHAR(255) NOT NULL,
    size_mb BIGINT NOT NULL,
    size BIGINT NOT NULL,
    filename VARCHAR(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;


2. put script sh backup_full_daily_with_record.sh

Tuesday, January 14, 2025

.::: Convert Query select MariaDB MarinaDB MySQL to Excel CSV include using script scheduler :::.


A. Using cmd MariaDB


1. check query using normal query

select * from pembelian;
 

2. create folder

mkdir /convert
chmod 777 /convert

 

Monday, January 13, 2025

.::: Test Insert, select Data using Maxscale include maxscale router to slave/ master :::.

 


1. Create table;
CREATE TABLE `hostname_tbl` (
   `host` varchar(100) DEFAULT NULL,
   `created_date` datetime DEFAULT NULL,
   `dbinfo` varchar(8000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

2. check maxscale list servers

[root@ha01 ~]#  maxctrl list servers
┌─────────────────┬─────────────┬──────┬─────────────┬─────────────────┬─────────┬─────────────────────────────┐
│ Server          │ Address     │ Port │ Connections │ State           │ GTID    │ Monitor                     │
├─────────────────┼─────────────┼──────┼─────────────┼─────────────────┼─────────┼─────────────────────────────┤
├ gtid01-v31      │ 10.10.10.31 │ 3306 │ 0           │ Master, Running │ 0-1-121 │ MariaDB-Monitor-gtid        │
├─────────────────┼─────────────┼──────┼─────────────┼─────────────────┼─────────┼─────────────────────────────┤
│ gtid02-v32      │ 10.10.10.32 │ 3306 │ 0           │ Slave, Running  │ 0-1-121 │ MariaDB-Monitor-gtid        │
├─────────────────┼─────────────┼──────┼─────────────┼─────────────────┼─────────┼─────────────────────────────┤
│ gtid03-v33      │ 10.10.10.33 │ 3306 │ 0           │ Slave, Running  │ 0-1-121 │ MariaDB-Monitor-gtid        │
└─────────────────┴─────────────┴──────┴─────────────┴─────────────────┴─────────┴─────────────────────────────┘
[root@ha01 ~]#

Thursday, January 9, 2025

.::: Query Convert select to insert table in SQL Server MSSQL, MariaDB MySQL, PostgreSQL EDB, Oracle :::.

 


A. MariaDB
    
1. Query basic

select * from pembelian;

2. query to convert select to insert
SELECT CONCAT(
    'INSERT INTO pembelian (KODE_PEMBELIAN, KODE_BARANG, KODE_CUSTOMER, TANGGAL_PEMBELIAN, JUMLAH_PEMBELIAN) VALUES (',
    QUOTE(KODE_PEMBELIAN), ', ',
    QUOTE(KODE_BARANG), ', ',
    QUOTE(KODE_CUSTOMER), ', ',
    QUOTE(TANGGAL_PEMBELIAN), ', ',
    JUMLAH_PEMBELIAN, ');'
) AS insert_query
FROM pembelian;

Wednesday, January 8, 2025

.::: Create Table & Insert data using suport Arab & Thailand Character in PostgreSQL EDB :::.

 

Berikut adalah contoh tabel PostgreSQL dan skrip untuk menyisipkan data yang mendukung tulisan Arab, Thailand, Rusia, dan Jepang.

PostgreSQL mendukung berbagai jenis karakter (multilingual) melalui penggunaan encoding UTF-8. Pastikan database Anda menggunakan encoding UTF-8.

Langkah 1: Buat Database dengan Encoding UTF-8
Pastikan database sudah menggunakan UTF-8. Anda dapat memeriksa atau membuatnya dengan:

CREATE DATABASE multilingual_db
WITH ENCODING 'UTF8'
LC_COLLATE='en_US.UTF-8'
LC_CTYPE='en_US.UTF-8'
TEMPLATE template0;

.::: Create Table & Insert data using suport Arab & Thailand Character in MSSQL :::.

 
Untuk membuat tabel di SQL Server yang mendukung tulisan Arab, Thailand, Rusia, dan Jepang, kita perlu menggunakan tipe data NVARCHAR untuk kolom teks. Berikut adalah contoh implementasinya:

1. Membuat Tabel

CREATE TABLE MultibahasaTabel (
    ID INT IDENTITY(1,1) PRIMARY KEY,      -- Kolom ID sebagai Primary Key
    Nama NVARCHAR(100),                   -- Kolom Nama untuk teks multibahasa
    Deskripsi NVARCHAR(255)               -- Kolom Deskripsi untuk teks panjang
);
 

.::: Create Table & Insert data using suport Arab & Thailand Character in MariaDB MySQL :::.


Untuk membuat tabel di MariaDB yang mendukung tulisan Arab dan Thailand, Anda perlu memastikan bahwa kolom teks menggunakan charset dan collation yang mendukung karakter multibahasa, seperti utf8mb4. Charset utf8mb4 mendukung seluruh karakter Unicode, termasuk karakter Arab dan Thailand.

Berikut adalah contoh tabel dan data insert-nya:

Langkah 1: Membuat Database dengan Charset utf8mb4
Pastikan database menggunakan charset yang mendukung tulisan Arab dan Thailand.

CREATE DATABASE multidb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE multidb;
 
CREATE DATABASE multilingual_db
CHARACTER SET latin1
COLLATE latin1_swedish_ci;
USE multilingual_db;


Langkah 2: Membuat Tabel
Tabel ini akan mendukung karakter multibahasa pada kolom arabic_text dan thai_text.

CREATE TABLE multilingual_table (
    id INT AUTO_INCREMENT PRIMARY KEY,
    arabic_text TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci,
    thai_text TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci,
    description VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci
);

Tuesday, January 7, 2025

.::: All Index MariaDB MySQL, Check Index, Size Index, Type Index ALL, ref, eq_ref,PRIMARY, DERIVED, UNION :::.

 
Dari tabel yang Anda lampirkan, berikut adalah penjelasan masing-masing kolom dalam EXPLAIN query MariaDBMySQL

select_type Menunjukkan tipe query, seperti PRIMARY, DERIVED, UNION, dll.
table Nama tabel atau hasil intermediate (seperti derived tables atau union).
type Menunjukkan tipe join atau akses data (ALL, ref, eq_ref, dll).

Berikut contoh query sesuai dengan nilai di kolom select_type dan type

1. PRIMARY + ALL
Query utama yang melakukan full table scan.

SELECT * FROM barang;

explain SELECT * FROM barang;

 

Friday, January 3, 2025

.::: Script Daily Backup Database Oracle using expdp :::.

 
1. create dba directory


https://teguhth.blogspot.com/2024/12/how-to-backup-and-restore-table.html

su - oracle
mkdir -p /home/oracle/backup
mkdir -p  /u01/backup/daily

CREATE OR REPLACE DIRECTORY DATA_PUMP_DIR AS '/home/oracle/backup';
GRANT READ, WRITE ON DIRECTORY DATA_PUMP_DIR TO aisyah;

CREATE OR REPLACE DIRECTORY DATA_PUMP_DIR AS '/home/oracle/backup';
GRANT READ, WRITE ON DIRECTORY DATA_PUMP_DIR TO ADMIN;

CREATE OR REPLACE DIRECTORY BACKUP_DAILY AS '/u01/backup/daily';
GRANT READ, WRITE ON DIRECTORY BACKUP_DAILY TO aisyah;
 

Thursday, January 2, 2025

.::: Sample Data Warehouse in SQL Server :::.

Untuk menjadikan query ini sebagai skema data warehouse, tabel-tabel operasional tersebut perlu diubah menjadi tabel fakta dan tabel dimensi.

Skema Data Warehouse
Tabel Dimensi
Dimensi Barang: Mengandung detail tentang barang.
Dimensi Suplier: Mengandung detail tentang suplier.
Dimensi Customer: Mengandung detail tentang customer.
Dimensi Waktu: Mengandung detail waktu untuk analisis.
Tabel Fakta
Fakta Transaksi: Menggabungkan data dari pembelian dan pasok untuk menyimpan fakta transaksi.

correlation https://teguhth.blogspot.com/2019/04/study-kasus-praktis-belajar-query.html

A. Struktur Tabel Dimensi dan Fakta
1. Dimensi Barang


CREATE TABLE dim_barang (
    barang_id INT IDENTITY(1,1) PRIMARY KEY,
    kode_barang CHAR(6) UNIQUE,
    nama_barang VARCHAR(25),
    satuan_barang VARCHAR(20)
);

.::: Sample Data Mart in SQL Server :::.

 
correlation https://teguhth.blogspot.com/2019/04/study-kasus-praktis-belajar-query.html

1. Create table for datamart base on

create table dim_barang(
KODE_BARANG char(6) not null ,
NAMA_BARANG varchar(25),
SATUAN_BARANG varchar(20),
STOK_BARANG decimal(4),
primary key (KODE_BARANG));

create table dim_suplier(
KODE_SUPLIER char(5) not null,
NAMA_SUPLIER varchar(30),
ALAMAT_SUPLIER varchar(30),
KOTA_SUPLIER varchar(15),
TELEPON_SUPLIER varchar(15),
primary key(KODE_SUPLIER));

create table dim_customer(
KODE_CUSTOMER char(6),
NAMA_CUSTOMER varchar(30),
ALAMAT_CUSTOMER varchar(30),
KOTA_CUSTOMER varchar(15),
TELEPON_CUSTOMER varchar(15),
primary key(KODE_CUSTOMER));

Friday, December 27, 2024

.::: Sample Shrink Database SQL Server MSSQL :::.

 
Correlation shrink log http://teguhth.blogspot.com/2023/05/how-to-shrink-log-database-sql-server.html

simulation shrink database

1. Create table & insert 5 million row for lab


CREATE TABLE TestTable (
    ID INT IDENTITY(1,1) PRIMARY KEY,
    Name NVARCHAR(50),
    CreatedDate DATETIME
);

Popular Posts