1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function log_sql_erro($mensagem){
 
$descricao = mysql_error();
$nr_erro = mysql_errno();
 
$error = "MySQL erro: $descricao";
$error .= "Numero do erro: $nr_erro";
$error .= "Data:" . date ("D, F j, Y H:i:s");
$error .= "IP: " . getenv("REMOTE_ADDR");
$error .= "Browser" . getenv("HTTP_USER_AGENT");
$error .= "Referer" . getenv("HTTP_REFERER");
$error .= "Server name" . getenv("SCRIPT_NAME");
$error .= "Script Name" . getenv("SERVER_NAME");
$error .= "Server" . getenv("SERVER_SOFTWARE");
$error .= "OS" .PHP_OS;
$error .= "PHP Versao" . PHP_VERSION;
$error .= "";
 
echo $error;
 
exit();
}

Instalando CentOS 6.2 x86_64

Neste artigo de hoje vou mostrar como instalar e fazer as configurarações iniciais do centOS 6.2 x86_64, neste servidor será instalado o Oracle 11g R2, para replicação do ambiente principal que esta no Red Hat 6.2 x86_64.

Estou usando um ambiente cloud, com as seguintes configurações;

Processador Intel Xeon E5620 2.40GHz
8 Core’s
12 GB ram
1 Placa de rede (Gigabyte)
300 GB de espaço

Antes de iniciarmos precisamos fazer download do centos, acesse o link e baixe de onde preferir.

Baixe a versão x86_64
Links para donwloads
http://www.centos.org/
http://www.centos.org/modules/tinycontent/index.php?id=15

Mãos na massa!!!!

Nesta primeira tela do boot selecione a opçao install
Escolha o idioma de sua preferencia.

Selecione o seu tipo de teclado.

Tipo de armazenamento (estou usando disco local, caso esteja usando armazenamenro em storage selecione o outro tipo.)

Informe o nome para o host.

Fuso horário.

Informe uma senha para usuário root e confirme.

Marque a opção para criar personalizado e prosiga.

Recomendações do DBA para criação do swap

1024 MB até 2048 – Calcular espaço do Swap 1.5 X RAM
2049 MB até 16 GB – Calcular espaço do Swap 1 X RAM
maior que 16 GB – Espaço do Swap 16 GB

Vou criar a partição swap com o tamanho equivalente q quantidade de memória ram disponivel, no meu caso tenho 12 GB, então vou criar uma partiçao com 122888 MB (1024*12).

Agora crie uma outra partição, com o ponto de montagem / (barra) e marque para utilizar o espaço restante.

Aguarde o processo de formatação, levará alguns minutos até a próxima tela.

Nesta etapa o instalador copia os arquivos e faz as configurações Pós-Instalação automaticamente, é so aguardar….

A tela abaixo mostra que finalizamos a primeira etapa (instalação), agora vamos fazer as configurações iniciais.

Nesta será criado um outro usuário (informe um usuário e senha).

Informe a data e hora.

Kdump – Após configurar o kdump reinicie o host.

Quando reiniciar a primeira configuração a ser feita é liberar o acesso SSH ao servidor(essencial para configurar remotamente de outros computadores.).

para habilitar o SSH digite o comando no terminal.

#chkconfig sshd on

Agora inicie o serviço.

#service sshd start

Em seguida vamos configurar a placa de rede.

Logue como root, e no terminal digite #ifconfig, anote o endereço MAC.

#ifconfig

Agora acesse o diretório network-scripts

#cd /etc/sysconfig/network-scripts

crie um arquivo com o nome ifcfg-eth0

#vi ifcfgeth0

Dentro do arquivo deverá conter as informações como abaixo(altere conforme sua rede)

#ENDEREÇO MAC

HWADDR=00:00:00:00:00:00

TYPE=Ethernet

BOOTPROTO=none

#IP DO HOST

IPADDR=192.168.1.19

#MASCARA

PREFIX=24

#GATEWAY

GATEWAY=192.168.1.6

#SERVIDORES DNS DA SUA REDE

DNS1=192.168.1.2

DNS1=192.168.1.9

DEFROUTE=yes

IPV4_FAILURE_FATAL=yes

IPV6INIT=no

