Buscar

Administrando o Oracle e o SQL Server

Prévia do material em texto

www.devmedia.com.br
[versão para impressão]
Link original: http://www.devmedia.com.br/articles/viewcomp.asp?comp=30598
Administrando o Oracle e o SQL Server
Veja nesse artigo alguns Recursos de segurança, sessões e armazenamento da administração dos principais bancos de dados da atualidade, o SQL Server e o
Oracle.
Fique por dentro
A administração de um banco de dados envolve um conjunto de atividades que devem ser realizadas com objetivo de manter o banco disponível e funcional (por exemplo, backup, restauração, otimização, dentre outras). Este artigo descreve
os conceitos básicos sobre os sistemas gerenciadores de bancos de dados SQL Server e Oracle.
Através de contextualizações e exemplos simples, este artigo irá apresentar importantes recursos presentes no SQL Server e Oracle. Serão descritas funcionalidades que aparecem no dia a dia de um DBA e que ajudam a manter o banco de
dados em produção.
Serão apresentados comandos que ajudam a manter a segurança em relação a usuários, comandos que ajudam a monitorar sessões e conexões do banco de dados, comandos de importação e exportação de dados em tabelas, comandos que
auxiliam a manipulação de componentes de armazenamento do banco de dados e, por fim, serão apresentados comandos que ajudam a consultar e alterar os parâmetros do banco de dados.
As empresas nos últimos anos têm expandido suas áreas de informática graças ao crescente número de sistemas que são adquiridos. Com isso, o armazenamento de dados passou a ser maior.
Em alguns casos pode haver a necessidade de uma empresa precisar utilizar mais de um SGDB como ferramenta de gerenciamento de banco de dados. Neste contexto aparecem duas ferramentas bastante utilizadas atualmente, SQL Server da
Microsoft e o Oracle.
Diante desta demanda das ferramentas SGBDs, a procura no mercado por profissionais qualificados passou a ser mais complexa, afinal, neste cenário, as empresas podem precisar de dois DBAs, cada um com conhecimento distinto em relação ao
SQL Server e ao Oracle.
Os SGBDs SQL Server e Oracle estão prontos para atender as demandas de armazenamento e gerenciamento dos dados de qualquer tipo de empresa. E se tratando da linguagem de consulta, a SQL é utilizada por ambos.
O SQL padrão ANSI (veja o BOX 1 ) referente à consulta SQL em banco de dados, possibilita que consultas obedeçam a uma mesma sintaxe em diferentes ferramentas de banco de dados. Mas em relação à administração, os SGBDs têm
características e formas de realizar suas operações bem distintas.
BOX 1 . ANSI
ANSI é a sigla para American National Standards Institute e designa uma organização americana que tem a função de estabelecer quais normas desenvolvidas devem virar padrão. As empresas, grupos independentes, universidades etc. dese
nvolvem novas tecnologias que são submetidas à análise do ANSI. De fato, o ANSI não desenvolve novas especificações e tecnologias, mas apenas analisa e estabelece os padrões.
Se tratando de consultas SQL, o padrão ANSI se aplica a estas consultas de banco de dados, criando uma sintaxe padrão que as ferramentas de mercado devem seguir.
Este artigo apresenta alguns recursos básicos que podem auxiliar um DBA e qualquer outro profissional com um conhecimento da área a consultar, manter e administrar um banco de dados no ambiente de produção usando as ferramentas SQL
Server e Oracle.
Certamente estas duas ferramentas são complexas e seus recursos são amplos, um conhecimento mais profundo do assunto requer um tempo maior de dedicação.
Os SGBDs apresentados neste artigo possuem uma flexibilidade muito grande em relação à interação com usuário. E são variadas as formas de realizar as operações nos bancos de dados.
Embora exista a interface gráfica que auxilia muito um administrador de banco de dados iniciante, mostraremos neste artigo como realizar as operações através de scripts ou linha de comando.
Mantendo a segurança
Em todas as áreas da tecnologia, a preocupação com a segurança é um item cada vez mais em destaque, afinal sistemas de informação precisam garantir a integridade, confiabilidade de suas informações no mundo tecnológico. É neste cenário
que os SGBDs propiciam recursos diversos para proteção dos bancos de dados nelas hospedados, a fim de garantir às empresas um armazenamento de dados íntegro e confiável.
Manter a segurança de um banco de dados em produção não é tarefa tão simples como aparenta. Embora os recursos das ferramentas de banco de dados auxiliem de forma amigável a interação com o DBA, uma boa política de segurança envolve
conceitos que vão além do próprio banco de dados, conceitos de segurança da informação são muito bem vindos neste caso.
Isto envolve não somente o banco, mas, também servidor, rede, acesso através da aplicação, políticas de controle de senhas, dentre outros. Neste tópico apresentaremos como manter a segurança no dia a dia de um administrador de banco de
dados. Demonstraremos como manter a segurança através do SGDB, onde os recursos incluem usuários, roles, permissões, acessos.
Quando o assunto é segurança do banco de dados, as operações mais solicitadas por outras áreas para o DBA normalmente são: criar um usuário, criar roles, conceder acesso de um usuário para uma role, conceder e negar permissão a um
usuário, e conceder permissão para objetos de bancos de dados.
Estes recursos são destinados a uma manutenção de um banco de dados, porém quando um servidor de banco de dados é instalado, outros recursos devem ser configurados e levados em consideração.
Mantendo a segurança no SQL Server
Neste tópico serão apresentados recursos básicos para manter a segurança do SQL Server. Serão considerados recursos importantes para a conexão e interação do usuário com os objetos de cada banco de dados (procedures, views, functions,
tabelas) e como estes objetos podem ser organizados em componentes que são chamados de roles.
Todo esse processo tem início na criação do usuário no banco de dados. A seguir demonstraremos a criação do usuário e do login no servidor de banco de dados.
Login e Usuário
Quando um usuário precisa acessar a ferramenta SQL Server, este usuário precisa ter um login e uma senha. Este login pode ser o mesmo login do Windows, neste caso o SQL Server precisa estar configurado como Windows Authentication. Mas
independente da forma de conexão do SQL Server, quando um login precisa se conectar a um banco de dados específico, este login precisa estar vinculado a um usuário deste banco de dados no qual ele quer se conectar. A seguir
demonstraremos a sequência deste processo de conexão:
1. Deve ser criado um login do SQL Server, ou um login do Windows pode assumir a conexão dentro do SQL Server, usando assim a opção Windows Authentication;
2. Um usuário de banco de dados deve ser criado para cada database no SQL Server e vinculado a este login criado anteriormente. A Li st age m 1 expõe a criação de um login do SQL Server, e um do Windows assumindo a autenticação SQL
Server. Criaremos também um usuário de banco de dados que será vinculado ao login que foi criado.
Li st agem 1 . Comando para criação de logins e relacionamento com o banco de dados.
 -- Criando login no SQL Server:
 create login flavio with password = ‘123456’;
 
 -- Criando login no SQL Server com usuário do SO:
 Create login flavio with login;
 Grant impersonate on user::flavio to [DominioABC\login_flavio]
 
 -- Criando um usuário de banco de dados:
 Use DBSQLMagazine
 Go
 Create user user_flavio for login Flavio;
 
 -- Vincular usuário de banco de dados a um login que já existe
 Exec sp_change_users_login ‘update_one’, ‘login_flavio’,’user_flavio’;
