AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-247004

TimLer's questions

Martin Hope
TimLer
Asked: 2024-11-01 23:00:15 +0800 CST

MariaDB Criar um gatilho não funciona

  • 5

Tenho um MariaDB 10.6 Server em um Rhel linux e quero criar um gatilho para uma tabela. Este é meu código:

DELIMITER //

CREATE TRIGGER before_salary_update
BEFORE UPDATE ON Employee
FOR EACH ROW
BEGIN
    DECLARE salary_change DECIMAL(10, 2);
    
    -- Calculate the percentage change in salary
    SET salary_change = (NEW.salary - OLD.salary) / OLD.salary * 100;

    -- Check if the change is within the 10% threshold
    IF salary_change > 10 OR salary_change < -10 THEN
        SIGNAL SQLSTATE '45000' 
        SET MESSAGE_TEXT = 'Error: Salary change exceeds 10% limit.';
    END IF;
END //

DELIMITER ;

Quando executo meu código com o delimitador, meu terminal congela e tenho que interrompê-lo com ctrl+c. Quando executo sem o delimitador, recebo este erro:

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1

Também tentei copiar isso para um arquivo sql e executá-lo do SO. Mas tenho o mesmo problema.

mariadb
  • 1 respostas
  • 14 Views
Martin Hope
TimLer
Asked: 2023-12-05 16:13:59 +0800 CST

oracle pdb Relocação para novo servidor

  • 5

Planejamos migrar os dados (8 PDBS com pelo menos 50 TB de dados) do nosso antigo servidor oracle 19c para o novo (mesma versão) e devemos fazer esta tarefa com mínimo ou nenhum tempo de inatividade . Por esse motivo, não podemos usar o backup simples de desconectar/conectar PDB ou TRANSPORTABLE RMAN como opção, devido ao alto tempo de inatividade.

Estamos procurando as opções disponíveis e a única opção que encontrei com tempo de inatividade muito baixo é Relocating a PDB (do site oficial da Oracle).

Realocação do APO

Alguém conhece outra opção?

Atualização 1- (12h00 - 05.12.23):

  • Temos um cluster Oracle Exadata Rac (2 servidores - um online e outro offline e sincroniza dados com dataguard)
  • O novo servidor é um servidor Oracle Rac (2 servidores - ambos online - sincronizar dados com ASM)
  • Todos os PDBs estão no mesmo CDB
  • O novo servidor NÃO está na mesma plataforma.

Atualização 2- (13h00 - 05.12.23):

  • O Servidor Exadata é o Oracle Linux e o novo Servidor Redhat e possuem diferentes servidores de armazenamento.
oracle
  • 1 respostas
  • 45 Views
Martin Hope
TimLer
Asked: 2022-10-28 02:54:48 +0800 CST

MYSQL - A diferença entre Charset e Collation pode causar algum problema?

  • 5

Eu tenho um esquema em um MySQL versão 8 e devo migrá-lo para um MariaDB versão 10.3. (com Mysqldump)

O esquema tem Charset = utf8mb4ecollation = utf8mb4_general_ci

O servidor MariaDB tem padrão Charset = utf8ecollation = utf8_general_ci

Quando tento importar o dump é impossível por causa do erro:

Unknown collation: utf8mb4_general_ci

Encontrei uma solução aqui: https://stackoverflow.com/questions/42385099/1273-unknown-collation-utf8mb4-unicode-520-ci

E funcionou. Mas eu quero saber:

Primeiro: essas diferenças podem causar perda de dados após a importação de dados dmp?

Segundo: essas diferenças podem causar alguma diferença na saída ou classificação no meu novo servidor?

  • Eu tenho alguns outros esquemas no servidor MariaDB e não posso (e não quero!)
mysql
  • 2 respostas
  • 40 Views
Martin Hope
TimLer
Asked: 2022-08-23 05:18:42 +0800 CST

Mariadb: Os logs binários precisam ser copiados?

  • 0

Temos um banco de dados MariaDB (10.3 v) em um servidor virtual Redhat. Eu deveria criar um script LVM-Snapshot para proteger nossos dados. Usamos um tipo de tecnologia que protege nosso armazenamento. Isso significa que se o disco rígido falhar, não haverá problemas com os dados. Os dados serão salvos quase simultaneamente em vários outros discos.