#NOME DA CONEXAO

NAME=eth0

#ATIVA PLACA DE REDE NO BOOT

ONBOOT=yes

Salve o arquivo e reinicie o servidor para aplicar as alterações.

no terminal digite o comando abaixo para atualizar os pacotes do servidor(esta etapa demora um pouco dependendo da sua velocidade com a internet).

#yum update -y

Vamos configurar o arquivo hosts

#vi /etc/hosts

Acrescente a linha no final do arquivo conforme o endereço IP que você informou durante a instalação e nome do host.

192.168.1.19 srv06.seudomnio.com srv06

Agora vamos desativar o SELINUX, edite o arquivo /etc/selinux/cofig

#vi etc/selinux/config

Altere de enforcing para disable

SELINUX=disabled

Agora vamos configurar os pré-requisitos para instalaçao do oracle 11g R2

Vamos editar o arquivo /etc/sysctl.conf e setar os parâmetros do kernel.

kernel.shmall = 2097152

kernel.shmmax = 536870912

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 6815744

fs.aio-max-nr = 1048576

fs.suid_dumpable = 1

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 = 1048576

Em seguida vamos instalar os pacotes necessários para instalação do oracle.
Estes pacotes estão no diretório Packages da midia de instalação
Você poderá instalar pacote por pacote com o comando rpm -ivh nome-pacote ou pelo YUM

Veja abaixo a lista dos pacotes a serem instalados:

yum install -y gnome-icon-theme-2.28.0-2.el6.noarch

yum install -y sgml-common-0.6.3-32.el6.noarch

yum install -y dmz-cursor-themes-0.4-4.el6.noarch

yum install -y libstdc++-devel-4.4.4-13.el6.x86_64

yum install -y kernel-headers-2.6.32-71.el6.x86_64

yum install -y elfutils-libelf-devel-0.148-1.el6.x86_64

yum install -y libgcc-4.4.4-13.el6.i686

yum install -y nss-softokn-freebl-3.12.7-1.1.el6.i686

yum install -y glibc-2.12-1.7.el6.i686

yum install -y mpfr-2.4.1-6.el6.x86_64

yum install -y libXt-1.0.7-1.el6.x86_64

yum install -y libXmu-1.0.5-1.el6.x86_64

yum install -y libXxf86misc-1.0.2-1.el6.x86_64

yum install -y libXxf86vm-1.1.0-1.el6.x86_64

yum install -y libaio-0.3.107-10.el6.i686

yum install -y libstdc++-4.4.4-13.el6.i686

yum install -y ncurses-libs-5.7-3.20090208.el6.i686

yum install -y readline-6.0-3.el6.i686

yum install -y libICE-1.0.6-1.el6.i686

yum install -y xorg-x11-xauth-1.0.2-7.1.el6.x86_64

yum install -y cpp-4.4.4-13.el6.x86_64

yum install -y libtool-ltdl-2.2.6-15.5.el6.x86_64

yum install -y unixODBC-2.2.14-11.el6.x86_64

yum install -y ppl-0.10.2-11.el6.x86_64

yum install -y cloog-ppl-0.15.7-1.2.el6.x86_64

yum install -y libmcpp-2.7.2-4.1.el6.x86_64

yum install -y mcpp-2.7.2-4.1.el6.x86_64

yum install -y xorg-x11-server-utils-7.4-15.el6.x86_64

yum install -y compat-db42-4.2.52-15.el6.x86_64

yum install -y compat-db43-4.3.29-15.el6.x86_64

yum install -y libdmx-1.1.0-1.el6.x86_64

yum install -y libXxf86dga-1.1.1-1.el6.x86_64

yum install -y libXv-1.0.5-1.el6.x86_64

yum install -y libIDL-0.8.13-2.1.el6.x86_64

yum install -y ORBit2-2.14.17-3.1.el6.x86_64

yum install -y GConf2-2.28.0-6.el6.x86_64

yum install -y libbonobo-2.24.2-4.el6.x86_64

yum install -y gtk2-engines-2.18.4-5.el6.x86_64

yum install -y shared-mime-info-0.70-4.el6.x86_64

yum install -y libdaemon-0.14-1.el6.x86_64

yum install -y avahi-0.6.25-8.el6.x86_64