Roles de Sistema
Existem roles pré-definidas pelo SQL Server, as roles de sistema. Uma role de sistema pode definir permissões a um login automaticamente, uma vez este login vinculado a esta role. As permissões em roles de sistemas variam deacordo com
cada role, podendo conceder permissões em todo servidor de banco de dados (sysadmin), ou apenas de leitura nas bases de dados (db_datareader). Vale a pena uma leitura mais detalhada em cada uma delas.
Além das roles de sistema, existem as roles de aplicação, que podem ser criadas e definidas para organizar sistemas como, por exemplo, roles que separam permissões para setores de uma empresa. Desta forma, o administrador de banco de
dados pode conceder uma permissão de role para um login do banco de dados, como mostramos a seguir:
Use DBSQLMagazine
Go
R
e
ce
b
a
 n
o
ti
fic
a
çõ
e
s
 :
)
Administrando o Oracle e o SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=30598
1 de 5 08/02/2017 08:06
Exec sp_addrolemember ‘db_datareader’, ‘flavio’;
Roles de Aplicação
As roles de aplicação ajudam a organizar e separar as conexões a fim de melhorar o processo de manutenção da segurança e em outra situação servem para evitar que usuários únicos de aplicação tenham permissão de objetos do banco de
dados.
Estas roles podem servir como uma segurança a mais para as conexões de um aplicativo. A seguir é apresentado o comando para criação de uma role:
Create Application role RoleABC with password = ‘123456’, default_schema= dbo
Concedendo permissão a objetos
Para cada objeto de banco de dados (procedures, functions, views, tabelas, etc.) deve ser concedida uma permissão para um usuário em específico ou para uma role.
No contexto de uma permissão a uma role, esta role pode servir como se fosse um perfil, em que vários usuários podem compartilhar as mesmas permissões. A seguir demonstraremos como conceder esta permissão:
Use DBSQLMagazine
Go
Grant select, update, delete, insert on dbo.TB_Dados_Vendas To [flavio];
Comandos para manter a segurança do SQL Server
No dia a dia de um DBA, administrar a segurança é uma de suas principais funções. A Li st agem 2 demonstra duas funções que são bastante demandadas neste contexto: alterar a senha do login do SQL Server e habilitar um usuário que foi
bloqueado por algum motivo.
Li st agem 2 . Comandos simples de segurança no SQL Server.
 -- Alterando senha do login do SQL Server:
 Alter login flavio with password = ‘654321’
 -- Habilitando usuário bloqueado:
 Alter login flavio enable; 
