We recently did complete database restore to a new machine. We excuted restore couple of times as in previous restore we missed few objects.
We are still trying to restore but recently start getting "No more room in database DBC".
So while executing
SELECT DatabaseName,SUM(MaxPerm) max_perm ,SUM(CurrentPerm) Current_Perm FROM DBC.DiskSpace
show -ve MaxPerm for DBC. In effort to fix the issue, I executed both UpdateSpace and UpdateDBC from cnsterm but still the issue remains.
One thing I noticed while running UpdateSpace and UpdateDBC was control never returned to ">" prompt though each execution said process completed.
I tried to modify the perm space to DBC user but got "Failure 3524 The user does not have DROP USER access to database DBC"
Any other thing we can try ?
I did sysinit followed by dipall to reset and initiate database. Before running restore permspace were +ve after restore finished it asked to run post_dbc_restore.
But before running post_dbc_restore I checked permspace and found for DBC it turned -ve :(
Any reason why this is happenning?
This can occur when your restore after a sysinit with a backup from a system that has a larger configuration than the system being retored. For example, you restored a DBC restore from your production system of 25TB to your Staging system that only have 18TB. You'll need to manually move disk space in Teradata Administrator, up the hierarchy from lower databases by reducing the size of database's maxperm, which will give that space to its immediate parent. This effort will in effect, push the space up to DBC. Keep doing this until your DBC is positive.
You can also do this in SQL Asst. using statements like the following.
MODIFY Database db123 AS PERM=100000; -- moves space from DB123 to DBOwner since it is its immediate parent.
MODIFY Database dbabc AS PERM=100000; -- moves space from DBabc to DBOwner since it is its immediate parent.
MODIFY Database DBOwnerAS PERM=100000; -- moves space from DBOwner to sysdba
MODIFY user sysdba AS PERM=100000; -- moves space from sysdba to DBC
SELECT DATABASENAME ,SUM(MAXPERM) MAX_PERM ,SUM(CURRENTPERM) CURRENT_PERM F
ROM DBC.DISKSPACE GROUP BY 1;
*** Query completed. 18 rows found. 3 columns returned.
*** Total elapsed time was 1 second.
DatabaseName MAX_PERM CURRENT_PERM
------------------------------ ------------------- -------------------
tdwm 500,000,000 632,832
SystemFe 2,000,000,000 173,056
SYSLIB 1,000,000,000 1,448,960
PUBLIC 0 0
when I executed "modify database tdwm as perm=100000;" from bteq I got error:
"** Failure 3584 'tdwm' is not a database."