yum install -y avahi-glib-0.6.25-8.el6.x86_64

yum install -y gnome-vfs2-2.24.2-6.el6.x86_64

yum install -y libtool-ltdl-2.2.6-15.5.el6.i686

yum install -y unixODBC-2.2.14-11.el6.i686

yum install -y libuuid-2.17.2-6.el6.i686

yum install -y libSM-1.1.0-7.1.el6.i686

yum install -y libXau-1.0.5-1.el6.i686

yum install -y xorg-x11-utils-7.4-8.el6.x86_64

yum install -y compat-libstdc++-33-3.2.3-69.el6.x86_64

yum install -y celt051-0.5.1.3-0.el6.x86_64

yum install -y libXp-1.0.0-15.1.el6.x86_64

yum install -y libxcb-1.5-1.el6.i686

yum install -y libX11-1.3-2.el6.i686

yum install -y libXext-1.1-3.el6.i686

yum install -y ConsoleKit-x11-0.4.1-3.el6.x86_64

yum install -y libXi-1.3-3.el6.i686

yum install -y xorg-x11-xinit-1.0.9-13.el6.x86_64

yum install -y libXtst-1.0.99.2-3.el6.i686

yum install -y libXt-1.0.7-1.el6.i686

yum install -y compat-libstdc++-33-3.2.3-69.el6.i686

yum install -y glibc-headers-2.12-1.7.el6.x86_64

yum install -y glibc-devel-2.12-1.7.el6.x86_64

yum install -y gcc-4.4.4-13.el6.x86_64

yum install -y compat-gcc-34-3.4.6-19.el6.x86_64

yum install -y gnome-themes-2.28.1-6.el6.noarch

yum install -y system-icon-theme-6.0.0-2.el6.noarch

yum install -y system-gnome-theme-60.0.2-1.el6.noarch

yum install -y ncurses-devel-5.7-3.20090208.el6.x86_64

yum install -y libgnome-2.28.0-11.el6.x86_64

yum install -y gcc-c++-4.4.4-13.el6.x86_64

yum install -y readline-devel-6.0-3.el6.x86_64

yum install -y glibc-devel-2.12-1.7.el6.i686

yum install -y compat-db-4.6.21-15.el6.x86_64

yum install -y unixODBC-devel-2.2.14-11.el6.i686

yum install -y unixODBC-devel-2.2.14-11.el6.x86_64

yum install -y libaio-devel-0.3.107-10.el6.i686

yum install -y libaio-devel-0.3.107-10.el6.x86_64

yum install -y compat-gcc-34-c++-3.4.6-19.el6.x86_64.rpm

yum install -y compat-li*

yum install -y elfu*

yum install -y gcc-c++ pdksh*

yum install -y gcc

yum install -y compat*

yum install -y pdksh*

 

# yum install -y unixODBC.i686

# yum install -y unixODBC-devel.i686

# yum install -y unixODBC-devel

http://blog.fabianobento.com.br/downloads/pdksh-5.2.14-12.i386.rpm
http://blog.fabianobento.com.br/downloads/pdksh-5.2.14-21.x86_64.rpm

Agora seu servidor está pronto para receber a instalação do oracle.

Contate seu DBA para criar o diretório da instalação, configurar os usuários, permissões e parametros do Oracle.

Posts relacionados

 

Instalando e Configurando o VNC no Red Hat 6.2 / CentOS 6.2
http://blog.fabianobento.com.br/2012/05/instalando-configurando-vnc-red-hat-6-2/

Habilitando ambiente X na inicialização do Red Hat 6.2 / CentOS 6.2
http://blog.fabianobento.com.br/2012/05/habilitando-ambiente-na-inicializacao-red-hat-6-2/

Instalando o Oracle Database 11g Release 2 (11.2) no Red Hat 6.2 – Resolvendo dependencias
http://blog.fabianobento.com.br/2012/05/instalando-oracle-database-11g-release-2-11-2-red-hat-6-2/

 

[REVISÃO em 12-05-2012]
Aumentando a área de Swap sem ter que reinstalar o Red Hat – Instalação do oracle 11G R2

