我目前是一名大学生,正在介绍 Oracle 10G。我似乎无法一直上课,我很好奇是否有任何虚拟 Oracle 服务器或类似的东西可以让我拥有一个(简而言之)虚拟数据库,我可以通过SQL* Plus 并输入我正在学习的命令?我正在运行 Windows 7 家庭高级版。
非常感谢!
这是一张桌子
create table tq84_virtual_test_without (
col_1 number,
col_2 number,
col_3 number,
col_4 number,
col_5 number
);
Run Code Online (Sandbox Code Playgroud)
规则col_5的值是其他四列的总和。
所以表格被相应地填充:
insert into tq84_virtual_test_without values( 1, 2, 3, 4, 10);
insert into tq84_virtual_test_without values( 3, 8, 7, 5, 23);
commit;
Run Code Online (Sandbox Code Playgroud)
现在,假设需要复制一行并仅更改一列的值。这当然可以非常优雅地完成(恕我直言,也就是说)使用rowtype-variable,就像这样
declare
r tq84_virtual_test_without%rowtype;
begin
select * into r from tq84_virtual_test_without where col_2 = 8;
r.col_4 := r.col_4 - 2;
r.col_5 := r.col_5 - 2;
insert into tq84_virtual_test_without values r;
end;
/
Run Code Online (Sandbox Code Playgroud)
这很优雅,因为它不会用insert into …
我正在处理一个相当庞大的 ETL 处理,它不断向我抛出ORA-12549错误。
一直在寻找数据库中的问题,至今一无所获。DBA 说数据库“很好” - 有资源,没有达到要打开或处理的最大文件数,并且在所有表空间上都有空间。
我开始怀疑这个错误是否可能是由客户端抛出的。但是它是一个使用JDBC连接的Java应用程序,堆大小为16GB,根据GC日志也几乎没有填满。
这个过程本身相当简单:在 Oracle 中进行大量选择,对数据应用一些逻辑,然后定期提交到另一个表。我使用了从 500 万行到仅仅 10 万行的提交(分为 100 批 1k 行)。错误总是在同一点上。
有人能给我一些关于正在发生的事情的见解吗?我应该去哪里寻找线索?
客户端,ulimit 是 1024(在 Oracle 的服务器上是 65k),这有关系吗?
无论如何要查看哪些地址连接正在连接?
更多信息:
我一再发现人们使用 IP 而不是 DNS 名称设置连接字符串,并且在 SQL2012 及更高版本中,通过服务器名称连接到实例而不包括实例名称(即它在端口 1433 上的位置)。我想对此进行审核,以便在使用不合规的连接字符串进行连接后的数小时内,我可以收到警报并快速找到罪魁祸首并解决问题;与等待基础设施的变化(例如,我们移动到非标准端口,或切换到不同 IP 上的不同主机同时保持相同的底层 DNS 条目)相反,由于不合规的配置而导致更严重的意外.
发布此信息以防其他人遇到此问题...(修复如下)更新到 SQL 2016 SP1 后,我还更新到了 sp_Blitz procs 的最新版本。不幸的是,sp_BlitzIndex 现在在“收集计算列信息”中爆炸了。线 1586 附近的部分。
这是错误文本:
Gathering Computed Column Info.
Failure populating temp tables.
Msg 2787, Level 16, State 1, Procedure sp_BlitzIndex, Line 1620 [Batch Start Line 4]
Invalid format specification:
'%.%' THEN 1 ELSE 0 END AS is_function,
'ALTER TABLE ' + QUOTENAME(s.name) + '.' + QUOTENAME(t.name) +
' ADD ' + QUOTENAME(c.name) + ' AS ' + cc.definition +
CASE WHEN is_persisted = 1 THEN ' PERSISTED' ELSE '' END + ';' …Run Code Online (Sandbox Code Playgroud) 我有一个奇怪的。在过去的几周里,我通过 Windows 身份验证偶尔遇到登录错误,网络团队和我还没有找到解决方案。
我在运行 Windows Server 2012 R2 的物理服务器上运行 SQL 2016。
虽然这种情况一直在发生,但我一直告诉用户等待五分钟,然后再次尝试登录。如果用户等待五分钟,他们将(大多数情况下)能够登录。我曾遇到过 15 分钟无法登录的情况,然后我的下一次登录尝试成功了。
从 SQL 错误日志中,我看到如下条目:
登录失败。登录名来自不受信任的域,不能与 Windows 身份验证一起使用。[客户端:XX.XX.XXX.XXX] 错误:18452,严重性:14,状态:1。
SSPI 握手失败,错误代码为 0x80090311,在建立具有集成安全性的连接时状态 14;连接已关闭。原因:AcceptSecurityContext 失败。Windows 错误代码指示失败的原因。无法联系授权进行身份验证。[客户:XX.XX.XXX.XXX] 错误:17806,严重性:20,状态:14。
从服务器,我看到这个:
一个帐户登录失败。
主题:安全 ID:NULL SID 帐户名称:- 帐户域:- 登录 ID:0x0
登录类型:3
登录失败的帐户:安全 ID:NULL SID 帐户名称:A 用户帐户域:A 域
失败信息:失败原因:登录期间发生错误。状态:0xC000005E 子状态:0x0
进程信息:调用方进程 ID:0x0 调用方进程名称:-
网络信息: 工作站名称: A 计算机源网络地址: - 源端口: -
详细的身份验证信息:登录过程:NtLmSsp 身份验证包:NTLM 传输服务:- 包名称(仅限 NTLM):- 密钥长度:0
任何想法可能导致(有时)这样的登录失败?
我有一个包含许多属性的表,可以将这些属性分组为逻辑组,因此将这些属性放在单独的表中的想法似乎很有吸引力。逻辑组并不代表实体本身。设置组中的一个属性后,也必须设置该组中的大多数其余属性(但不是全部)。组的字段类型一般为VARCHAR(15-20). 也没有BLOBorTEXT字段。
逻辑组不代表子类型,因为它们并不相互排斥。
该实体对阅读的要求多于对写作的要求。因此,一张大桌子看起来很合适。此外,这样就可以避免查询中的连接。我不喜欢这种方法的部分是大量可为空的字段。
寻求专家建议。
我将 Visual Studio 2012 Professional 与 SQL Server Data Tools 与 SQL Server 2012 标准版数据库实例一起使用。
我无法在我的开发机器或托管 SQL Server 实例的服务器上找到 master.dacpac 文件。
我怎样才能获得这个文件,这样我就可以摆脱如下警告:
SQL71502: Procedure: <ProcedureName> has an unresolved reference to object [sys].[objects]
Run Code Online (Sandbox Code Playgroud) 如何暂时停止日志传送 --> 执行任务 --> 启动日志传送?是否可以 ?
我使用 pg_restore 从目录备份恢复 50 GB 数据库,使用以下命令,该命令使用了 4 个作业:
pg_restore -d analytics -U postgres -j 4 -v "D:\Program Files\PostgreSQL\10\backups\Analytics_08_2018__7_53_21.36.compressed"
Run Code Online (Sandbox Code Playgroud)
我从命令行运行了这个。恢复时间比非并行恢复长约 2 小时。它似乎在恢复作业结束时继续创建索引
pg_restore: launching item 2817 INDEX nidx_bigrams_inc_hits
pg_restore: creating INDEX "public.nidx_bigrams_inc_hits"
pg_restore: finished item 2965 TABLE DATA trigrams
pg_restore: launching item 2822 INDEX nidx_trigrams_inc_hits
pg_restore: creating INDEX "public.nidx_trigrams_inc_hits"
pg_restore: finished item 2823 INDEX nidx_unigrams_inc_hits
pg_restore: finished item 2822 INDEX nidx_trigrams_inc_hits
pg_restore: finished item 2817 INDEX nidx_bigrams_inc_hits
pg_restore: finished main parallel loop
Run Code Online (Sandbox Code Playgroud)
每个 pg_restore“创建索引”作业在 pg_stat_activity 中的状态均为“空闲”。另一个 pg_restore 作业在提交时“空闲”。
我希望并行恢复能够比默认恢复快得多,而且它似乎一直在这样做,直到大约 …
oracle ×3
sql-server ×3
etl ×1
insert ×1
log-shipping ×1
parallelism ×1
pg-restore ×1
postgresql ×1
security ×1
ssdt ×1