Mantendo a Segurança no Oracle
Neste tópico serão apresentados recursos básicos para manter a segurança do SQL Server.
Login e Senha
O Oracle, assim como o SQL Server, faz uso de um login com uma senha para se conectar ao database. E após a conexão, o mesmo login precisa de algumas permissões para que possa implementar e manipular os componentes dos Schemas e os
recursos do Oracle.
Neste contexto, um usuário para o database Oracle deve ser criado e a este deve ser concedido um acesso para uma tablespace, que por sua vez, trata do local onde os objetos deste usuário serão criados e armazenados. Além disso, uma
tablespace temporária deve ser definida para armazenar dados temporários deste usuário.
Caso não sejam definidas estas tablespaces, o Oracle assume as tablespaces System e Temp, respectivamente, como padrão para este usuário criado.
No processo de criação do usuário algumas outras permissões são importantes e necessárias: connect e resource. Após concedidas, o usuário passa a ter permissão de criar uma sessão no banco de dados Oracle (ver Listagem 3).
Li st agem 3 . Criando usuário e concedendo permissão de connect e resource.
 -- Criando usuário no servidor Oracle:
 Create user user_flavio identified by 123456 default tablespace users, temporary tablespace tempdb;
 
 -- Concedendo permissões de Connect e resource ao usuário criado:
 Grant connect to flavio; 
 Grant resource to flavio;
Privilégios de Sistema
O Oracle define alguns privilégios de sistema que podem ser concedidos ao usuário. Tais privilégios são concedidos para o schema em que o usuário está vinculado, permitindo assim instruções de DDL, como create table, create view, etc. Veja
alguns exemplos na Li st agem 4 .
Li st agem 4 . Concedendo privilégios e permissões no Oracle.
 -- Concedendo privilégios de sistema a um usuário do Oracle:
 Grant create session, create table, create view to flavio;
 -- Permitindo que o usuário possa estender a permissão a outro usuário:
 Grant create session, create table, create view to flavio with admin option;
 
 Concedendo permissão a objetos 
 Para conceder permissões de DML e manipular dados nas tabelas (select, insert, update e delete), é necessário as permissões de objetos. Para isto, deve-se executar o comando que concede privilégios de sistema a um usuário: 
 
 Grant select, update, delete, insert on SchABC.TB_Cidade to flavio;