Completando uma sequencia de 7 artigos, mostrando configurações de serviços e de softwares no Red Hat, hoje vou publicar a solução que encontrei para aumentar a área de swap sem ter que reinstalar o OS.
Esta sequencia de artigos se deu ao fato da migraçao de ambiente que estou acompanhando aqui na empresa onde trabalho.

Um outro problema que você poderá ter na etapa 18 da instalaçao o oracle é a área Swap que deve ter no minimo 16 GB, ao contrário você terá um erro como a imagem abaixo.

Bom vamos ao que interessa, Como resolver ??

(Geralmente configuramos área de swap equivalente a metade de memória que temos no servidor)

No meu caso o servidor tem 32 GB e minha área de swap tinha 15.62 GB e era necessário 16 GB para instalação do oracle, então precisei especificar em 400 MB no shell para chegarmos nos 16GB.
1024*16 (16384 MB)

Vamos verificar o tamanho do swap

No terminal digite

1
# free

Depois verificamos quanto de espaço físico temos em disco para poder aumentar na memória swap.

1
# df -hT

Em seguida iremos criar um diretório no raíz com o nome de swap:

1
# mkdir /swap

Agora criaremos a swap propriamente dita:

1
# cd /swap

no meu caso ja tinha 15.62 GB de swap, então precisei adicionar 400 MB

1
# dd if=/dev/zero of=/swap/swapfile bs=1024 count=400000

Leva alguns minutos para concluir, espere aparecer a mensagem abaixo.

400000+0 records in
400000+0 records out

É recomendado mudar a permissão do arquivo

#chmod 600 /swap/swapfile

1
# mkswap /swap/swapfile

Setting up swapspace version 1, size = 509595904 bytes

1
# swapon /swap/swapfile

Pronto, agora veja o resultado.

1
# free


Vamos adicionar agora a nova entrada no FSTAB para montar no boot. Edite o arquivo /etc/fstab e adicionando a seguinte linha:

/swap/swapfile swap swap defaults 0 0

Salve e saia do FSTAB.

Pronto esta feito , você acabou de aumentar sua SWAP.

Se quizer voltar ao tamanho original , delete o arquivo que esta em /swap e tire a linha do /etc/fstab.

post original: http://jf.eti.br/howto-aumentando-a-area-de-swap-sem-ter-que-reinstalar/

Instalando o Oracle Database 11g Release 2 (11.2) no Red Hat 6.2

Resolvi criar este post devido algumas dificuldades que encontramos em migrar de versão do oracle 10g para 11g R2 e de Plataforma Windows 2003 Standard (32) para Red Hat 6.2 X86_64

O problema de fato foi na etapa 18 da instalação do banco de dados, pois o oracle exige alguns pacotes em versão inferior a que está disponivel no Red Hat 6.2 e com a compilação i386, sendo que estão disponiveis apenas na compilação i686 (resumindo ambos são versão 32b porem o nome da compilação mudou)

ora_dependencias

ora_dependencias

Dependencias

libaio-0.3.105
compat-libstdc++--33-3.2.3
libaio-devel-0.3.105
libgcc-3.4.6
libstdc++-3.4.6
unixODBC-2.2.11
unixODBC-devel-2.2.11
pdksh-5.2.14

Eu tentei desistalar alguns pacotes que estavam em versão mais atual para instalar na versão que o instalador pediu o resultado foi um fracasso, pois não é possivel desistalar todos os pacotes por causa de várias dependencias que eles possuem, além do fato de estarmos usando um sistema atualizado e fazendo ele trabalhar com pacotes desatualizados… leia abaixo o resultado da minha experiencia.

Desistalação de Pacotes com RPM (Red Hat Package Manager)

Importante – Nunca use o comando (rpm -e –nodeps)

Read More →

Antes de desligar seu servidor é necessário parar o serviço do oracle pois quando você religar o servidor o serviço não vai subir automaticamente.

mão na massa!

Na console do linux faça o seguinte

1
sqlplus / as sysdba
1
shutdown immediate

Depois disso de exit e digite

1
#lsnrctl stop

Agora é só desligar o servidor as duas formas mais comuns são:

1
2
3
4
5
#/sbin/shutdown -h now
e
#/sbin/shutdown -r now
 
a opção -h suspende a máquina, e a opção -r reinicializa.

