Publicado em fevereiro/2020 (Instalação executada em outubro/2018)
Frequentemente necessitamos de um ambiente para fazer alguns testes ou mesmo para estudar, e neste caso utilizei uma configuração com CentOS, Oracle e SQL Server em um desktop que estava encostado (processador Intel CoreI3 e 8GB de RAM). Adicionalmente foram instalados o TeamViewer para acesso remoto, servidor FTP e o Oracle Virtual Box para instalação de máquinas virtuais.
Instalação mínima, selecionado apenas ferramentas administrativas. Opções utilizadas:
Hardware com 3 HDs instalados, sendo 2 discos de 500GBytes e 1 disco de 1000GBytes, totalizando
aproximadamente 2TBytes particionados conforme tabela a seguir:
Adicionada uma área de SWAP de 20GBytes, sendo “/mssql” e “/u01” respectivamente
para as bases Microsoft SQL Server e Oracle.
SELINUX setado como "permissive" (SELINUX=permissive), pois trata-se de requisito instalação Oracle. O arquivo de configuração encontra-se em “/etc/selinux/config” (atenção para não errar, pois impede o boot normal em caso de erro!).
Instalado o KDE conforme mostrado a seguir:
$yum update $yum groupinstall "KDE Plasma Workspaces" $startx #inicializa a GUI (Graphical User Interface)
Versão utilizada:
"https://download.teamviewer.com/download/version_12x/teamviewer.i686.rpm".
Instalação utilizando o YUM:
$yum install teamviewer_12.0.93330.i686.rpm
Alterar o boot para iniciar no modo gráfico para caso de "reboot" remoto e ter o TeamViewer disponível sem precisar acessar a máquina localmente:
$systemctl set-default graphical.target
Se quiser voltar para o modo texto:
$systemctl set-default multi-user.target
Instalada a versão 11g, observando que no particionamento criamos a partição “/u01” para instalação do Oracle.
Usuários e grupos necessários (usuário root):
$ groupadd -g 501 oinstall $ groupadd -g 502 dba $ groupadd -g 503 oper $ groupadd -g 504 asmadmin $ groupadd -g 506 asmdba $ groupadd -g 505 asmoper $ useradd -u 502 -g oinstall -G dba,asmdba,oper oracle $ passwd oracle
Pastas e permissões onde será instalado o Oracle (usuário root):
$ mkdir -p /u01/app/oracle/product/11.2.0/db_1 $ chown -R oracle:oinstall /u01 $ chmod -R 775 /u01
Inserir a identificação do nome do host no arquivo de configuração “/etc/hosts” (usuário root), responsável pela associação “ip-nome”, neste exemplo:
127.0.0.1 i3centos i3centos.localhost localhost localhost.localdomain ::1 i3centos i3centos.localhost localhost localhost.localdomain 192.168.1.39 i3centos i3centos.localhost localhost localhost.localdomain
Para setar as variáveis de ambiente logar com o usuário oracle criado e ajustar o .bash_profile.
vi .bash_profile
# Oracle Settings TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_HOSTNAME=i3centos; export ORACLE_HOSTNAME ORACLE_UNQNAME=desemp; export ORACLE_UNQNAME ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME ORACLE_SID=desemp; export ORACLE_SID PATH=/usr/sbin:$PATH; export PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
Atenção para alterar o hostname (ORACLE_HOSTNAME , “i3centos” neste caso) e a identificação que for usar para o banco (ORACLE_UNQNAME e ORACLE_SID, “desemp” neste caso). Observar ainda que está sendo utilizado o caminho padrão da instalação do oracle, por isso foi provisionada a partição “/u01” no início do processo, caso for utilizar um caminho diferente não esquecer de ajustar todas as variáveis de ambiente.
Precisamos também ajustar alguns parâmetros do sistema operacional necessários para instalação do oracle (usuário root). Vamos editar o arquivo de configuração “/etc/sysctl.conf” e inserir ou ajustar os paramêtros como mostrado a seguir:
fs.suid_dumpable = 1 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586
Aplicar as alterações:
$ /sbin/sysctl -p
Adicionar ou alterar o arquivo de configuração “/etc/security/limits.conf” como mostrado a seguir:
oracle soft nproc 16384 oracle hard nproc 16384 oracle soft nofile 4096 oracle hard nofile 65536 oracle soft stack 10240
Adicionar ou alterar o arquivo de configuração "/etc/security/limits.d/90-nproc.conf" como abaixo:
* - nproc 16384
Vale ressaltar que se o arquivo existir e tiver a configuração “* soft nproc 1024”, esta deve ser substituída para mostrada acima.
Instalar os pacotes que são pré-requisitos para a instalação do oracle
$ yum install binutils-2*x86_64* $ yum install glibc-2*x86_64* nss-softokn-freebl-3*x86_64* $ yum install glibc-2*i686* nss-softokn-freebl-3*i686* $ yum install compat-libstdc++-33*x86_64* $ yum install glibc-common-2*x86_64* $ yum install glibc-devel-2*x86_64* $ yum install glibc-devel-2*i686* $ yum install glibc-headers-2*x86_64* $ yum install elfutils-libelf-0*x86_64* $ yum install elfutils-libelf-devel-0*x86_64* $ yum install gcc-4*x86_64* $ yum install gcc-c++-4*x86_64* $ yum install ksh-*x86_64* $ yum install libaio-0*x86_64* $ yum install libaio-devel-0*x86_64* $ yum install libaio-0*i686* $ yum install libaio-devel-0*i686* $ yum install libgcc-4*x86_64* $ yum install libgcc-4*i686* $ yum install libstdc++-4*x86_64* $ yum install libstdc++-4*i686* $ yum install libstdc++-devel-4*x86_64* $ yum install make-3.81*x86_64* $ yum install numactl-devel-2*x86_64* $ yum install sysstat-9*x86_64* $ yum install compat-libstdc++-33*i686*
Neste momento seria interessante reiniciar o sistema para confirmar se nada deu errado, e no momento de carregar a GUI utilizar o usuário “oracle”, para iniciarmos finalmente a instalação do banco de dados.
No link http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html podemos baixar os arquivos para instalação do oracle, neste caso a versão 11G.
Utilizar o usuário oracle para os procedimentos de instalação relacionados a partir deste momento.
Descompactar os arquivos de instalação:
$ unzip linux.x64_11gR2_database_1of2.zip $ unzip linux.x64_11gR2_database_1of2.zip
Executar o programa de instalação do oracle:
$ /home/oracle/Downloads/database/runInstaller
Observar que o caminho vai depender de onde os arquivos foram descompactados.
Print das telas durante a instalação do Oracle:
Não esquecer de anotar o URL do Database Control, no caso "http://i3centos:1158/em", e executar os scripts de configuração quando solicitado:
$ /u01/app/oraInventory/orainstRoot.sh $ /u01/app/oracle/product/11.2.0/db_1/root.sh
Neste momento é necessário liberar a porta 1521 no firewall para que possamos conectar:
$ firewall-cmd --zone=public --add-port=1521/tcp --permanent $ firewall-cmd --zone=public --add-port=1158/tcp --permanent $ firewall-cmd --reload
Conexões com o "SQL Developer" e via "Enterprise Manager":
Criação da Tabespace:
CREATE BIGFILE TABLESPACE "DESEMP" DATAFILE '/u01/app/oracle/oradata/desemp/desmp' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENTLOCAL SEGMENT SPACE MANAGEMENT AUTO
Criar usuários desejados:
Se reinciar a máquina não esquecer de subir todos os serviços Oracle e liberar as portas no firewall (usuário "oracle"):
[oracle@i3centos ~]$ sqlplus / as sysdba SQL> startup
Após subir a instancia com sucesso subir o listener
[oracle@i3centos ~]$ lsnrctl start
Se desejar testar o listener:
[oracle@i3centos ~]$ tnsping desemp
Abrir as portas no firewall (aqui como root):
[root@i3centos ~]# iptables -I INPUT -p tcp --dport 1521 -j ACCEPT [root@i3centos ~]# iptables -I OUTPUT -p tcp --dport 1521 -j ACCEPT [root@i3centos ~]# iptables -I INPUT -p tcp --dport 1158 -j ACCEPT [root@i3centos ~]# iptables -I OUTPUT -p tcp --dport 1158 -j ACCEPT
Finalmente subir o enterprise manager
[oracle@i3centos ~]$ emctl start dbconsole
Subir o serviço de FTP para facilitar a transferência de arquivos
$ yum install vsftpd ftp -y
Ajustar o arquivo de configuração “/etc/vsftpd/vsftpd.conf” ajustando os parâmetros como mostrado a seguir:
anonymous_enable=NO local_enable=YES write_enable=YES chroot_local_user=YES
Liberar o tráfego na porta 21 para o serviço FTP no firewall:
firewall-cmd --permanent --add-port=21/tcp firewall-cmd --permanent --add-service=ftp firewall-cmd –reload
Habilitar e iniciar o serviço:
systemctl enable vsftpd systemctl start vsftpd
Apesar de não ser necessário, podemos criar o usuário para associar ao SQL Server:
[root@i3centos ~]# adduser mssql [root@i3centos ~]# passwd mssql [root@i3centos ~]# groupadd mssql
Ajustar as permissões do particionamento onde colocaremos a base para este usuário:
[root@i3centos ~]# chown mssql: mssql /mssql/ [root@i3centos ~]# chmod 777 /mssql
Instalação do serviço MSSQL:
[root@i3centos ~]# curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo [root@i3centos ~]# yum install -y mssql-server
Escolher a versão a ser instalada e fazer as configurações de usuário e senha:
[root@i3centos ~]# /opt/mssql/bin/mssql-conf setup
Liberar a porta do SQL Server no firewall:
[root@i3centos ~]# firewall-cmd --zone=public --add-port=1433/tcp --permanent [root@i3centos ~]# firewall-cmd –reload
Instalar as ferramentas do SQL Server:
[root@i3centos ~]# curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo [root@i3centos ~]# yum remove unixODBC-utf16 unixODBC-utf16-devel [root@i3centos ~]# yum install -y mssql-tools unixODBC-devel
Configurar as variáveis de ambiente do usuário “mssql”, permitindo que as ferramentas sejam executadas sem especificar o caminho completo:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc
Para a a conexao local fazemos:
sqlcmd -S localhost -U SA -P 'oraculo@2018'
Seria intereressante ainda mover o “tempdb” para as partição que criamos para as bases de dados, na consulta a seguir podemos verificar os nomes de arquivo lógicos do banco de dados tempdb e o seu local atual no disco:
SELECT name, physical_name AS CurrentLocation FROM sys.master_files WHERE database_id = DB_ID(N'tempdb');
Obsevamos que por padrão encontra-se no seguinte caminho:
/var/opt/mssql/data/tempdb.mdf ➙ mudar para /mssql/bases
Vamos então alterar o local de cada arquivo usando ALTER DATABASE.
ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = '/mssql/bases/tempdb.mdf'); ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = '/mssql/bases/templog.ldf');
Para efetivar a alteração precisamos reiniciar sql server:
systemctl stop mssql-server ➙ parar o serviço systemctl start mssql-server ➙ reiniciar o serviço systemctl status mssql-server ➙ verificar o serviço
cd /etc/yum.repos.d wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo yum --enablerepo=epel install dkms yum groupinstall "Development Tools" yum install kernel-devel
Verificar as versões disponíveis no repositório YUM e instalar a mais recente:
yum search VirtualBox
Para cada usuário que for executar uma máquina virtual:
usermod -a -G vboxusers username
Podemos subir um Windows para trabalhar como servidor WEB suportando o IIS (Internet Information Services)
, por exemplo: