我想将oracle转储导入另一个表空间.
我有一个用户A使用的表空间.我已经撤销了这个用户的DBA并给了他补助连接和资源.然后我用命令抛弃了所有东西
exp a/***owner = a file = oracledump.dmp log = log.log compress = y
现在我想将转储导入用户B使用的表空间B.所以我给了他关于连接和资源的授权(没有DBA).然后我执行了以下导入:
imp b/***file = oracledump.dmp log = import.log fromuser = a touser = b
结果是一个包含大量错误的日志:
IMP-00017:以下语句因ORACLE错误20001失败:"BEGIN DBMS_STATS.SET_TABLE_STATS IMP-00003:ORACLE错误20001遇到ORA-20001:输入值无效或不一致
之后我尝试了相同的导入命令,但选项statistics = none.这导致以下错误:
ORA-00959:表空间'A_TBLSPACE'不存在
该怎么做?
注意:很多列都是CLOB类型.看起来问题与此有关.
注2:oracle版本是9.2,10.1和10.1 XE的混合.但我不认为它与版本有关.
我们有很多嵌套的异步方法,看到我们并不真正理解的行为.以这个简单的C#控制台应用程序为例
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace AsyncStackSample
{
class Program
{
static void Main(string[] args)
{
try
{
var x = Test(index: 0, max: int.Parse(args[0]), throwException: bool.Parse(args[1])).GetAwaiter().GetResult();
Console.WriteLine(x);
}
catch(Exception ex)
{
Console.WriteLine(ex);
}
Console.ReadKey();
}
static async Task<string> Test(int index, int max, bool throwException)
{
await Task.Yield();
if(index < max)
{
var nextIndex = index + 1;
try
{
Console.WriteLine($"b {nextIndex} of {max} (on threadId: {Thread.CurrentThread.ManagedThreadId})");
return await Test(nextIndex, …
Run Code Online (Sandbox Code Playgroud) 我们在Service-Fabric上的Stateful Service中使用以下方法.该服务有分区.有时我们从代码的安静中获得FabricNotReadableException.
public async Task HandleEvent(EventHandlerMessage message)
{
var queue = await StateManager.GetOrAddAsync<IReliableQueue<EventHandlerMessage>>(EventHandlerServiceConstants.EventHandlerQueueName);
using(ITransaction tx = StateManager.CreateTransaction())
{
await queue.EnqueueAsync(tx, message);
await tx.CommitAsync();
}
}
Run Code Online (Sandbox Code Playgroud)
这是否意味着分区已关闭并正在移动?我们打了一个二级分区?因为在某些情况下还会引发FabricNotPrimaryException.
我见过MSDN链接(https://msdn.microsoft.com/en-us/library/azure/system.fabric.fabricnotreadableexception.aspx).但是做什么呢
表示分区无法接受读取时引发的异常.
意思?分区无法接受读取的情况怎么办?
我们为客户提供了一个相当大的(自编)ASP.NET网站.它由一个Web服务,一个Web站点和一个提供图像的Web站点组成,这三个站点都位于自己的虚拟目录中.三个虚拟目录在一个应用程序池中.池具有设置为500兆字节的内存限制(最大虚拟内存和最大已用内存).
但是,即使一次只有一个用户,应用程序池也会遭受很多回收.事件日志消息说:
进程ID为"xxxx"的工作进程为应用程序池"xxxx"提供服务已请求回收,因为它已达到其虚拟内存限制.
但是,使用Process Explorer观察工作进程不会显示任何支持此消息的内容.我应该观察哪些计数器来观察实际上受两种设置限制的内存?
更新1
在任务管理器中观察该过程会显示大约100 MB的"内存使用情况"和"虚拟机大小",仍然会使用上述消息回收该过程.服务器上可用的5 GB物理内存...
更新2
虽然网站相当大,但问题集中在应用程序的一小部分.它执行查询(使用Oracle)并将结果绑定到gridview和转发器webcontrol.结果包括简短描述和图标(通过图像服务网站加载).如果我在彼此之后执行10个搜索操作,每个搜索操作给出9个结果,则工作过程显示内存使用情况和大小为100 MB的vm大小并且回收...
更新3 切换图像服务网站的使用不会产生更好的结果.所以我认为这个问题是另一回事是公平的.
我们使用自定义工具开发和维护数据库架构.从该工具生成SQL脚本和运行时文件.但是,它没有提供非常好的视觉表现.
最近我一直在使用Visio对架构进行逆向工程.到目前为止,这很有效.但为了能够做到这一点,我需要:
我真的想自动化这个过程.第1步和第2步很简单,但我如何自动执行其他步骤.
我一直在寻找一个C#库来创建Visio图表,但它们似乎不适合这个任务.
例如 http://visioautomation.codeplex.com/和http://www.graphviz.org/看起来很有希望,但仔细看看它们并不合适.
我试图录制宏,但宏录制器不能与逆向工程工具结合使用.
为什么新 Service Fabric 代码的示例 RunAsync 的结构如下
protected override async Task RunAsync(CancellationToken cancellationToken)
{
while(true)
{
cancellationToken.ThrowIfCancellationRequested();
await Task.Delay(TimeSpan.FromSeconds(1), cancellationToken);
}
}
Run Code Online (Sandbox Code Playgroud)
而不是这个
protected override async Task RunAsync(CancellationToken cancellationToken)
{
while(cancellationToken.IsCancellationRequested)
{
await Task.Delay(TimeSpan.FromSeconds(1), cancellationToken);
}
}
Run Code Online (Sandbox Code Playgroud)
没有 throw 的版本不是更好吗? 文档指出这两种实现都是正确的:“系统将等待您的任务结束(通过成功完成、取消或故障)”。
我正在生成一些动态 C# 并希望将其编译为 .NET Core 应用程序。但是,似乎缺少 deps.json 文件,无法使其实际运行。所以编译本身可以工作,但是运行时dotnet [name of dll]
会出现错误:
在代码中我这样做
CSharpCompilation compilation = CSharpCompilation.Create(assemblyName,
syntaxTrees: files,
references: references,
options: new CSharpCompilationOptions(OutputKind.ConsoleApplication,
optimizationLevel: OptimizationLevel.Debug
)
);
FileUtility.CreateDirectory(outputDllPath);
EmitResult result = compilation.Emit(outputDllPath, pdbPath: outputPdbPath);
Run Code Online (Sandbox Code Playgroud)
参考集合包含 Microsoft.NETCore.App 和 netstandard 2.0.0 ref dll,以及其他符合 netstandard2.0 的特定 dll。
这可以正常工作。跑步时我得到:
Unhandled Exception: System.TypeLoadException: Could not load type 'System.Object' from assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.
Run Code Online (Sandbox Code Playgroud)
如何为我的编译生成正确的 deps.json 文件?
我们有一个向 Service Fabric 无状态服务广播消息的类。这个无状态服务只有一个分区,但有很多副本。该消息应该发送到系统中的所有副本。因此,我们查询 FabricClient 以获取单个分区以及该分区的所有副本。我们使用标准 HTTP 通信(无状态服务具有带有自托管 OWIN 侦听器的通信侦听器,使用 WebListener/HttpSys)与共享 HttpClient 实例。在负载测试期间,我们在发送消息期间遇到许多错误。请注意,我们在同一应用程序中还有其他服务,它们也在进行通信(WebListener/HttpSys、ServiceProxy 和 ActorProxy)。
我们看到异常的代码是(堆栈跟踪在代码示例下方):
private async Task SendMessageToReplicas(string actionName, string message)
{
var fabricClient = new FabricClient();
var eventNotificationHandlerServiceUri = new Uri(ServiceFabricSettings.EventNotificationHandlerServiceName);
var promises = new List<Task>();
// There is only one partition of this service, but there are many replica's
Partition partition = (await fabricClient.QueryManager.GetPartitionListAsync(eventNotificationHandlerServiceUri).ConfigureAwait(false)).First();
string continuationToken = null;
do
{
var replicas = await fabricClient.QueryManager.GetReplicaListAsync(partition.PartitionInformation.Id, continuationToken).ConfigureAwait(false);
foreach(Replica replica in replicas)
{
promises.Add(SendMessageToReplica(replica, actionName, message));
}
continuationToken …
Run Code Online (Sandbox Code Playgroud) 我们希望在服务结构包(配置,元数据)中部署几个静态内容文件.只要这些文件位于包的根目录中,一切正常.但是,如果我们将它们放在子文件夹中,则文件不包含在包中.这是某种错误,这是设计还是需要配置?
更新
似乎问题出在我们自己的自定义部署代码中(我们自己打包并部署到服务结构).只要文件标记为" 复制到输出目录",这确实有效.