BookmarkSubscribeRSS Feed
JuanS_OCS
Amethyst | Level 16

Dear all,

 

I am facing an interesting problem, which I already have on a track with SAS Technical Supoprt, but maybe you do have any insight oin it, my dear colleagues.

 

It seems as one project repository was corrupted, on the way that while it is Online, the full Metadata gets on Paused state. It cannot be unregistered or delete (I can move the physical repo, but it does not help) therepo.

 

Errors  on those case are:

INTERNAL ERROR: Class ID AQ has been assigned to more than one class.  Contact SAS Technical Support.

INTERNAL ERROR: Class ID AR has been assigned to more than one class.  Contact SAS Technical Support.

Repository 610488 is not properly initialized.  Look for details earlier in the server log.  An administrator should analyze and repair this repository.

UndoCheckoutLogical return code=807feace

DoRequest return code=807feace....

 

I can put it on Administration mode, in order to let DI-Clear Checkouts to work ( http://support.sas.com/documentation/cdl/en/etlug/68225/HTML/default/viewer.htm#p09y0k48myiny1n0zhvb...), but then I cannot clear it, the error is such as: 

 

Error clearing project: Repository XXXX is not properly initialized. Look for details earlier in the server log. An administrator should analyze and repair this repository.

 

Meaning, back to the initial error.

 

"Funny"  thing: for now, this metadata environment only works when the project repo is Offline, and, in the meanwhile, increasing errors/corruption is happening. The latest: it is not possible to create/modify any Scheduled Flow.

 

So, how to repair a project repository that cannot be cleaned?

 

Thanks in advance!

 

Kind regards,

Juan

 

 

10 REPLIES 10
PaulHomes
Rhodochrosite | Level 12

Hi Juan, That's an interesting one and I'd be keen to hear how you resolve it.

 

Did you try to do an analyze/repair on the project repository? I assume you have but since you didn't mention it I thought I'd would ask.

 

If you have the opportunity to stop/start the SAS metadata server, I did notice some special omaconfig.xml file tags that can be temporarily added to make the SAS metadata server do analyze/repair during startup. I don't know if this would help but it's something I might try if I was in your situation. They are mentioned in SAS Usage Note 36575: New XML tags are available for the omaconfig.xml file to analyze and repair a ....

JuanS_OCS
Amethyst | Level 16

Hello Paul,

 

many thanks for your answer, good quality as always.

I took both approaches when the first incident happened, and before leaving the corrupted repository on a Offline repository.

 

Does your approach also clean the project repository from every checked in metadata objects?

PaulHomes
Rhodochrosite | Level 12

Hi Juan,

 

Thankfully, I haven't had a need to use this feature as yet 😉

 

I don't imagine it would undo project repository checkouts, but it is something I would look at in terms of trying to get the metadata repositories into a state where I might be able to then undo the checkouts myself. I don't know if it will fix your problem but it might be worth a try if you are stuck. In this instance I think SAS Tech Support will be in a better position to help you solve it.

 

Best of luck

Paul

SASKiwi
PROC Star

Not sure if this is any help or not. I don't use DI Studio but we did strike a very similar problem with SAS VA just recently where a report got corrupted because of a duplicate object ID. This SAS note explains the problem:

 

http://support.sas.com/kb/54/676.html

 

We were able to recover the report by following the instructions to export the XML report definition, manually edit it, remove the duplicate and then re-import it.

 

I'm wondering if a similar approach is possible with your project repository? 

JuanS_OCS
Amethyst | Level 16

Hello @SASKiwi,

 

many thanks for your idea, at this moment any idea is welcome.

 

I also found that problem with VA reports, although that problem talks about "corruption" in the SAS Content Server repository.

 

For a better understanding, this problem is about a DI project repository (metadata), which has got checked in items, and got corrupted, therefore cannot be attached to the Foundation metadata respository anymore, but this also means it cannot be deleted, or even cleant.

 

 

Anand_V
Ammonite | Level 13
Hi @JuanS_OCS

Have you tried to repair and analyze the metadata?
If yes, could you share the outcome?

http://support.sas.com/documentation/cdl/en/bisag/68240/HTML/default/viewer.htm#n17yu4s573nxz0n1ts0c...

Also, if any solution was provided by the SAS Technical Support?

Thanks,
Anand!
CarlosSpranger
Obsidian | Level 7

Hello @JuanS_OCS ,  I faced this issue and after trying many options available without success, at the end i managed to remove the corrupt Project Repo by use Of Proc Metaoperate of the SAS® 9.4 Open Metadata Interface.

CSB
JuanS_OCS
Amethyst | Level 16

Hi everyone,

 

I completely forgot about this thread. 

 

In the end, we resolved it a year and half ago, with indeed some open metadata code SAS technical support proposed. Kudos to SAS Technical Support.

 

Thanks to everyone helping here. 

 

The fact is that there are several levels of issues within project repositories: just an object, the repository is not accessible, total corruption of the metadata....

 

The issue with the latest version, is that when the project repository is corrupted to its core, it also corrupts the Foundation repository.

Initially, you cannot delete the repository (it is not allowed since metadata is corrupt, and foundation can even break eventually if you force it). 

So we initially stoped/disabled the respository having Foundation in Admin mode, so the metadata link still exists. That solved the problem with SAS Foundation not coming up... until we could find the final solution.

 

The final solution was some Open Metadata interface code, but I cannot recall it at the moment.

 

@CarlosSpranger would you be able to be so kind and share the code you used, so other people could use it as well?


Thank you in advance.


Best regards,

Juan

CarlosSpranger
Obsidian | Level 7

Hello @JuanS_OCS  sure.

 

Below a resumed steps guide i tried show whats needed to solve this issue:

 

/*Check metadata Server Status
*************************
*PROCEDURE METADATA used*
*************************
Requirement: The metadata server must be running.
Tip: Be careful when you modify metadata objects, because many objects have dependencies on other objects.
A product like SAS Management Console or SAS Data Integration Studio is recommended for the routine maintenance of metadata.
Before you use PROC METADATA, run a full backup of repositories.
*/

/*
If the metadata server is online, then you can use PROC METADATA to check the status of metadata repositories.
To do so, use PROC METADATA to issue a GetRepositories method call that sets the OMI_ALL flag to 1.
The GetRepositories method is part of the SAS Open Metadata Interface.
*/

****************
* Check Repos *
****************

proc metadata
in="<GetRepositories>
<Repositories/>
<Flags>1</Flags>
<Options/>
</GetRepositories>";
run;

 

************************************
*Then Specify repo Name for Removal*
************************************

proc metaoperate
action=delete
repository="RepoName"
noautopause;
run;

Note: Please refer to the Following documentation before any execution so you understand the Access Mode and State of MEtadata Server and Repos:
SAS® 9.4 Intelligence Platform System Administration Guide, Fourth Edition in Chapter 17 • Managing SAS Metadata Repositories
SAS® 9.4 Open Metadata Interface

CSB
CarlosSpranger
Obsidian | Level 7

Hello @JuanS_OCS  here we go

 

/*Check metadata Server Status
*************************
*PROCEDURE METADATA used*
*************************
Requirement: The metadata server must be running.
Tip: Be careful when you modify metadata objects, because many objects have dependencies on other objects.
A product like SAS Management Console or SAS Data Integration Studio is recommended for the routine maintenance of metadata.
Before you use PROC METADATA, run a full backup of repositories.
*/

/*
If the metadata server is online, then you can use PROC METADATA to check the status of metadata repositories.
To do so, use PROC METADATA to issue a GetRepositories method call that sets the OMI_ALL flag to 1.
The GetRepositories method is part of the SAS Open Metadata Interface.
*/

****************
* Check Repos *
****************

proc metadata
in="<GetRepositories>
<Repositories/>
<Flags>1</Flags>
<Options/>
</GetRepositories>";
run;

 

************************************
*Then Specify repo Name for Removal*
************************************

proc metaoperate
action=delete
repository="RepoName"
noautopause;
run;

Note: Please refer to the Following documentation before any execution so you understand the Access Mode and State of MEtadata Server and Repos:
SAS® 9.4 Intelligence Platform System Administration Guide, Fourth Edition in Chapter 17 • Managing SAS Metadata Repositories
SAS® 9.4 Open Metadata Interface

CSB

suga badge.PNGThe SAS Users Group for Administrators (SUGA) is open to all SAS administrators and architects who install, update, manage or maintain a SAS deployment. 

Join SUGA 

CLI in SAS Viya

Learn how to install the SAS Viya CLI and a few commands you may find useful in this video by SAS’ Darrell Barton.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 10 replies
  • 3658 views
  • 3 likes
  • 5 in conversation