Comandos para manter a segurança do Oracle
Em muitos comandos de manutenção, a segurança do database requer alguns que são bem básicos, porém importantes. Alterar senha de usuário e habilitar usuários bloqueados são ações que o DBA precisa realizar constantemente. Na
Li st agem 5 temos os exemplos destes procedimentos no Oracle.
Li st agem 5 . Comandos simples de segurança no Oracle.
 -- Alterar senha do usuário:
 Alter user flavio identified by 654321;
 
 -- Habilitando um usuário bloqueado:
 Alter user flavio identified by 123456 account unlock;
Monitorando sessões
O administrador do BD é responsável direto por qualquer situação envolvendo o banco de dados no ambiente produtivo de uma empresa. E parte de seu tempo deve ser gasto com um monitoramento. Independente do ambiente envolvido, o
monitoramento deve ser feito.
Verificar backups, consultas aleatórias, acessos na base, agendamentos e procedimentos armazenados e os eventos de logs das bases de dados são tarefas básicas de um profissional desta área e mesmo não sendo um DBA, deve estar sempre
atento no que acontece com um banco de dados..
Nestes aspectos, o monitoramento de sessões e o monitoramento de logs são fundamentais, uma vez que o banco está em funcionamento.
O monitoramento de sessões de um banco de dados pode evitar problemas muito sérios em relação à segurança e ao desempenho da aplicação conectada a base de dados. Cada usuário que se conecta ao banco de dados pode ser monitorado por
alguns comandos e assim pode ser analisada cada instrução SQL que é enviada para ser executada.
Quando acontece de um script SQL estar mal escrito, ou até mesmo quando o script é muito complexo e a sua execução pode concorrer com usuários que usam o sistema, é necessário que o problema seja detectado rapidamente.
Em complemento, o monitoramento de logs pode ajudar a identificar problemas e a prevenir maiores desastres como, por exemplo, quando um backup dá algum erro, ou quando algum componente do próprio SGDB necessita ser atualizado ou
mesmo quando um componente de armazenamento está prestes a estourar o espaço (como é o caso de uma tablespace do Oracle, por exemplo).
Neste tópico mostraremos os comandos que ajudam no monitoramento de sessões e no monitoramento de logs do banco de dados.
Monitorando sessões do SQL Server
Consultar as sessões de usuários conectados é bem simples e apenas um comando pode ser executado para que essa consulta seja feita. A Tabe la 1 apresenta os principais campos de cada sessão de um usuário conectado no SQL Server.
Observe que na Li st agem 6 estamos inicialmente consultando as sessões existentes.
Em seguida, restringimos um pouco mais a busca retornando apenas as sessões de um determinado usuário. Ainda na listagem, é apresentado também como consultar os processos ativos, identificar a sessão de um determinado processo e, por
fim, como desbloquear um determinado processo.
Li st agem 6 . Consultando informações sobre sessões no SQL Server.
 -- Consultar sessões do SQL Server:
 Exec sp_who
 
R
e
ce
b
a
 no
ti
fic
a
çõ
e
s
 :
)
Administrando o Oracle e o SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=30598
2 de 5 08/02/2017 08:06
 -- Consultar sessões de um determinado usuário do SQL Server:
 Exec sp_who ‘flavio’
 
 -- Consultar os processos ativos no SQL Server:
 Exec sp_who ‘active’
 
 -- Consultar a sessão do processo 200:
 Exec sq_who ‘200’
 
 -- Visualizar a query executada do processo 200:
 DBCC Inputbuffer (200)
 
 -- Desbloqueando o processo 200:
 Kill 200