Mas para uma falha ou falha e restauração rápida, precisamos de um LVM-Snapshot (executando todas as noites).

Minha principal pergunta é: Devo proteger (instantâneo) nossos binlogs também ou não? e porque?

Até onde eu sei, mesmo que o banco de dados falhe por qualquer motivo, os logs binários não serão perdidos ou corrompidos.

Desde já, obrigado.

mysql mariadb
  • 1 respostas
  • 39 Views
Martin Hope
TimLer
Asked: 2022-06-02 00:22:23 +0800 CST

MYSQL - Desafio de migração: esquemas de mesmo nome

  • 2

Temos 7 servidores Linux (Redhat) e cada servidor linux tem um banco de dados Mysql com 1 banco de dados (PROD_1) nele. (Cada projeto tem seu próprio servidor)

Queremos migrá-los todos para um servidor de banco de dados (redhat/mariadb). O único problema é que todos os bancos de dados têm o mesmo nome (PROD_1). Existe alguma solução, exceto alterar o nome dos bancos de dados?

  • innodb_file_per_table está ativo no novo mariadb
mysql mariadb
  • 1 respostas
  • 39 Views
Martin Hope
TimLer
Asked: 2022-04-27 05:33:20 +0800 CST

Mariadb Benchmarking - Baixa transação e consulta por segundo

  • 1

Temos um MariaDB 10.3 em um Redhat Server (VM) com 90 GB de Ram e 20 VCPUs. Estou tentando otimizar o banco de dados. Instalei o Sysbench para Benchmarking e após um teste de 50 segundos obtive esses valores (com variáveis ​​padrão do MariaDB):

#Benchmarking command:
    sysbench oltp_read_write --threads=2 --report-interval=3 --histogram 
    --time=50 --table-size=1000000 --db-driver=mysql --mysql-host=firstserver
    --mysql-db=sbtest  --mysql-user=sbtest_user --mysql-password=password run

SQL statistics:
    queries performed:
        read:                            271040
        write:                           77440
        other:                           38720
        total:                           387200
    transactions:                        19360  (387.15 per sec.)
    queries:                             387200 (7742.96 per sec.)
    ignored errors:                      0      (0.00 per sec.)
    reconnects:                          0      (0.00 per sec.)

General statistics:
    total time:                          50.0054s
    total number of events:              19360

Latency (ms):
         min:                                    3.75
         avg:                                    5.16
         max:                                   26.99
         95th percentile:                        6.55
         sum:                                99964.49

Threads fairness:
    events (avg/stddev):           9680.0000/2.00

Para este Benchmarking o innodb_buffer_pool_size foi de apenas 2GB. Tentei otimizar o banco de dados para obter mais transações e consultas por segundo. Alterei essas variáveis:

#set memory (was 2 G)
innodb_buffer_pool_size=70G 

#set log file size  (was 64MB)
innodb_log_file_size=2G

#set log buffer size (was 16MB)
innodb_log_buffer_size=128M

#set temporary in memory table size  (was 16MB)
tmp_table_size=64M
max_heap_table_size= 64M


# set query cache     (was 1MB)
query_cache_size=64M

Mas o resultado mudou pouco.

mysql mariadb
  • 2 respostas
  • 115 Views
Martin Hope
TimLer
Asked: 2022-01-28 06:46:58 +0800 CST

tabelas de bloqueio mariadb do linux bash

  • 1

Tenho todos os códigos que preciso para fazer um backup (lvm snapshot) para nosso banco de dados MariaDB no Linux. Estes são meus comandos no terminal:

mysql
flush tables read lock;                        (in database)
exit
lvc create -l100%free -s -n mdbsnap /dev/vgm/lv
mysql
unlock tables;                                 (in database)
exit

E funciona.

Mas agora estou tentando automatizar os processos com o Linux bash:

#!/bin/bash
mysql -e "flush tables with read lock"
lvc create -l100%free -s -n mdbsnap /dev/vgm/lv
mysql -e "unlock tables"

e não funciona (o bloqueio não funciona e o banco de dados não fica bloqueado). Eu acho que isso é porque eu deveria manter minha conexão mysql aberta para forçar nosso banco de dados a ficar bloqueado durante o snapshot. Alguém tem alguma ideia?

mysql mariadb
  • 1 respostas
  • 66 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve