Skip to main content

ORA-01501: CREATE DATABASE failed

Problem:
========

During the creation of a new database the CREATE DATABASE
command fails with the following errors:

ORA-01501: CREATE DATABASE failed
ORA-01519: error while processing file '?/rdbms/admin/sql.bsq' near line 406
ORA-00604: error occurred at recursive SQL level 1
ORA-04031: unable to allocate 2192 bytes of shared memory ("shared pool",
"unknown object","KQLS heap","KQLS MEM BLOCK")


Solution:
=========

1. Increase the shared_pool_size parameter in the init.ora file.

2. Shutdown abort your database.

3. Startup nomount your database.

4. Execute the CREATE DATABASE command again.


Explanation:
============

If your shared_pool_size is too small, the CREATE DATABASE command cannot
finish successfully.

This happens typically on small test instances when you just want to
test anything on an empty instance and do not want to waste too much
memory on a server. In this case you often edit init.ora manually
to set shared_pool_size as small as possible, and the value you use is
too small.

Another typical case where this happens is when you are upgrading an
Oracle database using full export and import. You are pre-creating an
empty database on a new version using the copy of your older init.ora
file. During the CREATE DATABASE command on a new version, you get the
errors above, because the new version needs more memory to perform all the
actions to create a database.

Comments

Popular posts from this blog

Reaname Database

Mount the database whose name is to be changed SQL> startup pfile=inithcc.ora nomount ORACLE instance started. Total System Global Area 100663296 bytes Fixed Size 1217884 bytes Variable Size 88083108 bytes Database Buffers 8388608 bytes Redo Buffers 2973696 bytes SQL> alter database mount; Database altered. SQL> select name,open_mode from v$database; NAME OPEN_MODE --------- ---------- HCC MOUNTED Use nid Utility to change the Database Name(from 9i or higher) $ nid target=sys/as sysdba dbname=test This may give the following Output DBNEWID: Release 10.2.0.1.0 - Production on Thu May 19 19:33:31 2011 Copyright (c) 1982, 2005, Oracle. All rights reserved. Password: Connected to database HCC (DBID=1702020770) Connected to server version 10.2.0 Control Files in database: /home/hcctest/oracle/oradata/test/control/control01.ctl /home/hcctest/oracle/oradata/test/control/cont...

utlrp scipts

utlrp script + What is UTLRP.SQL? This script recompiles invalid PLSQL modules. + What this script does? This script recompiles all existing invalid PL/SQL modules in a database. This is a fairly general script that can be used at any time to recompile all existing invalid PL/SQL modules in a database If run as one of the last steps during migration/upgrade/downgrade this script will validate all PL/SQL modules (i.e. procedures, functions, packages, triggers, types, views, libraries) during the migration step itself. + Any other script called within UTLRP.SQL? Yes. It invokes utlrcmp.sql Where are these SCRIPTS located? ============================ The scripts are found in the standard admin directory of the Oracle Home. $ORACLE_HOME/rdbms/admin Which script is better? ================= -> UTLRP.SQL - Validates all invalid objects and can be run anytime. (this in-turn is called by utlirp.sql) What is invalid ? you can find out by doing this In sqlplus : 15:03...