Sp id Número identificador da sessão do usuário
logado no banco de dados.
St a t u s Status do processo.Os valores aqui citados
mostram qual é o estado do processo
naquele momento. Por exemplo, se o
processo foi finalizado ou se ainda está
em alguma fila para ser executado, dentre
outros.
Log in am e Identificação do login associado à sessão.
H o st n am e Nome da máquina que em que o login
está conectado.
Blk Este campo identifica que o login está
bloqueando alguma tabela ou processo.
Sp id Este campo identifica o nome do banco de
dados usado no processo que está
conectado.
Cm d Este campo identifica o tipo de instrução
que está sendo requisitada ao banco de
dados.
Tabe la 1 . Principais campos de cada sessão de um usuário conectado no SQL Server.
Monitorando sessões do Oracle
Consultar as sessões do Oracle é também uma tarefa simples. Todos os SGBDs guardam estas consultas em tabelas temporárias e este monitoramento é apenas uma consulta a estas tabelas.
Observe na Li st agem 7 que inicialmente identificamos as informações disponíveis sobre as sessões. Em seguida, consultamos bloqueios existentes nas sessões atuais, seguido da apresentação sobre como efetuar o desbloqueio de uma sessão.
Li st agem 7 . Consultando informações sobre sessões no Oracle.
 -- Consultando informações
 SELECT * FROM V$SESSION;
 Campos Importantes
 SELECT SID, USERNAME, SERIAL#, STATUS, OSUSER, PROGRAM, MACHINE, BLOCKING_SESSION FROM V$SESSION;
 SELECT SID, USERNAME, SERIAL#, STATUS, OSUSER, PROGRAM, MACHINE, BLOCKING_SESSION FROM V$SESSION WHERE USERNAME <> ‘’ ‘’:
 
 -- Consultando bloqueios nas sessões do Oracle:
 SELECT SID, BLOCKING_SESSION FROM V$SESSION;
 
 -- Desbloqueando o processo (Sid, Serial#):
 SELECT SID, SERIAL FROM V$SESSION;
 ALTER SYSTEM KILL SESSION ‘200,320’
A Tabe la 2 apresenta alguns dos principais campos das consultas da Li st agem 7 .
Sid Número da sessão
Ser i a l# Número de série Session. Usado para
identificar objetos de uma sessão.
Us er n am e Usuário Oracle conectado na sessão
St a t u s Descreve o estado do processo
naquele momento, identificando se
um processo está ativo, por exemplo.
Ou ser Nome do usuário do sistema
operacional conectado no Oracle
Pr o gr am Nome do programa do SO.
Mach ine Nome da máquina do usuário
conectado no Oracle.
Tabe la 2 . Campos da consulta ao Oracle na view V$SESSION
Importando e exportando dados
Os dados são, de certa forma, a grande atenção do DBA, e podem ocorrer situações do dia a dia em que enviar dados de uma tabela para outra acontece por vários motivos.
Até mesmo exportar dados pode ser um meio de realizar um backup de alguma tabela para garantir a realização de alguma operação nesta. Um exemplo é o caso de manutenções realizadas periodicamente. Outra situação em que a exportação
de dados pode acontecer é quando uma tabela precisa ser renomeada. Demonstraremos neste tópico como o SQL Server e o Oracle realizam esta operação de forma segura.
Importando e exportando dados no SQL Server
O SQL Server tem uma ferramenta desde as primeiras versões, o BCP. Trata-se de uma ferramenta de importação e exportação de dados baseada na linguagem SQL. Outra ferramenta de importação e exportação de dados é o SQL Server
Integration Services (SSIS) da Microsoft, que se popularizou muito desde a versão 2005 e, com isso, o BCP perdeu o seu espaço.
Afinal de contas, o SSIS é uma ferramenta muito mais amigável e se compromete a fazer muito mais do que importação e exportação de dados, tendo recursos mais complexos e sendo muito mais versátil do que o BCP.
Porém, o BCP tem como aliado a sua simplicidade e rapidez, ou seja, para uma importação rápida ele funciona muito bem. Demonstraremos como realizar a importação e exportação de dados utilizando o BCP. Observe as Li st agen s 8 e 9 .
Li st agem 8 . Exportando dados do SQL Server para um arquivo txt.
 master..xp_cmdshell’bcp”digitar_a_query” queryout c:\arquivo.txt –n –T –E
 
 master..xp_cmdshell 'bcp "Select * From dboTB_Produto where data between ''2011-04-01 00:00:00.00'' and ''2011-04-30 00:00:00.00''" queryout C:\Arquivo_Produto.TXT -n -T -E'
A seguir apresentamos alguns comandos usados na exportação de dados do BCP:
· - n = Usa os valores nativos dos dados SQL Server;
· - T = Usa segurança integrada (se não usar -T, terá que usar -U e -P);
· - E = Especifica que o valor ou valores de identidade no arquivo de dados importado devem ser usados para a coluna de identidade;
· - U = Identifica o usuário de conexão;
· - P = Identifica a senha do usuário de conexão.
Li st agem 9 . Importando dados de um arquivo txt para o SQL Server.
 master..xp_cmdshell’digitar_a_query’ in c:\arquivo.txt –n –T –E master..xp_cmdshell 'bcp dbo.TB_Produto in C:\Arquivo_Produto.TXT -n -T -E
Importando e exportando dados no Oracle
R
e
ce
b
a
 n
o
ti
fic
a
çõ
e
s
 :
)
Administrando o Oracle e o SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=30598
3 de 5 08/02/2017 08:06
Se tratando de export e import no SGDB Oracle, a ferramenta usada desde as versões mais antigas é o Export and Impor t Ut ilit ies. As Li st agen s 1 0 e 1 1 demonstram como usar esta ferramenta com comandos em ambiente Linux. O
Export/Import é um aplicativo que roda diretamente no servidor através de linhas de comando.
Li st agem 1 0 . Exportando dados do Banco Oracle para um arquivo TXT:
 -- Export Full:
 exp usuario/senha@instancia file='/caminho/arquivo.dmp' Owner=NomeOwner 
 exp flavio/654321@OraCL01 file='/pastaX/arquivo_tabela.dmp' Owner=Produto
 
 -- Apenas uma tabela do Schema:
 exp usuario/senha@instancia file='/caminho/arquivo.dmp' Owner=NomeOwner tables=(TabelaX,TabelaY)
 exp flavio/654321@OraCL01 file'/pastaX/arquivo_tabela.dmp' Owner=Produto tables=(TB_Produto) 
