diff -r 8c28c8ad3b3f django/db/backends/creation.py
--- a/django/db/backends/creation.py	Tue Feb 01 15:13:56 2011 +0000
+++ b/django/db/backends/creation.py	Tue Feb 01 15:39:36 2011 -0300
@@ -476,3 +476,17 @@
     def sql_table_creation_suffix(self):
         "SQL to append to the end of the test table creation statements"
         return ''
+
+    def test_db_signature(self):
+        """
+        Returns a tuple with elements of self.connection.settings_dict (a
+        DATABASES setting value) that uniquely identify a database
+        accordingly to the RDBMS particularities.
+        """
+        settings_dict = self.connection.settings_dict
+        return (
+            settings_dict['HOST'],
+            settings_dict['PORT'],
+            settings_dict['ENGINE'],
+            settings_dict['NAME']
+        )
diff -r 8c28c8ad3b3f django/db/backends/oracle/creation.py
--- a/django/db/backends/oracle/creation.py	Tue Feb 01 15:13:56 2011 +0000
+++ b/django/db/backends/oracle/creation.py	Tue Feb 01 15:39:36 2011 -0300
@@ -259,3 +259,13 @@
         names as handled by Django haven't real counterparts in Oracle.
         """
         return self.connection.settings_dict['NAME']
+
+    def test_db_signature(self):
+        settings_dict = self.connection.settings_dict
+        return (
+            settings_dict['HOST'],
+            settings_dict['PORT'],
+            settings_dict['ENGINE'],
+            settings_dict['NAME'],
+            settings_dict['TEST_USER'],
+        )
diff -r 8c28c8ad3b3f django/test/simple.py
--- a/django/test/simple.py	Tue Feb 01 15:13:56 2011 +0000
+++ b/django/test/simple.py	Tue Feb 01 15:39:36 2011 -0300
@@ -1,6 +1,3 @@
-import sys
-import signal
-
 from django.conf import settings
 from django.core.exceptions import ImproperlyConfigured
 from django.db.models import get_app, get_apps
@@ -203,7 +200,7 @@
         deferred = []
 
         while test_databases:
-            signature, aliases = test_databases.pop()
+            signature, (db_name, aliases) = test_databases.pop()
             dependencies_satisfied = True
             for alias in aliases:
                 if alias in dependencies:
@@ -217,10 +214,10 @@
                     resolved_databases.add(alias)
 
             if dependencies_satisfied:
-                ordered_test_databases.append((signature, aliases))
+                ordered_test_databases.append((signature, (db_name, aliases)))
                 changed = True
             else:
-                deferred.append((signature, aliases))
+                deferred.append((signature, (db_name, aliases)))
 
         if not changed:
             raise ImproperlyConfigured("Circular dependency in TEST_DEPENDENCIES")
@@ -276,12 +273,11 @@
                 # Store a tuple with DB parameters that uniquely identify it.
                 # If we have two aliases with the same values for that tuple,
                 # we only need to create the test database once.
-                test_databases.setdefault((
-                        connection.settings_dict['HOST'],
-                        connection.settings_dict['PORT'],
-                        connection.settings_dict['ENGINE'],
-                        connection.settings_dict['NAME'],
-                    ), []).append(alias)
+                item = test_databases.setdefault(
+                    connection.creation.test_db_signature(),
+                    (connection.settings_dict['NAME'], [])
+                )
+                item[1].append(alias)
 
                 if 'TEST_DEPENDENCIES' in connection.settings_dict:
                     dependencies[alias] = connection.settings_dict['TEST_DEPENDENCIES']
@@ -292,7 +288,7 @@
         # Second pass -- actually create the databases.
         old_names = []
         mirrors = []
-        for (host, port, engine, db_name), aliases in dependency_ordered(test_databases.items(), dependencies):
+        for signature, (db_name, aliases) in dependency_ordered(test_databases.items(), dependencies):
             # Actually create the database for the first connection
             connection = connections[aliases[0]]
             old_names.append((connection, db_name, True))
diff -r 8c28c8ad3b3f tests/regressiontests/test_runner/tests.py
--- a/tests/regressiontests/test_runner/tests.py	Tue Feb 01 15:13:56 2011 +0000
+++ b/tests/regressiontests/test_runner/tests.py	Tue Feb 01 15:39:36 2011 -0300
@@ -33,9 +33,9 @@
 
     def test_simple_dependencies(self):
         raw = [
-            ('s1', ['alpha']),
-            ('s2', ['bravo']),
-            ('s3', ['charlie']),
+            ('s1', ('s1_db', ['alpha'])),
+            ('s2', ('s2_db', ['bravo'])),
+            ('s3', ('s3_db', ['charlie'])),
         ]
         dependencies = {
             'alpha': ['charlie'],
@@ -43,7 +43,7 @@
         }
 
         ordered = simple.dependency_ordered(raw, dependencies=dependencies)
-        ordered_sigs = [sig for sig,aliases in ordered]
+        ordered_sigs = [sig for sig,value in ordered]
 
         self.assertIn('s1', ordered_sigs)
         self.assertIn('s2', ordered_sigs)
@@ -53,9 +53,9 @@
 
     def test_chained_dependencies(self):
         raw = [
-            ('s1', ['alpha']),
-            ('s2', ['bravo']),
-            ('s3', ['charlie']),
+            ('s1', ('s1_db', ['alpha'])),
+            ('s2', ('s2_db', ['bravo'])),
+            ('s3', ('s3_db', ['charlie'])),
         ]
         dependencies = {
             'alpha': ['bravo'],
@@ -63,7 +63,7 @@
         }
 
         ordered = simple.dependency_ordered(raw, dependencies=dependencies)
-        ordered_sigs = [sig for sig,aliases in ordered]
+        ordered_sigs = [sig for sig,value in ordered]
 
         self.assertIn('s1', ordered_sigs)
         self.assertIn('s2', ordered_sigs)
@@ -78,10 +78,10 @@
 
     def test_multiple_dependencies(self):
         raw = [
-            ('s1', ['alpha']),
-            ('s2', ['bravo']),
-            ('s3', ['charlie']),
-            ('s4', ['delta']),
+            ('s1', ('s1_db', ['alpha'])),
+            ('s2', ('s2_db', ['bravo'])),
+            ('s3', ('s3_db', ['charlie'])),
+            ('s4', ('s4_db', ['delta'])),
         ]
         dependencies = {
             'alpha': ['bravo','delta'],
@@ -108,8 +108,8 @@
 
     def test_circular_dependencies(self):
         raw = [
-            ('s1', ['alpha']),
-            ('s2', ['bravo']),
+            ('s1', ('s1_db', ['alpha'])),
+            ('s2', ('s2_db', ['bravo'])),
         ]
         dependencies = {
             'bravo': ['alpha'],