Tendo a necessidade para um maior controle das ligações que são feitas e dividir os custos por setor da empresa, iremos integrar o LOG que o software remora cria a cada ligação que é feita.
O PABX intelbras permite controlar as ligações atráves de usuário e senha, os usuário vão de 00 a 99, o pabx está conectado no servidor atraves da porta serial.
O remora gera 2 tipos de LOG, sendo um por ramal onde originou as ligações e outro por codigo de usuário que fez as ligações. Este logs ficam dentro na pasta(INTEGRA) onde o remora foi instalado.

Esta integração será feita usando um script PHP que ficara como uma tarefa agendada(CRON), para ser executada 2 vezes por dia, as 12h e 24h.

arquivos de log
Por código sendo os 2 ultimos caracteres no nome do arquivo o codigo de usuário.
CODIGO00.TXT, CODIGO01.TXT, CODIGO02.TXT, CODIGO03.TXT, CODIGO04.TXT…

CONTEUDO DO ARQUIVO CODIGO00.TXT

1
2
3
4
Hora     T OP TR RRRRR NNNNNNNNNNNNNNNNNNNN HH:MM:SS HH:MM:SS DD/MM/AAAA CL 99999,99 CP DDDDDDDDDDDDDDDDDDDDDDDDD
15:55:43 S 12 32   304 99999999             15:36:35 00:00:18 20/10/2011  5     0,28 00 CELULAR DDD 016
15:55:45 S 12 04   304 99999999             15:37:24 00:00:14 20/10/2011  7     0,13 00 FRANCA
16:00:06 S 12 31   304 99999999             15:59:41 00:00:23 20/10/2011  5     0,00 00 Fabiano celular

CONTEUDO DO ARQUIVO RMO00300.TXT
Por ramal sendo os 5 ultimos caracteres no nome do arquivo o numero do ramal.
RMO00300.TXT

1
2
3
03   300 99999999         10:30:54 00:00:07 20110627         0,15 12
32   300 99999999         10:41:51 00:02:46 20110627         2,10 12
01   300 99999999         10:50:51 00:00:07 20110627         0,15 12

Obs.: não esqueça de configurar o PHP para conectar ao oracle

Caso seu servidor web esteja em um ambiente separado do servidor com o remora instalado, você poderá criar scripts em shell para transferir os arquivos ou compartilhar a pasta, enfim faça da maneira que irá te atender.

Vamos ao que interessa;
O codigo está comentado, por isso não vou explicar passo a passo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
set_time_limit(0); //definiar tempo para execução do script caso o arquivo tenha muitas linhas
ob_start();
 
require_once('conecta_oracle.php');
//configure conforme o seu ambiente.
// "\ip_servidorpasta_compartilhadaarquivos do LOG"
$diretorio_data = "C:\intranet\www\data_txt\";
 
