{"id":189,"date":"2012-01-12T16:53:21","date_gmt":"2012-01-12T18:53:21","guid":{"rendered":"http:\/\/linuxrs.com.br\/?p=189"},"modified":"2012-01-12T16:53:21","modified_gmt":"2012-01-12T18:53:21","slug":"sybase-tutorial","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=189","title":{"rendered":"Sybase Tutorial."},"content":{"rendered":"<h2>Introdu\u00e7\u00e3o<\/h2>\n<p>Resolvi escrever esse tutorial em decorr\u00eancia da falta de conte\u00fado em portugu\u00eas sobre esse excelente banco de dados relacional. Embora a \u00eanfase seja o uso do banco em sistemas Linux, prucurarei cobrir a instala\u00e7\u00e3o em sistemas Windows.<\/p>\n<p>A vers\u00e3o do Sybase atualmente utilizada \u00e9 a Sybase Adaptive Enterprise 15.0 Express Edition. Essa vers\u00e3o \u00e9 gratuita para desenvolvedor com a limita\u00e7\u00e3o de 5 Gb de disco, 2 Gb de RAM e um \u00fanico processador. Ela pode ser instalada em m\u00e1quina com uma configura\u00e7\u00e3o superior, mas o SGBD s\u00f3 ir\u00e1 reconhecer at\u00e9 esse limite.<\/p>\n<p>Para configurar a m\u00e1quina, primeiro \u00e9 necess\u00e1rio baixar a \u00faltima vers\u00e3o do banco, dispon\u00edvel em <a href=\"http:\/\/www.sybase.com\/downloads\" rel=\"nofollow\">Sybase<\/a>. Ap\u00f3s baixar o arquivo, descompacte-o em uma pasta previamente criada e execute o aplicativo setup na linha de comando. Se n\u00e3o tiver o modo gr\u00e1fico do Linux instalado, \u00e9 preciso executa com o prefixo &#8211;console para fazer funcionar o instalador. A instala\u00e7\u00e3o \u00e9 simples, bastando seguir as instru\u00e7\u00f5es.<\/p>\n<h2><a name=\"TOC-Cria-o-do-banco\"><\/a>Cria\u00e7\u00e3o do banco<\/h2>\n<p>Antes de criar o banco de dados no Linux, \u00e9 preciso que tenha instalado dois pacotes. Nas distribui\u00e7\u00f5es Mandriva, Debian e Ubuntu, esses pacotes n\u00e3o s\u00e3o instalados por default e o Sybase n\u00e3o pede explicitamente, por isso \u00e9 interessante ressalt\u00e1-los.<\/p>\n<ul>\n<li>libaio1 &#8211; biblioteca para IO ass\u00edncrona<\/li>\n<li>libstdc++5 &#8211; biblioteca padr\u00e3o c++. Geralmente as distribui\u00e7\u00f5es instalam a ves\u00e3o mais nova, mas esse pacote pode ser instalado normalmente que o sistema n\u00e3o conflita com outras vers\u00f5es.<\/li>\n<\/ul>\n<p>Antes de criar o banco, \u00e9 preciso alterar algumas configura\u00e7\u00f5es do sistema operacional Linux.<\/p>\n<p>1 &#8211; Mem\u00f3ria compartilhada do kernel<\/p>\n<p>O limite padr\u00e3o de mem\u00f3ria compartilhada (tanto SHMMAX quanto SHMALL) \u00e9 de 32 MB nos n\u00facleos 2.2, mas pode ser modificado no arquivo de sistema proc (sem reinicializar o Linux). Por exemplo, para permitir 128 MB:<br \/>\n$ echo 134217728 &gt;\/proc\/sys\/kernel\/shmall<br \/>\n$ echo 134217728 &gt;\/proc\/sys\/kernel\/shmmax<\/p>\n<p>Estes comandos podem ser colocados em um script executado durante a inicializa\u00e7\u00e3o.<\/p>\n<p>Como alternativa, pode ser utilizado sysctl, se estiver dispon\u00edvel, para controlar estes par\u00e2metros. Deve-se procurar pelo arquivo chamado \/etc\/sysctl.conf e adicionar linhas como as mostradas abaixo ao arquivo:<br \/>\nkernel.shmall = 134217728<br \/>\nkernel.shmmax = 134217728<\/p>\n<p>Este arquivo geralmente \u00e9 processado durante a inicializa\u00e7\u00e3o, mas sysctl tamb\u00e9m pode ser chamada explicitamente posteriormente.<\/p>\n<p>2 &#8211; Habilitar o teclado no aplicativo asecfg<\/p>\n<p>Com as vers\u00f5es em portugu\u00eas, o aplicativo gr\u00e1fico que cria o database tem um bug que o teclado n\u00e3o funciona. Para corrigir, \u00e9 preciso criar um link simb\u00f3lico na pasta \/usr\/X11R6\/lib\/X11<br \/>\nln -s \/usr\/share\/X11\/XKeysymDB XKeysymDB<\/p>\n<h2><a name=\"TOC-Instala-o-do-servidor-Sybase\"><\/a>Instala\u00e7\u00e3o do servidor Sybase<\/h2>\n<ul>\n<\/ul>\n<ul>\n<li>Crie uma pasta &#8220;instsybase&#8221; na m\u00e1quina<\/li>\n<li>Copie o arquivo <em>ase1502_xe_linux.tgz<\/em> pra dentro dela<\/li>\n<li>De dentro da pasta, descompacte o arquivo utilizando a linha de comando: <em>tar -xzvf ase1502_xe_linux.tgz<\/em><\/li>\n<li>Remova arquivo compactado: <em>rm ase1502_xe_linux.tgz<\/em><\/li>\n<li>Execute o arquivo setup: <em>.\/setup<\/em><\/li>\n<li>Deve aparecer uma tela semelhante \u00e0 imagem abaixo:<\/li>\n<\/ul>\n<p><a href=\"http:\/\/sites.google.com\/site\/marcosalexandrerodrigues\/syb_splash.png\"><img decoding=\"async\" src=\"http:\/\/sites.google.com\/site\/marcosalexandrerodrigues\/syb_splash-medium-init-.jpg\" alt=\"\" \/><\/a><\/p>\n<ul>\n<\/ul>\n<ul>Clicando em Next ele ir\u00e1 perguntar o banco desejado. O tipo de banco pode ser:<\/ul>\n<ol>\n<li>Adaptive Server Enterprise for evaluation: n\u00e3o possui limites de tamanho, usu\u00e1rio ou mem\u00f3ria. Tem validade de 30 dias ap\u00f3s a instala\u00e7\u00e3o e s\u00f3 deve ser utilizado para testes.<\/li>\n<li>Adaptive Server Enterprise (Developer Edition): \u00e9 a vers\u00e3o para desenvolvedores. N\u00e3o possui limita\u00e7\u00e3o de tamanho ou mem\u00f3ria, mas s\u00f3 permite no m\u00e1ximo 25 conex\u00f5es simult\u00e2neas. Sua licen\u00e7a n\u00e3o permite o uso comercial.<\/li>\n<li>Adaptive Server Enterprise (Express Edition): \u00e9 a vers\u00e3o gratuita para uso comercial. N\u00e3o tem limita\u00e7\u00e3o de usu\u00e1rios, mas permite somente 5 Gb de espa\u00e7o em disco e 2 Gb de mem\u00f3ria RAM.<\/li>\n<\/ol>\n<p>Independente de qual tipo de banco escolhido, as pr\u00f3ximas configura\u00e7\u00f5es s\u00e3o as mesmas.As pr\u00f3ximas instru\u00e7\u00f5es s\u00e3o intuitivas e n\u00e3o devem representar problemas. \u00c9 recomend\u00e1vel que a instala\u00e7\u00e3o seja feita em uma parti\u00e7\u00e3o separada da parti\u00e7\u00e3o do sistema operacional por medidas de seguran\u00e7a. Um diret\u00f3rio comum para esse tipo de instala\u00e7\u00e3o \u00e9 o \/opt<\/p>\n<p>No final da instala\u00e7\u00e3o, ele ir\u00e1 perguntar se voc\u00ea deseja configurar emails de alerta. Selecione No. Se desejar, voc\u00ea poder\u00e1 configurar depois de instalado o sistema.<\/p>\n<p><a href=\"http:\/\/sites.google.com\/site\/marcosalexandrerodrigues\/emailnot.png\"><img decoding=\"async\" src=\"http:\/\/sites.google.com\/site\/marcosalexandrerodrigues\/emailnot-medium-init-.jpg\" alt=\"\" \/><\/a><\/p>\n<p>A pr\u00f3xima etapa \u00e9 criar o novo servidor de banco de dados. Selecione apenas o primeiro item, conforme a figura abaixo:<\/p>\n<p><a href=\"http:\/\/sites.google.com\/site\/marcosalexandrerodrigues\/conf_server.png\"><img decoding=\"async\" src=\"http:\/\/sites.google.com\/site\/marcosalexandrerodrigues\/conf_server-medium-init-.jpg\" alt=\"\" \/><\/a><\/p>\n<p>Como selecionamos apenas o servidor de banco, a pr\u00f3xima etapa ficar\u00e1 assim:<\/p>\n<p><a href=\"http:\/\/sites.google.com\/site\/marcosalexandrerodrigues\/conf_server2.png\"><img decoding=\"async\" src=\"http:\/\/sites.google.com\/site\/marcosalexandrerodrigues\/conf_server2-medium-init-.jpg\" alt=\"\" \/><\/a><\/p>\n<p>A tela mais importante \u00e9 a \u00faltima, onde ir\u00e1 perguntar as op\u00e7\u00f5es do banco. Voc\u00ea pode criar o servidor agora ou pular essa etapa e criar o banco depois com o aplicativo <a title=\"Asecfg\" href=\"http:\/\/documentacao.desenv.callink.com.br\/index.php?title=Asecfg&amp;action=edit\" rel=\"nofollow\">asecfg<\/a><\/p>\n<p><a href=\"http:\/\/sites.google.com\/site\/marcosalexandrerodrigues\/conf_server3.png\"><img decoding=\"async\" src=\"http:\/\/sites.google.com\/site\/marcosalexandrerodrigues\/conf_server3-medium-init-.jpg\" alt=\"\" \/><\/a><\/p>\n<p><a title=\"Asecfg\" href=\"http:\/\/documentacao.desenv.callink.com.br\/index.php?title=Asecfg&amp;action=edit\" rel=\"nofollow\"><br \/>\n<\/a><\/p>\n<ul>\n<li><strong>Adaptive Server Name<\/strong>: nome do servidor de banco de dados. Esse nome ser\u00e1 usado nas conex\u00f5es ao banco. N\u00e3o pode conter caracteres especiais e nem come\u00e7ar com n\u00fameros.<\/li>\n<li><strong>Port Number<\/strong>: porta de comunica\u00e7\u00e3o que o banco usar\u00e1 para conex\u00e3o com outras aplica\u00e7\u00f5es<\/li>\n<li><strong>Error Log<\/strong>: arquivo onde ser\u00e3o gravados as mensagens de erro de inicio, fim e conex\u00f5es com o banco. N\u00e3o confundir com o arquivo de log do banco, onde s\u00e3o registrados todas as transa\u00e7\u00f5es.<\/li>\n<li><strong>Page Size<\/strong>: tamanho da p\u00e1gina de c\u00f3digo utilizada para grava\u00e7\u00e3o e leitura de dados. Se as tabelas possuirem poucas colunas e o volume de dados for pequeno, d\u00ea prefer\u00eancia para tamanho penqueno (ex: 2k). Se o banco possuir tabelas grandes e com muitas colunas, onde a necessidade de leituras for intensa, escolha um n\u00famero de p\u00e1gina maior. O menor volume de dados que um banco pode carregar em uma opera\u00e7\u00e3o de leitura \u00e9 o tamanho de p\u00e1gina. Se um registro buscado for maior que a p\u00e1gina, o banco precisar\u00e1 de dois acessos a disco para efetuar a leitura, o que degrada em muito a performance.<\/li>\n<li><strong>Master device<\/strong>: arquivo que conter\u00e1 as tabelas de sistema e estrutura do banco.<\/li>\n<li><strong>Master device size<\/strong>: tamanho inicial para o master device. Esse tamanho pode ser alterado a qualquer momento no banco de dados.<\/li>\n<li><strong>Master database size:<\/strong> tamanho alocado para as informa\u00e7\u00f5es da estrutura espec\u00edfica do banco de dados e n\u00e3o do servidor.<\/li>\n<li><strong>System procedure device:<\/strong> arquivo que conter\u00e1 as procedures internas do sistema<\/li>\n<li><strong>System procedure device size<\/strong>: similar ao master device size, s\u00f3 que para o System procedure device<\/li>\n<li><strong>System procedure database size<\/strong>: similar ao master database size, s\u00f3 que para o System procedure device<\/li>\n<li><strong>System device:<\/strong> arquivo que conter\u00e1 as informa\u00e7\u00f5es sobre os dispositivos. Em um banco de dados de grande porte pode ter v\u00e1rios devices configurados de diversas maneiras<\/li>\n<li><strong>System device size<\/strong>: similar ao master device size, s\u00f3 que para o System device<\/li>\n<li><strong>System database size<\/strong>: similar ao master database size, s\u00f3 que para o System device<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Introdu\u00e7\u00e3o Resolvi escrever esse tutorial em decorr\u00eancia da falta de conte\u00fado em portugu\u00eas sobre esse excelente banco de dados relacional. Embora a \u00eanfase seja o uso do banco em sistemas Linux, prucurarei cobrir a instala\u00e7\u00e3o em sistemas Windows. A vers\u00e3o do Sybase atualmente utilizada \u00e9 a Sybase Adaptive Enterprise 15.0 Express Edition. Essa vers\u00e3o \u00e9 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[91,51],"tags":[93,14,92,94],"class_list":["post-189","post","type-post","status-publish","format-standard","hentry","category-banco-de-dados","category-linux-linuxrs","tag-banco-de-dados-2","tag-linux","tag-sybase","tag-tutorial"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/189","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=189"}],"version-history":[{"count":2,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/189\/revisions"}],"predecessor-version":[{"id":191,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/189\/revisions\/191"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=189"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=189"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=189"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}