Instalación de MariaDB en Archlinux

Actualizamos los paquetes del sistema antes que nada:

$>: sudo pacman -Syu

Desde los repositorios encontramos el paquete MariaDB

$>: sudo pacman -S mariadb

Lo que nos recomienda al terminar la instalación de MariaDB es ejecutar el siguiente script para inicializar el directorio de datos:

$>: mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

Después de la instalación podemos habilitar el servicio mysqld:

$>: sudo systemctl enable mysqld

y seguidamente iniciamos el servicio:

$>: sudo systemctl start mysqld

Para hacer la configuración de credenciales del usuario root de base de datos utilizamos el script mysql_secure_installation que ya debería estár habilitado en el sistema:

$>: sudo mysql_secure_installation

Con las configuraciones anteriores ya tendremos habilitado el acceso a MariaDB:

$>: mysql -u root -p

Instalación de Oracle Grid Infrastructure 19c en Oracle Linux 7 [Paso a paso]

Para comenzar, existen algunos prerrequisitos que hay que cumplir para poder iniciar la instalación de Grid Infrastructure, los cuales, se pueden hacer manualmente o a través de un paquete destinado a realizar esta tarea. En esta ocasión vamos a instalar el paquete que se encuentra en los repositorios de Oracle Linux:

# yum install -y oracle-database-preinstall-19c.x86_64

Es necesario configurar OracleASM:

# oracleasm configure -i
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver.  The following questions will determine whether the driver is
loaded on boot and what permissions it will have.  The current values
will be shown in brackets ('[]').  Hitting  without typing an
answer will keep that current value.  Ctrl-C will abort.
Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done

Se prepara el disco que se va a utilizar para la creación de la unidad +DATA. En esta practica se tiene un disco duro externo de 20GB y aún no tiene creada ninguna partición, por lo que se procede a crearla con fdisk:

# fdisk -l
Disk /dev/sdb: 18.3 GB, 18260131840 bytes, 35664320 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Se crea la nueva partición:

# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xadc62055.

Orden (m para obtener ayuda): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 
Using default response p
Número de partición (1-4, default 1): 
Primer sector (2048-35664319, valor predeterminado 2048): 
Se está utilizando el valor predeterminado 2048
Last sector, +sectors or +size{K,M,G} (2048-35664319, valor predeterminado 35664319): 
Se está utilizando el valor predeterminado 35664319
Partition 1 of type Linux and of size 17 GiB is set

Y se escriben los cambios:

Orden (m para obtener ayuda): w
¡Se ha modificado la tabla de particiones!

Llamando a ioctl() para volver a leer la tabla de particiones.
Se están sincronizando los discos.

Verificamos que todo haya quedado bien en la nueva partición:

# fdisk -l
Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/sdb1            2048    35664319    17831136   83  Linux

Todo está listo para hacer la creación de nuestra unidad lógica +DATA con la herramienta oracleasm:

# oracleasm createdisk DATA /dev/sdb1 
Writing disk header: done
Instantiating disk: done

En este punto ya tenemos lista nuestra unidad +DATA.

Antes de seguir el proceso, es necesario cambiar la contraseña a nuestro usuario oracle:

# passwd oracle
Cambiando la contraseña del usuario oracle.
Nueva contraseña: 
Vuelva a escribir la nueva contraseña: 
passwd: todos los símbolos de autenticación se actualizaron con éxito.

Procedemos a crear el directorio en donde será instalado grid:

# mkdir -p /u01/app/19.3.0/grid/

Podemos descargar la versión de Oracle Grid Infrastructure desde https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html.

Para poder hacer la instalación debemos de cambiar los permisos a la carpeta antes creada para el usuario oracle y su grupo oinstall:

chown -r oracle:oinstall /u01/

Copiamos el archivo descargado LINUX.X64_193000_grid_home.zip a la carpeta grid y procedemos a descompimir:

# unzip LINUX.X64_193000_grid_home.zip

Necesitaremos instalar el paquete cvuqdisk, que lo podemos encontrar en la ruta «Grid_home/cv/rpm»:

# rpm -i cvuqdisk-1.0.10-1.rpm

Iniciamos el asistente para la instalación de Oracle Grid Infrastructure:

# ./gridSetup.sh

En este post se realizará la instalación de un StandAlone:

En la creación de grupo de disco de ASM, nuestro disco duro es de tipo «Externo» y cambiamos la ruta de acceso de detección por el directorio en donde anteriormente se creó nuestro disco DATA (/dev/oracleasm/disks/):

Para esta practica, vamos a asignar la misma contraseña para la cuenta SYS y ASMSNMP:

Asignamos los roles a cada uno de los grupos de Grid:

Configuramos el directorio base para Grid:

Y seguimos con el directorio de inventario:

En la instalación es necesario ejecutar algunos scripts desde root pero podemos configurar en esta sección las credenciales de root para que la ejecución sea automática:

En la siguiente comprobación nos aparecerán los puntos que son necesarios de solucionar, en mi caso me marca una advertencia por poca memoria RAM pero fue solucionado realizando el aumento:

Como último paso, nos muestra un resumen de las configuraciones que se aplicaran en la instalación:

Si todo está correcto, procedemos a iniciar la instalación:

En nuestro caso le dimos credenciales de root por lo tanto los scripts que son necesarios ejecutar en la instalación se ejecutaron automáticamente.

Con lo anterior, ya tendremos instalado nuestro Grid Infrastructure:

Solo nos quedaría hacer la instalación de Oracle Database 19c, pero eso queda para otro post.

PL/SQL package SYS.DBMS_BACKUP_RESTORE version in TARGET database is not current

Después de una actualización de Oracle Database de la versión19.3.0.0.0 a 19.16.0.0.0, tuve el inconveniente al acceder a RMAN el cuál mostraba el siguiente mensaje:

$ rman target /

Recovery Manager: Release 19.0.0.0.0 - Production on Mon Aug 3 14:26:41 2022
Version 19.16.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

PL/SQL package SYS.DBMS_BACKUP_RESTORE version 19.03.00.00 in TARGET database is not current
PL/SQL package SYS.DBMS_RCVMAN version 19.03.00.00 in TARGET database is not current
connected to target database: XXXX

El mensaje anterior también se podía apreciar en el Alert.log.

Verificando en Oracle Support, nos comentan que este error se presenta seguido de aplicar un parche Oracle y que estos paquetes no se compilan cuando se realiza la actualización.

La solución es sencilla, realizando la compilación de los siguientes paquetes:

$ sqlplus / as sysdba
SQL> @$ORACLE_HOME/rdbms/admin/dbmsrman.sql
SQL> @$ORACLE_HOME/rdbms/admin/dbmsbkrs.sql
SQL> @$ORACLE_HOME/rdbms/admin/prvtrmns.plb
SQL> @$ORACLE_HOME/rdbms/admin/prvtbkrs.plb

Podemos comprobar que al ingresar a RMAN y verificar en el Alert.log que el mensaje ya no nos aparece.

Agregar nuevo disco a Diskgroup en Oracle Grid 19c

State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 512 4096 2194304 209588 1260 0 1260 0 N DATA/

Vamos a suponer que únicamente se ha agregado un nuevo disco duro y es necesario realizar la creación de la nueva partición y hacer un formateo de la misma.

Desde la herramienta fdisk podemos realizar esta tarea:

root@pruebas~# fdisk /dev/sdb

Con el comando ‘n‘ se realiza la creación de una nueva partición. Dejamos todos los valores por default ya que vamos a utilizar todo el espacio del nuevo disco duro.

Con el comando ‘w‘ confirmamos que se escriban los cambios que se han realizado.

Luego de haber creado la partición, se realiza el formateo

root@pruebas~# mkfs.ext4 /dev/sdb1

A nivel de sistema operativo nuestro nuevo disco duro está preparado.

Seguidamente, haciendo uso de la herramienta oracleasm realizamos la creación y etiquetado de un nuevo disco duro.

root@pruebas~# oracleasm createdisk ASMDISK3 /dev/sdb1

Desde SQLPlus agregamos el nuevo disco duro al diskgroup que ya está creado, en nuestro caso es +DATA

SQL> ALTER DISKGROUP DATA ADD DISK '/dev/oracleasm/disks/ASMDISK3' NAME ASMDISK3 REBALANCE POWER 100;

Con lo anterior, podemos verificar desde asmcmd que se han agregado los nuevo 200Gb de espacio.

[grid@pruebas ~]$ asmcmd lsdg
State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 512 4096 4194304 409588 204384 0 204384 0 N DATA/

EDIT: 04/08/2022

Eliminar un disco del diskgroup:

Para eliminar es necesario quitar el disco primeramente del diskgroup que tenemos configurado en ASM, lo cual lo hacemos de la siguiente manera:

$ sqlplus / as sysasm
SQL> ALTER DISKGROUP DATA DROP DISK 'ASMDISK4';

En mi caso mi diskgroup tiene el nombre DATA y el disco que quiero quitar tiene el nombre ASMDISK4.

Seguidamente podemos devolver el disco al sistema operativo:

Primero escaneamos los discos disponibles con OracleASM

# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
[root@pruebas disks]# oracleasm status
Checking if ASM is loaded: yes
Checking if /dev/oracleasm is mounted: yes
[root@pruebas disks]# oracleasm configure
ORACLEASM_ENABLED=true
ORACLEASM_UID=grid
ORACLEASM_GID=oinstall
ORACLEASM_SCANBOOT=true
ORACLEASM_SCANORDER=""
ORACLEASM_SCANEXCLUDE=""
ORACLEASM_SCAN_DIRECTORIES=""
ORACLEASM_USE_LOGICAL_BLOCK_SIZE="false"

Por último lo eliminamos del ASM:

# oracleasm deletedisk ASMDISK4
Clearing disk header: done
Dropping disk: done

Instalar Edge Chromium (Preview) en Archlinux

Con estos sencillos pasos podemos tener instalado la Preview de Edge Chromium en Archlinux:

  • git clone https://aur.archlinux.org/microsoft-edge-dev.git
[kr105@thundercracker] {~/Descargas} -$>: git clone https://aur.archlinux.org/microsoft-edge-dev.git
Clonando en 'microsoft-edge-dev'...
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 5 (delta 0), reused 4 (delta 0), pack-reused 0
Desempaquetando objetos: 100% (5/5), 80.37 KiB | 255.00 KiB/s, listo.
  • Entrar a la carpeta microsoft-edge-dev que se ha creado
[kr105@thundercracker] {~/Descargas} -$>: cd microsoft-edge-dev/
  • Utilizar el comando makepkg para construir el paquete con extensión pkg.tar.zst para poder ser instalado en Archlinux
makepkg -si
==> Creando el paquete: microsoft-edge-dev 88.0.673.0-1 (jue 22 oct 2020 21:26:18)
==> Comprobando dependencias mientras se ejecuta...
==> Comprobando dependencias mientras se compila...
==> Instalando las dependencias que faltan...
[sudo] password for kr105: 
resolviendo dependencias...
buscando conflictos entre paquetes...

Paquetes (1) w3m-0.5.3.git20200507-2

Tamaño total de la descarga:    0.94 MiB
Tamaño total de la instalación:  1.92 MiB