Li st agem 1 1 . Importando dados do arquivo TXT para um banco de dados Oracle.
 -- Import Full:
 imp usuario/senha@instancia file='/caminho/arquivo.dmp' Full=Y 
 imp flavio/654321@OraCL01 file'/pastaX/arquivo_tabela.dmp' Full=Y
 
 -- Apenas uma tabela do Schema:
 imp usuario/senha@instancia file='/caminho/arquivo.dmp' fromuser=NomeOrigem tables=(TabelaX,TabelaY)
 imp flavio/654321@OraCL01 file'/pastaX/arquivo_tabela.dmp' fromuser=Produto tables=(TB_Produto)
Gerenciando o armazenamento
Em um ambiente em que existe um banco de dados, seja ele num storage, um disco no servidor ou até mesmo em uma nuvem, gerenciar e monitorar o crescimento dos arquivos relacionados ao banco de dados é a função principal de um DBA.
Estes arquivos podem ter características diferentes para cada SGDB, porém, em todos os SGBDs temos arquivos de dados e arquivos de log.
Uma área temporária também é de extrema importância dentro de um SGDB, afinal, este local é responsável por todos os dados que o SGDB usa para realização de consultas temporárias.
No dia a dia de um DBA podem, ocasionalmente, acontecer situações em que o crescimento dos dados pode afetar a área de armazenamento e assim esta terá a necessidade de ser redimensionada ou, em outra situação, casos relacionados aos
arquivos de dados terão a necessidade de serem movidos para outros discos.
Demonstraremosneste tópico alguns comandos simples de manipulação de componentes de armazenamento.
Gerenciando o armazenamento do SQL Server
Os principais componentes do SQL Server, em se tratando de armazenamento de dados, são os filegroups e os arquivos de dados. Um filegroup é uma unidade lógica e pode conter vários arquivos de dados que, por sua vez, se encontram
fisicamente em um disco ou storage.
Demonstraremos como adicionar arquivos de dados em filegroups, dimensionar tamanhos e mover arquivos de dados para filegroups diferentes. A Li st agem 1 2 demonstra os comandos que realizam estas operações.
Li st agem 1 2 . Comandos para gerenciar armazenamento no SQL Server.
 -- Adicionando um Filegroup:
 Alter Database NomeBancoDados Add Filegroup NomeFileGroup
 
 -- Removendo Filegroup:
 Alter Database NomeBancoDados Remove Filegroup NomeFileGroup
 
 -- Renomeando Filegroup:
 Alter Database NomeBancoDados Modify Filegroup NomeFileGroup Name= NovoNomeFilegroup
 
 -- Adicionando um arquivo de dados a um Filegroup:
 Alter database NomeBancoDados
 Add Files(Name= 'NomeLogico', FileName = 'C:\DATA\NomeArquivo')
 To Filegroup NomeFileGroup
 Go
 
 -- Aumentando o tamanho dos arquivos de dados:
 Alter Database NomeBancoDados Modify Files (Name = 'NomeLogicoArquivoDados', Size = 500)
 
 -- Removendo um arquivo de dados:
 Alter database NomeBancoDados Remove File(Name = 'NomeLogicoArquivoDados');