//listar arquivos do diretorio.
$$dir = @opendir($diretorio_data);
$i=0;
while (false !== ($file = readdir($$dir))) {// while pastas
	if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != $dir) { // if pastas
		$i++;
		$indice[$i] = "$file";
		$nm_arquivo 	= $indice[$i] = "$file";
		$tipo		= substr($indice[$i], 0, 6);
		$codigo_ramal	= substr($indice[$i], 6, 2);
 
 
// recebe parametros
	if($tipo == 'CODIGO'){
		//imprimi o nome do arquivo
		echo $nm_arquivo;
		echo ' -- '.$i.'<br />';
 
		$arquivo = $diretorio_data.$nm_arquivo;
 
			if (file_exists($arquivo)) {
 
			$ponteiro = fopen ("$arquivo", "r");
 
			$num_linhas = 0;
			$caracteres = 0;
 
				while (!feof ($ponteiro)) {
					if ($linha = fgets($ponteiro, 4096)){
						$num_linhas++;
						$caracteres += strlen($linha);
 
						if ($num_linhas != "1"){ // ignorar a primeira linha do arquivo cabeçalho.
							$DATA_IMPORTACAO = date('d/m/Y');//;
							$DS_USUARIO = 'import';
							$CD_PABX = $codigo_ramal;
 
							$HR_LEITURA			= substr($linha, 0, 9);
							$DS_TIPO			= substr($linha, 9, 1);
							$DS_OP 				= substr($linha, 11, 2);
							$DS_TR 				= substr($linha, 14, 2);
							$NR_RAMAL 			= substr($linha, 17, 5);
							$NR_LIGACAO 		= substr($linha, 23, 20);
							$HR_LIGACAO			= substr($linha, 44, 8);
							$DS_DURACAO 		= substr($linha, 53, 8);
							$DT_LIGACAO			= substr($linha, 62, 10);
							$DS_CL 				= substr($linha, 73, 2);
							$VL_LIGACAO			= substr($linha, 76, 8);
							$DS_CP 				= substr($linha, 85, 2);
							$DS_DESTINO 		= substr($linha, 88, 25);
 
							$consulta = "INSERT INTO hak_pabx_registro_codigo_tb (
							NR_SEQUENCIA, DATA_IMPORTACAO, DS_USUARIO, CD_PABX, HR_LEITURA, DS_TIPO, DS_OP, DS_TR,
							NR_RAMAL, NR_LIGACAO, HR_LIGACAO, DS_DURACAO, DT_LIGACAO, DS_CL, VL_LIGACAO, DS_CP, DS_DESTINO
							)
							VALUES (
							HAK_TELEFONIA_SEQ.Nextval, '$DATA_IMPORTACAO', '$DS_USUARIO', '$CD_PABX', '$HR_LEITURA', '$DS_TIPO', '$DS_OP', '$DS_TR',
							'$NR_RAMAL', '$NR_LIGACAO',	'$HR_LIGACAO', '$DS_DURACAO', '$DT_LIGACAO', '$DS_CL', '$VL_LIGACAO', '$DS_CP', '$DS_DESTINO'
							)";
 
								$stid = oci_parse( $conexao, "".$consulta."" ) or die ( " erro " . oci_error() );
 
								oci_execute ( $stid );
									//$exec = oci_execute( $stid , OCI_DEFAULT);
								oci_commit( $conexao );  // commits all new values: 1, 2, 3, 4, 5
 
						}//if ignora primeira linha
					}//if
				}//while
				echo 'total de importações: ' . $num_linhas_total  = $num_linhas_total + $num_linhas;
				fclose ($ponteiro);//FECHA O PONTEIRO DO ARQUIVO
				// você poderá apagar o arquivo para não importar o mesmo arquivo 2 vezes, ou renomear
//unlink("$arquivo");
				//rename($arquivo, "importado".$arquivo."000");//
			}//exists
			else { // FILE EXISTS
				echo "O arquivo $arquivo não FOI FOI ENCONTRADO";
				}
	}//tipo
 
	}
} // fecha while
 
oci_free_statement($stid);
oci_close($conexao);//fecha a conexão atual

Read More →

Oracle/PLSQL: Criando Sequence (CREATE SEQUENCE)

Uma sequence é um gerador de numeros sequenciais, e pode ser parametrizada conforme sua necessidade.

Comando para criar a sequence
Sintaxe

create sequence TESTE_SEQ
minvalue 1
maxvalue 9999999999
start with 1
increment by 1
nocache
cycle;

minvalue = Valor minimo
max value = valor máximo que poderá chegar
start with = valor inicial
increment by 1 = (incremento), se este valor for 2, a sequence será incrementada como; 1,3,5,7,…
CYCLE = Sequencia será recomeçada ao atingir o valor maximo
NO CYCLE = default
OWNED BY table.col = Associa a uma coluna
OWNED BY NONE = sem associação

para testar a sequence

Read More →

Downloads, tutoriais de instalação e muito mais, confira.

Site Oficial do PostgreeSQL
http://www.postgresql.org/

Site Brasileiro sobre PostgreSQL
http://www.postgresql.org.br/

Site oficial do PHP com instruções de configuração e uso das funções do PostgreeSQL.

http://br2.php.net/manual/pt_BR/book.pgsql.php

Abrindo uma conexão com o banco

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$bdcon = pg_connect("dbname=flavia");
//conecta a um banco de dados chamado "flavia"
 
$bdcon2 = pg_connect("host=localhost port=5432 dbname=flavia");
// conecta a um banco de dados chamado "flavia" em "localhost" na porta "5432"
 
