我在oracle9.2.0.1.0手动创建新的数据库(已经有一个数据库)。
我按照9i的文档Oracle9i Database Administrator's Guide Release 2 (9.2) for Windows中的步骤进行手动创建,在执行Running the CREATE DATABASE Script的第5步时,出现错误提示数据库已安装。
请问如何解决这个问题。
我按照9i的文档Oracle9i Database Administrator's Guide Release 2 (9.2) for Windows中的步骤进行手动创建,在执行Running the CREATE DATABASE Script的第5步时,出现错误提示数据库已安装。
请问如何解决这个问题。
我想可能错误原因是这样:
你第一次执行dbca时,出现了错误,但是Oracle的SID已经
设置上了(你可以看一下保存的批处理脚本), 第一句就是
set ORACLE_SID=...
然后是:
oradim -new -sid XXX -intpwd XXX -startmode manual -pfile ...
...
在注册表中也写入了相关信息.
因此,你需要做的是:
1. oradim -delete -SID XXX ...
2. 重新启动机器再试一次. 附上winnnt/2k环境完全删除oracle的步骤: 1、以NT的Administrator 登陆
2、通过控制面版-〉服务,停掉所有ORACLE服务
3、打开注册表(REGEDIT命令),删除
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
4、打开注册表中的:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 删除以ORACLE开头的所有服务 5、删除:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
EventLog\Application下 以ORACLE开头的所有服务 6、关闭REGEDIT 7、打开控制面版-〉系统-〉环境变量 8、如果ORACLE安装了JRE,就删除%ORACLE_HOME%\BIN和JRE路径。
例如:C:\ORACLE\ORA81\BIN;
G: \Program Files\Oracle\jre\1.1.7\bin 9、删除\Winnt\Profiles\All Users\Start Menu\Programs\Oracle
和 \Winnt\Profiles\All Users\Start Menu\Programs\Oracle 10、删除\Program Files\Oracle 11、重新启动机器 12、删除所有ORACLE目录
(在注册表HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ORACLE_HOMES下)
我的问题是我已用dbca创建了一个数据库,我是想在不删除已创建数据库的情况下,
创建新的数据库,命名一个新的SID。
就是因为同名了~改个名字不就好了
"想在不删除已创建数据库的情况下,创建新的数据库,
命名一个新的SID" ?
完全没有问题,你用DBCA工具就可以做到,最后一步选择"保存到
批处理文件", 然后手工运行这个文件就可以了.
其实创建数据库的脚本在各个版本间是兼容的.
你如果需要,我可以发一份8i下的脚本给你,自己改一改应该
就能运行了.
我的步骤:
1:在oracle/database下建立一个初始文件initmanual.ora,文件内容如下:
db_name = "manual"
instance_name = manual
service_names = manual
db_files = 1024 # INITIAL
.....
2:
c:/>sqlplus/nolog
sql>connect /as sysdba
sql>shutdown --为了停掉已经有的数据库
sql>startup nomount
sql>create database manual
datafile 'c:/oracle/oradata/manual_data/system.dbf' size 50m autoextend
on next 640K
logfile 'c:/oracle/oradata/manual_data/redo0101.log' SIZE 10M,
'c:/oracle/oradata/manual_data/redo0201.log' SIZE 10M
maxdatafiles 30
maxinstances 8
maxlogfiles 64
character set ZHS16GBK
SQL> /
create database manual
*
ERROR 位于第 1 行:
ORA-01501: CREATE DATABASE ??
ORA-01504: ????'MANUAL'??? db_name 'notebook'???
dbca 工具生成的是一个bat文件,和一些sql脚本. bat 文件的开头是定义SID, 参考: set ORACLE_SID=ORADB
--------------------
指定一个实例名; N:\oracle\ora817\bin\oradim -new -sid ORADB -intpwd oracle -startmode manual
- pfile "N:\oracle\admin\ORADB\pfile\initORADB.ora"
-----------------------------------------------------
创建一个新的例程, 指定启动时用的参数文件为 initORADB.ora 然后就是创建数据库(在新的sql脚本中),拿下面的脚本和你自己
写的比较一下:
spool N:\oracle\admin\ORADB\create\createdb
set echo on
connect INTERNAL/oraclestartup nomount pfile="N:\oracle\admin\ORADB\pfile\initORADB.ora"
------------------------------------------------------------------
要指定初始化参数文件路径CREATE DATABASE ORADB
LOGFILE 'N:\oracle\oradata\ORADB\redo01.log' SIZE 10240K,
'M:\oradata\ORADB\redo02.log' SIZE 10240K,
'M:\oradata\ORADB\redo03.log' SIZE 10240K
MAXLOGFILES 32
MAXLOGMEMBERS 3
MAXLOGHISTORY 1
DATAFILE 'N:\oracle\oradata\ORADB\system01.dbf' SIZE 50M REUSE AUTOEXTEND ON NEXT 64K
MAXDATAFILES 100
MAXINSTANCES 1
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET ZHS16GBK;
spool off
---------------------------------------
对比我机器上的建库脚本, 你写的脚本中 缺少了 startup nomount -pfile ...
因为你没有指定数据库实例启动时使用的参数文件名称,因此创建数据库时
会出错。
如果是9i, 初始化参数文件应用的顺序应该是:
spfile<SID>.ora -> spfile.ora ->init<sid>.ora