Note que inicialmente adicionamos um filegroup. Em seguida, mostramos como este filegroup pode ser removido e renomeado. Conhecidas estas operações básicas, é apresentado como podemos adicionar um arquivo de dados a um filegroup
específico. Por último, é visto como aumentar o tamanho de um arquivo de dados e, em seguida, como removê-lo.
Gerenciando o armazenamento do Oracle
O Oracle armazena os seus dados em tablespaces, que são compostas de datafiles. A tablespace é a unidade lógica e os datafiles são a unidade física, que se encontram em discos ou storages. Uma tablespace pode ser composta de vários
datafiles, e todo crescimento dos datafiles implica diretamente no dimensionamento das tablespaces.
Demonstraremos como mover datafiles e realocá-los em discos diferentes, aumentar o tamanho dos arquivos em disco e adicionar mais arquivos. A Li st agem 1 3 demonstra os comandos que realizam estas operações.
Li st agem 1 3 . Comandos para gerenciar armazenamento no Oracle.
 -- Criando uma tablespace:
 Create Tablespace NomeTablespace Datafile '/Disk/app_data_01.dbf' SIZE 100m, /Disk2/app data_ 02.dbf' size 100m;
 
 -- Removendo uma Tablespace:
 Drop tablespace Nometablespace including contents and datafiles; 
 
 -- Renomeando uma Tablespace:
 Alter tablespace ‘NomeantigoTablespace’ Rename to ‘NomenovoTablespace’
 
 -- Incluindo Datafile: 
 Alter Tablespace Nometablespace Add Datafile '/u01/data02.dbf' Size 10M;
 
 -- Aumentando o tamanho do Datafile: 
 Alter Database NomeDatafile '/u01/data02.dbf' Resize 100M;
 Alter Database NomeDatafile '/u01/data02.dbf' Autoextend on next10M;
 
 -- Renomeando um Datafile:
 Alter Database Rename File ‘NomeAntigoDataFile' To 'NomeNovoDataFile';