$bdcon3 = pg_connect("host=ovelha port=5432 dbname=flavia user=ze password=buu");
//conecta a um banco de dados chamado "flavia" na máquina "ovelha" com um usuário e senha
 
$con_string = "host=ovelha port=5432 dbname=flavia user=ze password=buu";
$bdcon4 = pg_connect($con_string);
//coneta a um banco de dados chamado "flavia" na máquina "ovelha" com um usuário e senha
?>

Fechando a conexão com o banco

1
2
3
4
5
6
<?php
      $dbconn = pg_connect("host=localhost port=5432 dbname=mary")
          or die("Não foi possível conectar");
      print("Conexão bem sucedida");
      pg_close($dbconn);
  ?>

Projeto Service manager

01 Introdução – http://blog.fabianobento.com.br/2011/09/projeto-service-manager/
02 Padrões para o projeto e especificações – http://blog.fabianobento.com.br/2011/09/projeto-service-manager-padroes-para-projeto-especificacoes/

Padrões para Nomenclatura em um banco de dados
1. INTRODUÇÃO

O objetivo deste documento é prover informações para formalizar a nomenclatura dos objetos de banco de dados, bem como apresentar regras para sua utilização evitando assim o hábito de existir diferentes nomenclaturas dentro da aplicação.
O documento apresenta os objetos de banco de dados com três itens:
Sintaxe, regras e exemplo. Isto para facilitar o entendimento do desenvolvedor.

2. BANCO DE DADOS

O nome do banco de dados deverá identificar o negócio que está sendo automatizado ou deverá refletir a sigla da aplicação.

Sintaxe:

{[a.. z]} _ xxxxxx , onde:

xxxxxx – indica o nome da aplicação que o banco de dados irá atender.
Para o nome da aplicação utilizar tudo em minúsculo com no máximo 25 caracteres de ‘a’ a ‘z’.

3. TABELAS

Exemplos:

tb_ordem_servico – Tabela de ordens de serviços
tb_pessoa – Tabela de pessoa física
tb_cliente – Tabela de clientes.

4. NOME DAS COLUNAS

Identificação Descrição do atributo Tipo de dado utilizado
NM Nome de coluna que irá armazenar valores “string”, ou seja, caracteres.(utilizar para nome próprio) String
NR Nome de coluna que irá armazenar valores numéricos inteiros, para conteúdos significativos. Numérico
IE INDICAR SITUAÇÕES ESPECIAIS, 

Nome de coluna que irá armazenar valores numéricos inteiros, utilizado em um dicionário de dados (Domínio)

Ex. 0 Aberto, 1 Fechado, 3 Cancelado

Numérico/String
DS Nome de coluna que irá armazenar valores “string”, ou seja, caracteres que são descritivos. String (caracteres)
DT Nome de coluna que irá armazenar valores do tipo data Data
HR Nome da coluna que irá armazenar valores do tipo hora Hora
VL Nome de coluna que irá armazenar valores numéricos, ou seja, números que podem possuir casas decimais Numérico
CD Nome de coluna que irá armazenar valores numéricos inteiros, utilizado em atributos falsos. Numérico
ST Nome de coluna que irá armazenar valores do tipo caracteres com conteúdo pré-estabelecido. Ex. Coluna ST_Cliente pode ter seu conteúdo como sendo “A” ou “I” e nenhum outro valor a não ser esses estipulados String
SG Nome de coluna que irá armazenar siglas, EX. Coluna SG_ESTADO pode ter seu conteúdo como sendo as siglas de estados, SP, MG, GO, SC. String

Regras:

– Para siglas utilizar todas as letras em maiúsculo;
– Usar palavras no singular e sem acentuação;
– Usar nome que identifique e individualize o dado dentro da tabela;
– Dar nomes distintos para dados distintos;
– Utilizar o nome sempre no singular;
– Sempre acrescentar comentário sobre a informação da coluna

Exemplos:

Cd_pessoa – código da pessoa
nm_pessoa – nome da pessoa
dt_nascimento – data de nascimento
vl_salario – valor do salário

As informações da padronizção do banco de dados foram criadas a partir de estudos e pesquisas em outros sistemas e na internet.