I am using Resource Governor on my production database for restriction to maximum CPU usage. But it couldnt work efficiently. I am using same structure on different servers and it work correctly. Only difference between servers is CPU count.
My OS version is Windows Server 2012 R2 and my MS SQL Server version is "Microsoft SQL Server 2014 - 12.0.2495.0 (X64)
Mar 31 2015 09:47:37
Copyright (c) Microsoft Corporation
Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.3 (Build 9600: ) (Hypervisor)
"
My classifier function script is below:
USE [master]
GO
/****** Object: UserDefinedFunction [dbo].[rgclassifier_MAX_CPU] Script Date: 28.7.2015 13:24:29 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[rgclassifier_MAX_CPU]() RETURNS sysname
WITH SCHEMABINDING
AS
BEGIN
DECLARE #workload_group_name AS sysname
IF (ORIGINAL_DB_NAME() = 'DeFacto' )
SET #workload_group_name = 'gMAX_CPU_PERCENT_60'
RETURN #workload_group_name
END;
My resource pool script is below:
USE [master]
GO
/****** Object: ResourcePool [pMAX_CPU_PERCENT_60] Script Date: 28.7.2015 13:24:21 ******/
CREATE RESOURCE POOL [pMAX_CPU_PERCENT_60] WITH(min_cpu_percent=0,
max_cpu_percent=60,
min_memory_percent=0,
max_memory_percent=100,
cap_cpu_percent=100,
AFFINITY SCHEDULER = AUTO
,
min_iops_per_volume=0,
max_iops_per_volume=0)
GO
My final description script is below:
USE [master]
GO
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = [dbo].[rgclassifier_MAX_CPU]);
GO
ALTER RESOURCE GOVERNOR WITH (MAX_OUTSTANDING_IO_PER_VOLUME = DEFAULT);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
İt doesnt restrict max CPU Usage. I set default max_cpu_percent is %60 but sometimes it use %100 percent. Thus, we can not access the system properly.
This is the error message from my event log:
"Failed to run resource governor classifier user-defined function 'dbo.rgclassifier_MAX_CPU'. Last error 8525, state 1. See previous errors in SQL Server error log from session ID 538 for details. Classifier elapsed time: 0 ms." Could you help me?
Note that the maximum CPU percentage is an opportunistic maximum. If there is available CPU capacity, the workload uses it up to 100 percent. The maximum value only applies when there is contention for CPU resources.
Here is full description
Related
I have a problem when run command: sudo -su user_test ./pgsql/bin/initdb -D /example/folder
I had researched many sources from the internet but don’t found a solution.
I hope everyone could help me. Thanks.
Enviroment:
initdb (PostgreSQL) 10.10
OS: uname -a Linux DL2100 3.10.38 #1 SMP Build-gitb1820a8 x86_64 GNU/Linux
selecting default max_connections … 100
selecting default shared_buffers … 128MB
selecting default timezone … Europe/Helsinki
selecting dynamic shared memory implementation … posix
creating configuration files … ok
running bootstrap script … 2020-11-03 11:52:56.303 EET [3928] DEBUG: invoking IpcMemoryCreate(size=148545536)
2020-11-03 11:52:56.303 EET [3928] DEBUG: mmap(148897792) with MAP_HUGETLB failed, huge pages disabled: Cannot allocate memory
2020-11-03 11:52:56.315 EET [3928] DEBUG: SlruScanDirectory invoking callback on pg_notify/0000
2020-11-03 11:52:56.315 EET [3928] DEBUG: removing file "pg_notify/0000"
2020-11-03 11:52:56.316 EET [3928] DEBUG: dynamic shared memory system will support 288 segments
2020-11-03 11:52:56.316 EET [3928] DEBUG: created dynamic shared memory control segment 1852866650 (6928 bytes)
2020-11-03 11:52:56.319 EET [3928] PANIC: could not generate secret authorization token
Aborted
child process exited with exit code 134```
The error is thrown in BootStrapXLOG in src/backend/access/transam/xlog.c:
/*
* Generate a random nonce. This is used for authentication requests that
* will fail because the user does not exist. The nonce is used to create
* a genuine-looking password challenge for the non-existent user, in lieu
* of an actual stored password.
*/
if (!pg_backend_random(mock_auth_nonce, MOCK_AUTH_NONCE_LEN))
ereport(PANIC,
(errcode(ERRCODE_INTERNAL_ERROR),
errmsg("could not generate secret authorization token")));
src/backend/utils/misc/backend_random.c says:
pg_backend_random() function fills a buffer with random bytes. Normally,
it is just a thin wrapper around pg_strong_random(), but when compiled
with --disable-strong-random, we provide a built-in implementation.
So it seems that PostgreSQL was built on a system that had a source for strong random numbers (OpenSSL or /dev/urandom, if you are not on Windows), but the facility is not working on your current system.
try with the lates minor release of v10 (currently 10.15) – maybe a bug has been fixed.
run pg_config --configure to check if PostgreSQL was built --with-openssl
OpenSSL also uses /dev/urandom, so there is likely a problem with that source of random numbers; investigate there
If all fails, build PostgreSQL from source and configure it with
./configure --disable-strong-random ...
It worked fine. Thank you very much, #Laurenz Albe
I am trying to install and run this database for a week... ;<
I previously tried with Oracle 12 c standard edition but it didn't work - I don't know why ;(
For now I have uninstalled (I believe) the 12 c and installed 18 XE..
On SQL Plus I have: ORA-12560: TNS:protocol adapter error service is running when I try to log in as sysdba
All services on services.msc are running:
- OracleOraDB18Home1MTSRecoveryService
- OracleOraDB18Home1TNSListener
- OracleRemExecServiceV2
- OracleServiceXE
- OracleVssWriterXE
On command line when I type "lsnrctl status" I have:
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=DESKTOP-*******)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 64-bit Windows: Version 18.0.0.0.0 - Production
Start Date 23-NOV-2019 10:41:47
Uptime 0 days 11 hr. 36 min. 34 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Default Service XE
Listener Parameter File C:\app\*****\product\18.0.0\dbhomeXE\network\admin\listener.ora
Listener Log File C:\app\*****\product\18.0.0\diag\tnslsnr\DESKTOP-*******\listener\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=DESKTOP-*******)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
And on SQL Developer I have one of 2 errors, depending what I write there:
- Status : Failure - The Network Adapter could not establish the connection
- Status : Failure -Test failed: Listener refused the connection with the following error:
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
I don't know what I am doing. I just want to install and run this as quickly as possible to practice on sample database for an exam :( This is my PC, no virtual machines or online servers
Please help me investigate the issue - I checked several answers, even on this site, but I can't understand them well, there are a lot more information there than I need....
Your exception message...
TNS:listener does not currently know of service requested in connect descriptor
... and your listener status...
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
... say exactly what's wrong. Your TNS Listener does not know of your Oracle DB service.
You may be right that your Windows "Oracle DB" service is running; that does not mean, though, that your Oracle instance is running. First, log on as admin to your Oracle DB from a Windows user that is privileged to log on locally...
set ORACLE_SID=fill_in_the_SID_of_your_Oracle_instance_here
sqlplus / as sysdba
... and run...
alter system set local_listener = <fill_in_your_local_listener_SID_here>
alter system register;
That should register your database service to your TNS Listener, provided that you have your local TNS listener configured in your server's tnsnames.ora...
<fill_in_your_local_listener_SID_here> = (address = (protocol = tcp)(host = 127.0.0.1)(port = 1521))
Too complicated, I know. That's why it's better (for new developers w/o Oracle DBA skills) to use precreated VMs images as suggested by #thatjeffsmith's comment above.
We have recently migrated from TFS 2010 to TFS 2015 (Update 2) and everything seems to work fine apart from
the following error we get every 12 minutes.
TF53010: The following error has occurred in a Team Foundation component or extension:
Application Domain: TfsJobAgent.exe
Assembly: Microsoft.TeamFoundation.Framework.Server, Version=14.0.0.0, Culture=neutral,
Detailed Message: TF221123: Job Version Control Warehouse Sync for team project collection JLT TFS 2010 was unable to run after 20 attempts.
After checking "Process status" through the "Warehouse Control Web Service" I get the following message.
I would like to understand the core reason of why this is happening and how we can resolve this isue?
<Job JobProcessingStatus="DataChange" Name="Version Control Warehouse Sync">
<LastRun Result="Stopped" EndTimeUtc="2016-06-30T14:10:50.19Z" ExecutionStartTimeUtc="2016-06-30T14:00:49.877Z" QueueTimeUtc="2016-06-30T14:00:49.203Z">
<ResultMessage>
[Version Control Warehouse Sync]: ---> MakeDataChanges() result=DataChangesPending.
---> MakeDataChanges() result=DataChangesPending.
---> MakeDataChanges() result=DataChangesPending.
---> MakeDataChanges() result=DataChangesPending. --->
...
...
---> TF221123: Job Version Control Warehouse Sync for team project collection JLT TFS 2010 was unable to run after 20 attempts.
</ResultMessage>
</LastRun>
<CurrentRun ExecutionStartTimeUtc="2016-06-30T14:12:50.75Z" QueueTimeUtc="2016-06-30T14:12:50.19Z" JobState="Running"/>
</Job>
After checking this further we found that this is a known issues (confirmed by Microsoft) and has been fixed in TFS 2015 (Update 3).
Although, it requires to apply the latest Update of TFS 2015, however, it can be achieved by applying the following workaround at database level.
Please run the following script on the TFS Collection Database
DECLARE #partitionId INT = 1
DECLARE #registryUpdates typ_KeyValuePairStringTableNullable
INSERT #registryUpdates ([Key], Value)
SELECT ‘#\Configuration\VersionControl\CodeChurn\InUpgrade\’, NULL
EXEC prc_UpdateRegistry #partitionId, #registryUpdates
DROP TABLE tbl_UpgradeCodeChurn
Detailed information can be found in the following article.
After running this script and leaving it for few hours resolved this reported issue.
I had an application perfectly working under Windows XP (32 bit). Moving to Windows 7 (64 bit) and compiling gives me the error run time error 429 ActiveX component can't create object in the module (second line, "set mydb=...", see code) where I make the connection with the MS Access database (Access 2013 in Windows 7 64 bit). In Windows XP it was an Access 2000 database with extension .mdb. Now it is Access 2013 with extension .accdb.
In the references I replaced the Microsoft Office DAO 3.5 library with the Microsoft Office 15.0 Access Database Engine Object Library, but this doesn't solve the problem. (If I leave the DAO object library, then I get run time error 3343 unrecognized database format on the same line.)
I'm not sure if I have to put in the components of the forms the 32 or the 64 bit version. (For example, dbrgid32.ocx under windows\system32 or under windows\sysWOW64 ... or does it not matter?)
Sub pldata()
Set mydb = DBEngine.Workspaces(0).OpenDatabase("D:\ETC\Gegevens\ETC2015.accdb", False, False, "MS Access")
'Set mydb = DBEngine.Workspaces(0).OpenDatabase("D:\ETC\Gegevens\ETC2015.accdb")ess")
Set myrstadres = mydb.OpenRecordset("select * from dbadres order by naam")
End Sub
Loading Dump File [C:\Crash_Mode__Date_12-05-2009__Time_15-54-2727\PID-4056__CCNET.EXE__1st_chance_Process_Shut_Down__full_13d0_2009-12-06_00-33-14-734_0fd8.dmp]
User Mini Dump File with Full Memory: Only application data is available
Comment: '1st_chance_Process_Shut_Down_exception_in_CCNET.EXE_running_on_TEST218'
Symbol search path is: srvE:\symbolshttp://msdl.microsoft.com/download/symbols
Executable search path is:
Windows Server 2003 Version 3790 (Service Pack 2) MP (2 procs) Free x64
Product: Server, suite: Enterprise TerminalServer SingleUserTS
Machine Name:
Debug session time: Sun Dec 6 00:33:14.000 2009 (GMT+8)
System Uptime: 32 days 12:43:52.414
Process Uptime: 0 days 8:44:37.000
..........................WARNING: mscorjit overlaps mscoree
..............................WARNING: wldap32 overlaps dnsapi
..........WARNING: rasapi32 overlaps dnsapi
...WARNING: tapi32 overlaps rasapi32
.WARNING: rtutils overlaps rasman
..............WARNING: setupapi overlaps winsta
....wow64cpu!CpupSyscallStub+0x9:
00000000`78b842d9 c3 ret
why this happen?
Not related to CLR, instead it's 32-on-64 as described here http://www.dumpanalysis.org/blog/index.php/2007/09/11/crash-dump-analysis-patterns-part-26/ -- in short use the following:
.load wow64exts
.effmach x86
With those, kb and !analyze -v will give better results.
I hadve seen the same thing latly, I do not know for sure but it's probably some WOW64 artifact or possibly due to some more aggressive anti-exploitation techniques. At leat on Win32, even though the load address of a DLL may be different on occasion, if a DLL is mapped in antother process (like ntdll/kernel32) when your process start's if it is statically linking these DLL's also, it would always load at the same address until the next reboot.
It seems probable that more recent CLR exe's are able to remap various module's per-execution, I know that this is an issue on MSVC10 and Windows7 but perhaps it's been ported to additonal platforms for CLR applications.