Observe que inicialmente são apresentadas as operações para criação, remoção e renomeação de uma TableSpace. Em seguida, vemos como incluir um dataFile em uma determinada TableSpace. Este datafile tem então seu tamanho aumentado
e indicamos que ele pode ser expandido automaticamente de 10 em 10 mega. Por fim, apresentamos como podemos proceder para renomear um datafile.
Parâmetros
Um banco de dados de uma empresa precisa sempre estar configurado adequadamente, afinal, o desempenho de uma aplicação que acessa tal banco de dados precisa ser bom.
Um BD mal configurado pode, além de trazer problemas para o sistema, deixar de utilizar recursos muito úteis que melhoram o seu ambiente. Uma parametrização do banco de dados precisa ser sempre revista, e é crucial para um DBA conhecer
e saber como alterar parâmetros relacionados à memória, backup, segurança, desempenho, etc.
Neste tópico demonstraremos como ler e alterar os parâmetros de um banco de dados. Certamente um banco de dados possui vários parâmetros e neste ponto seria interessante uma leitura mais detalhada sobre esse assunto, para um
conhecimento mais detalhada de cada parâmetro e sua função. Neste artigo usaremos apenas alguns parâmetros para ilustrar a sua manipulação.
Na Li st agem 1 4 observamos inicialmente como devemos proceder para consultar parâmetros no SQL Server. Em seguida, é apresentado como um parâmetro (no exemplo, o nível máximo de paralelismo) pode ser ajustado. Na Li st agem 1 5
realizamos procedimentos semelhantes, mas desta vez no Oracle. Note também que desta vez ajustamos o limite máximo de memória.
Li st agem 1 4 . Exemplo de consultas a parâmetros no SQL Server.
 -- Consultando parâmetros do SQL Server:
 Use master
 SP_Configure
 SP_Configure 'max degree of parallelism'
 Go
 
 -- Alterando parâmetros do SQL Server:
 Use master
 Exec sp_configure 'max degree of parallelism', 4;
 Reconfigure With Override;
 Go
Li st agem 1 5 . Exemplo de consultas a parâmetros no Oracle.
R
e
ce
b
a
 n
o
ti
fic
a
çõ
e
s
 :
)
Administrando o Oracle e o SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=30598
4 de 5 08/02/2017 08:06
 -- Consultando parâmetros do Oracle:
 Select * from V$Parameter;
 Show parameters memory_max_target
 
 -- Alterando parâmetros do Oracle:
 Alter System set memory_max_target = 25769803776
Em relação aos parâmetros é importante dizer que embora seja fácil a alteração dos mesmos, um parâmetro pode mudar e muito o comportamento de um banco de dados e deve ser analisado com muita cautela.
Um parâmetro deve estar sempre sendo revisto; afinal um ambiente de banco de dados é muito variável, e sua parametrização precisa estar sempre de acordo com a situação atual. Dessa forma, uma alteração feita hoje pode não surtir tanto
efeito se ela é feita amanhã.
É necessário levar em consideração variáveis como o fato do banco de dados crescer com o tempo e os outros fatores externos como rede, servidor hardware e sistemas.
Li n k s
Or acle Da t abase - Adm in i st r a t o r 's Gu i de
ht tp: / / docs.oracle.com/ cd/ E16655_01/ server .121/ e17636/ toc.htm
SQL Ser v er – Docu m en t ação do Pr odu t o
ht tp: / / t echnet .microsoft .com/ pt -br/ library/ dd631854(v= sql.10).aspx
SQL Ser v er – Fer ra m en t a BCP
ht tp: / / msdn.m icrosoft .com / pt -br/ library/ ms162802.aspx
Or acle – Fer r am en t a Ex p or t / I m por t
ht tp: / / docs.oracle.com/ cd/ B10501_01/ server .920/ a96652/ ch02.ht m
por Flavio Climaco
Revista SQL Magazine lover 
R
e
ce
b
a
 n
o
ti
fic
a
çõ
e
s
 :
)
Administrando o Oracle e o SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=30598
5 de 5 08/02/2017 08:06

Continue navegando

Outros materiais