:: ¿Continuar con la instalación? [S/n] s
:: Obteniendo los paquetes...
 w3m-0.5.3.git20200507-2-...   967.0 KiB  1294 KiB/s 00:01 [###############################] 100%
(1/1) comprobando las claves del depósito                  [###############################] 100%
(1/1) verificando la integridad de los paquetes            [###############################] 100%
(1/1) cargando los archivos de los paquetes                [###############################] 100%
(1/1) comprobando conflictos entre archivos                [###############################] 100%
(1/1) comprobando el espacio disponible en el disco        [###############################] 100%
:: Procesando los cambios de los paquetes...
(1/1) instalando w3m                                       [###############################] 100%
Dependencias opcionales para w3m
    imlib2: for graphics support [instalado]
:: Ejecutando los «hooks» de posinstalación...
(1/1) Arming ConditionNeedsUpdate...
==> Recibiendo las fuentes...
  -> Descargando microsoft-edge-dev_88.0.673.0-1_amd64.deb...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 84.2M  100 84.2M    0     0   255k      0  0:05:37  0:05:37 --:--:--  413k
  -> Microsoft Standard Application License Terms - Standalone (free) Use Terms.pdf ha sido encontrado 
==> Validando los archivos source con sha256sums...
    microsoft-edge-dev_88.0.673.0-1_amd64.deb ... Aprobado
    Microsoft Standard Application License Terms - Standalone (free) Use Terms.pdf ... Aprobado
==> Extrayendo las fuentes...
  -> Extrayendo microsoft-edge-dev_88.0.673.0-1_amd64.deb con bsdtar
==> Entrando en entorno fakeroot...
==> Iniciando package()...
  -> Extracting the data.tar.xz...
  -> Removing Debian Cron job and duplicate product logos...
==> Depurando la instalación...
  -> Quitando los archivos libtool...
  -> Purgando los archivos innecesarios...
  -> Quitando los archivos de las bibliotecas estáticas...
==> Buscando problemas de empaquetado...
==> Creando el paquete «microsoft-edge-dev»...
  -> Generando el archivo .PKGINFO...
  -> Generando el archivo .BUILDINFO...
  -> Generando el archivo .MTREE...
  -> Comprimiendo el paquete...
==> Abandonando el entorno fakeroot.
==> Compilación terminada: microsoft-edge-dev 88.0.673.0-1 (jue 22 oct 2020 21:32:42)
==> Instalando el paquete microsoft-edge-dev con pacman -U...
==> ADVERTENCIA: Ya se ha compilado un paquete, instalando dicho paquete...
==> Instalando el paquete microsoft-edge-dev con pacman -U...
[sudo] password for kr105: 
cargando los paquetes...
resolviendo dependencias...
buscando conflictos entre paquetes...

Paquetes (1) microsoft-edge-dev-88.0.673.0-1

Tamaño total de la instalación:  294.20 MiB

:: ¿Continuar con la instalación? [S/n] S
(1/1) comprobando las claves del depósito                  [###############################] 100%
(1/1) verificando la integridad de los paquetes            [###############################] 100%
(1/1) cargando los archivos de los paquetes                [###############################] 100%
(1/1) comprobando conflictos entre archivos                [###############################] 100%
(1/1) comprobando el espacio disponible en el disco        [###############################] 100%
:: Procesando los cambios de los paquetes...
(1/1) instalando microsoft-edge-dev                        [###############################] 100%
Dependencias opcionales para microsoft-edge-dev
    libpipewire02: WebRTC desktop sharing under Wayland
    kdialog: for file dialogs in KDE
    gnome-keyring: for storing passwords in GNOME keyring [instalado]
    kwallet: for storing passwords in KWallet
    gtk3-print-backends: for printing [instalado]
    libunity: for download progress on KDE
    ttf-liberation: fix fonts for some PDFs - CRBug #369991 [instalado]
    xdg-utils [instalado]
:: Ejecutando los «hooks» de posinstalación...
(1/3) Arming ConditionNeedsUpdate...
(2/3) Updating icon theme caches...
(3/3) Updating the desktop file MIME type cache...
  • Si existiera algún problema para crear el archivo pkg.tar.zst, entonces es necesaria la instalación de los paquetes de base-devel
[kr105@thundercracker] {~/Descargas/microsoft-edge-dev} -$>: sudo pacman -S base-devel
:: Hay 24 miembros en el grupo base-devel:
:: Repositorio core
   1) autoconf  2) automake  3) binutils  4) bison  5) fakeroot  6) file  7) findutils  8) flex
   9) gawk  10) gcc  11) gettext  12) grep  13) groff  14) gzip  15) libtool  16) m4  17) make
   18) pacman  19) patch  20) pkgconf  21) sed  22) sudo  23) texinfo  24) which

Introduzca una selección (por omisión=todos):