Eu instalei o Oracle SQL Developer da página da Oracle. Parece funcionar sem um cliente Oracle instalado no meu computador. Como isso é possível? Eu também instalei o Toad for Oracle e parece exigir o cliente Oracle.
jrara's questions
É possível usar SQL Server Native Clients de versões anteriores do SQL Server (por exemplo, SQL Server 2008 R2 Natice Client) para conectar o banco de dados do SQL Server 2012?
Sou um noob Oracle e minha intenção é transferir todos os dados e metadados de um esquema para outro dentro de um banco de dados Oracle. Estou planejando usar datapumps expdp
e impdp
comandos. Tenho dúvidas sobre isso:
- Posso criar um esquema de destino sem um usuário ou devo criar um usuário primeiro (o que também cria um esquema)?
- Posso executar
expdp
eimpdp
comandos usando a conta SYS (as sysdba)? Esse é um método preferido? Essa instrução pega todos os objetos (dados e metadados) de um esquema e os move para um esquema diferente?
expdp \"/ as sysdba\" schemas=<schemaname> directory=dumpdir dumpfile=<schemaname>.dmp logfile=expdp_<schemaname>.log
Então, o esquema de destino é uma cópia exata do esquema de origem após o
impdp
comando?
Instalei o Oracle 10g XE no meu Windows Server 2008 R2. Agora eu gostaria de configurar o SQL Plus para usar login.sql
nas configurações de login. Eu criei um login.sql
arquivo e coloquei em um
C:\users\meunome
pasta, mas parece não funcionar. Onde devo colocar este arquivo de configuração no ambiente Windows? Meu login.sql
arquivo é o seguinte:
SET pagesize 2000
SET LONG 10000
SET linesize 1000
COLUMN last_name format a20
COLUMN total format 999,999,999
SET feedback ON
alter session set nls_date_format = 'yyyy-mm-dd hh:mi:ssPM'
COLUMN global_name new_value gname
SET TERMOUT OFF
SELECT LOWER(USER) || '@' || global_name||CHR(10)||'SQL> ' AS global_name
FROM global_name;
SET SQLPROMPT '&gname'
SET TERMOUT ON;
Estou tentando criar uma tabela particionada onde o particionamento é determinado por OrderDate
. Estou tentando criar um clustered index
on OrderDate
e um nonclustered primary key
on OrderID
. Mas recebo um erro dizendo:
Msg 1908, Nível 16, Estado 1, Linha 1 A coluna 'OrderDate' está particionando a coluna do índice 'PK_OrderID'. As colunas de partição para um índice exclusivo devem ser um subconjunto da chave de índice. Msg 1750, Nível 16, Estado 0, Linha 1 Não foi possível criar restrição. Veja os erros anteriores.
Como modificar isso para que funcione:
CREATE TABLE dbo.Orders
(
OrderID INT NOT NULL ,
Name NVARCHAR(20) NULL ,
OrderDate DATE NOT NULL ,
)
ON PartSchemeOrders(OrderDate)
CREATE CLUSTERED INDEX IX_OrderDate
on dbo.Orders (OrderDate)
on PartSchemeOrders(OrderDate)
ALTER TABLE dbo.Orders
ADD CONSTRAINT PK_OrderID PRIMARY KEY NONCLUSTERED (OrderID)
Estamos começando a construir um sistema de data warehouse usando o SQL Server 2008 R2. Um dos DBAs seniores nos disse para considerar o uso de um parâmetro de inicialização -E para o serviço do SQL Server. Eu li no Books Online que:
-E: aumenta o número de extensões alocadas para cada arquivo em um grupo de arquivos. Esta opção pode ser útil para aplicativos de data warehouse que possuem um número limitado de usuários executando varreduras de índice ou dados. Ele não deve ser usado em outros aplicativos porque pode afetar adversamente o desempenho. Essa opção não tem suporte em versões de 32 bits do SQL Server.
Minha pergunta é como esse parâmetro ajuda nas varreduras de índice e dados? Devemos usar este parâmetro se houver a possibilidade de existirem outros bancos de dados (possivelmente em função operacional) na mesma instância?
Vou dar uma primeira olhada em um grande data warehouse com muitas tabelas de fatos. Como posso verificar facilmente se há partições e funções de partição em uso nessas tabelas de fatos?
Instalei o Oracle personal edition em uma máquina virtual do Windows Server 2008 para fins de teste. Minha intenção é testar a funcionalidade do servidor vinculado com o SQL Server. A instalação do Oracle Server também inclui componentes do cliente?
Sou novo em bancos de dados Oracle. Se entendi corretamente, a visão materializada é uma visão cujo conjunto de resultados é salvo como uma tabela física no banco de dados e essa visão/tabela é atualizada com base em algum parâmetro. Se a visualização é salva como uma tabela física, por que não armazenar os dados em uma tabela em primeiro lugar? Então, qual é o benefício de usar a visualização materializada em vez de uma tabela?
Eu tenho uma subconsulta correlacionada como esta (de BOL ):
SELECT DISTINCT c.LastName, c.FirstName, e.BusinessEntityID
FROM Person.Person AS c JOIN HumanResources.Employee AS e
ON e.BusinessEntityID = c.BusinessEntityID
WHERE 5000.00 IN
(SELECT Bonus
FROM Sales.SalesPerson sp
WHERE e.BusinessEntityID = sp.BusinessEntityID) ;
GO
Quando reescrevo esta consulta usando junções
select c.LastName, c.FirstName, e.BusinessEntityID, d.Bonus
from Person.Person as c
inner join HumanResources.Employee as e on e.BusinessEntityID = c.BusinessEntityID
inner join Sales.SalesPerson as d on d.BusinessEntityID = c.BusinessEntityID
where Bonus = 5000.00
E veja o plano de execução real, parece exatamente o mesmo em ambas as consultas. Por quê? Eu estava pensando que a subconsulta correlacionada é muito mais lenta por causa do loop aninhado e o plano de execução parece diferente? É porque não há muitos dados nessas tabelas?
Eu estava tentando usar diagramas de banco de dados no SQL Server e recebi o seguinte erro:
Database diagram support objects cannot be installed because this database does not have a valid owner. To continue, first use the Files page of the Database Properties dialog box or the ALTER AUTHORIZATION statement to set the database owner to a valid login, then add the database diagram support objects.
Eu tentei usar este comando para resolver meu problema
ALTER AUTHORIZATION ON DATABASE::mydb TO "domain\username"
GO
mas não ajudou. Quando mudei minha conta de domínio para sa
e corri
ALTER AUTHORIZATION ON DATABASE::mydb TO sa
GO
Eu me livrei desse erro. A questão é: por que a conta de domínio não é aceitável para o proprietário do banco de dados (parece que apenas e são sa
aceitáveis NT AUTHORITY\SYSTEM
)?
Eu usei ALTER INDEX REBUILD para remover a fragmentação do índice. Em alguns casos, REBUILD não parece remover essa fragmentação. Quais são as razões pelas quais o REBUILD não remove a fragmentação? Parece que isso acontece especialmente com índices pequenos.
Existe uma maneira de negar permissões de descarte para uma tabela específica de um usuário ou função?
Eu tinha uma tabela bastante grande, talvez 50 milhões de linhas e tive que truncá-la. Normalmente truncar é muito rápido, mas neste caso demorou horas para ser concluído. Quais são os fatores que podem impedir que o truncate
comando se comporte normalmente?
A configuração do Database Mail e o envio de email usando sp_send_dbmail são considerados uma ameaça à segurança?
Qual é a diferença entre uma conexão e uma sessão e como elas estão relacionadas?
Estamos tendo um processo ETL que insere muitos dados em tabelas. Este banco de dados está configurado para Simple Recovery Model e o log de transações está crescendo muito. Eu estava pensando se ajudaria a definir esse banco de dados no modelo de recuperação em massa? Estamos fazendo backups completos diariamente. Então, existem algumas operações que não são registradas no modelo de recuperação bulk-logged em comparação com o modelo de recuperação simples?