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

Script to Collect Data Guard Physical Standby Diagnostic Information

Script to Collect Data Guard Physical Standby Diagnostic Information [ID 241438.1] -------------------------------------------------------------------------------- Modified 20-APR-2011 Type SCRIPT Status PUBLISHED Overview -------- This script is intended to provide an easy method to provide information necessary to troubleshoot Data Guard issues. Script Notes ------------- This script is intended to be run via sqlplus as the SYS or Internal user. Script ------- - - - - - - - - - - - - - - - - Script begins here - - - - - - - - - - - - - - - - -- NAME: DG_phy_stby_diag.sql -- ------------------------------------------------------------------------ -- AUTHOR: -- Michael Smith - Oracle Support Services - DataServer Group -- Copyright 2002, Oracle Corporation -- ------------------------------------------------------------------------ -- PURPOSE: -- This script is to be used to assist in collection information to help -...

Unix Tips for Oracle DBA

A script to kill all Oracle processes This is a common Unix script used by Oracle DBAs when a database is locked up, and Server Manager cannot be used to stop the database in more “gentle“ fashion. To begin, the Unix kill command is used to kill a process. The basic format of the kill command is as follows: Kill –9 PID1 PID2 PID3 …PIDn The trick is to be able to identify and kill only the Oracle processes. That’s done by stringing several commands together. The resulting one-line script looks like this: ps –ef|grep “ora_”|grep –v grep|grep $ORACLE_SID| awk ‘{print $2}’|xargs kill –9 We ‘ll walk through the process of building the command. To begin, we want to get a list of active processes on the server. We can do that using the following command: ps –ef If we execute ps –ef on our server, we’ ll see a long list of processes - both for Oracle and for many other things. However, we want to limit your output to only those processes that are related to the Oracle Data...