Montando diretório remoto do Windows no Linux.

Algum dia caso você precise montar um diretório remoto do windows em linux, não terá duvidas, segue abaixo os passo.

No servidor windows:

  • Criar o diretório no servidor windows;
  • Criar o compartilhamento;
  • Criar usuário e dar acesso para leitura e escrita no compartilhamento;

No servidor Linux:

  • Criar o local para montar o diretório remoto do windows;

mkdir /mnt/backup_remoto

  • Montar compartilhamento remoto;

mount -t cifs -o username=usuario_criado,password=senha_criada,uid=root,rw //192.168.0.20/bk /mnt/backup_remoto

  • Colocar o ponto de montagem no fstab

//192.168.0.20/bkp  /mnt/backup_remoto cifs  username=usuario_criado,password=senha_criada,uid=root,rw

Verificar e ajustar Redo Log.

A dica hoje é de como recriar os grupos do redo log do tamanho correto. O ideal é monitorar e em seguida recriar os grupos, segue abaixo os passos para monitorar e saber o tamanho ideal para poder recriar.

  • Verificando o numero de archives por hora gerados.

  • Verificar o tamanho ideal usando os últimos 30 dias como referencia.

 

Listar Tabelas e informações

Listas tabelas, linhas e tamanho em disco.

declare @vname sysname
declare @tmpTamTabela table (
name sysname null
, rows int null
, reserved varchar(25) null
, data varchar(25) null
, index_size varchar(25) null
, unused varchar(25) null )

declare cp1 cursor local fast_forward read_only for
select name
from sysobjects
where type = ‘U’
order by name

open cp1

while 1 = 1
begin
fetch next from cp1 into @vname
if @@fetch_status 0 break

insert into @tmpTamTabela (name, rows, reserved
, data, index_size, unused)
exec sp_spaceused @vname

end
close cp1
deallocate cp1

select name as ‘Nome’
, rows as ‘Linhas’
, convert(int, replace(reserved, ‘ KB’,”))/1024 as ‘Tamanho total MB’
, convert(int, replace(data, ‘ KB’,”))as ‘Dados KB’
, convert(int, replace(index_size, ‘ KB’,”))as ‘Index KB’
, convert(int, replace(unused, ‘ KB’,”))as ‘Não utilizado KB’
from @tmpTamTabela
order by convert(int, replace(reserved, ‘ KB’,”)) desc

Modificando Collate SQL Server

— VERIFICANDO COLLACTION DAS TABELAS
SELECT
a.name as ‘NomeTabela’ ,
b.name as ‘NomeColuna’,
b.collation ,
c.name as ‘TipoDados’,
b.length as ‘Tamanho’
FROM sysobjects A
inner join syscolumns B on a.id = b.id
inner join sys.types C on C.system_type_id = b.xtype
WHERE a.xType = ‘U’
and b.collation is not null
and ((c.name = ‘char’) or (c.name = ‘varchar’))
and a.name in (SELECT table_name FROM information_schema.tables)
order by a.name;

— SQL SERVER 2000

— VERIFICAR COLLATION DE UMA OU TODAS AS TABELAS

SELECT
a.name as ‘NomeTabela’ ,
b.name as ‘NomeColuna’,
b.collation ,
c.name as ‘TipoDados’,
b.length as ‘Tamanho’
FROM sysobjects A
inner join syscolumns B on a.id = b.id
inner join systypes C on C.xtype = b.xtype
WHERE a.xType = ‘U’
and b.collation is not null
and ((c.name = ‘char’) or (c.name = ‘varchar’))
and a.name in (SELECT table_name FROM information_schema.tables)
AND a.name LIKE ‘t’– FILTRO NOME DA TABELA
order by a.name

— VERIFICAR COLLATION DE UMA OU TODAS AS TABELAS

SELECT
a.name as ‘NomeTabela’ ,
b.name as ‘NomeColuna’,
b.collation ,
c.name as ‘TipoDados’,
b.length as ‘Tamanho’
FROM sysobjects A
inner join syscolumns B on a.id = b.id
inner join systypes C on C.xtype = b.xtype
WHERE a.xType = ‘U’
and b.collation is not null
and ((c.name = ‘char’) or (c.name = ‘varchar’))
and a.name in (SELECT table_name FROM information_schema.tables)
AND a.name LIKE ‘t’– FILTRO
order by a.name

— ALTERAR
DECLARE @tabela VARCHAR(100)
DECLARE @collate VARCHAR(100)
–SET @tabela=’t’
SET @collate=’SQL_Latin1_General_CP1_CI_AI’ — SQL_Latin1_General_CP1_CI_AI
SELECT ‘Alter Table ‘+ a.name + ‘ Alter Column ‘+ b.name +’ ‘+c.name +’ (‘+CONVERT(VARCHAR(50),b.length)+’) Collate’+’ ‘+@collate
FROM sysobjects A
inner join syscolumns B on a.id = b.id
inner join systypes C on C.xtype = b.xtype
WHERE a.xType = ‘U’
and b.collation is not null
and ((c.name = ‘char’) or (c.name = ‘varchar’))
and a.name in (SELECT table_name FROM information_schema.tables)
and b.collation not like ‘SQL_Latin1_General_CP1_CI_AI’
–AND a.name=@tabela — FILTRO
order by a.name

— COMPROVANDO QUE NÃO EXISTEM TABELAS COM COLLATION DIFERENTE DO SOLICITADO 

SELECT
a.name as ‘NomeTabela’ ,
b.name as ‘NomeColuna’,
b.collation ,
c.name as ‘TipoDados’,
b.length as ‘Tamanho’
FROM sysobjects A
inner join syscolumns B on a.id = b.id
inner join sys.types C on C.system_type_id = b.xtype
WHERE a.xType = ‘U’
and b.collation is not null
and ((c.name = ‘char’) or (c.name = ‘varchar’))
and a.name in (SELECT table_name FROM information_schema.tables)
and b.collation !=’SQL_Latin1_General_CP1_CI_AI’
order by a.name