如何手工建立数据库 我是在linux下安装的10g,我想手工来创建数据库。我已经使用dbca自动创建好了一个数据库。现在我想在已经有了一个数据库的基础上再使用手工来创建另一个数据库,请问应该如何进行操作。谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在Linux下虽然通过dbca也可以创建数据库,但是在某些环境下却是不能使用图形环境,如数据库服务器在机房,并且开放的端口有限制,或者需要批量创建数据库。那么,这个时候为了方便就不得不使用手工创建数据库了。以下是创建数据库的步骤:操作系统:centos 5 (安装的时候,修改/etc/redhat-real* 输入redhat enterprise 4)数据库:oracle 10g 环境:已经使用dbca创建了数据库orcl。oracle用户所属组为:oracle,dbaORACLE_BASE=/home/oracle/oracle/ORACLE_HOME=$ORACLE_BASE/db1ORACLE_SID=testORACLE_OWNER=oracleNLS_LANG="Simplified Chinese_china"DB_HOME=/home/oracle/oradata步骤:1、创建pfile文件使用sqlplus sys/orcl@orcl as sysdba 登陆orcl数据库环境,使用命令create pfile from spfile; 创建pfile文件再到系统下到$ORACLE_HOME/dbs/目录中使用命令cp initorcl.ora inittest.ora或者直接在系统下到$ORACLE_HOME/dbs/目录中使用命令strings spfileorcl.ora >inittest.ora完成后,修改inittest.ora文件,将orcl替换为test2、创建密码文件cd $ORACLE_HOME/dbs/orapwd file=orapwtest password=test3、创建目录mkdir -p $ORACLE_BASE/admin/testcd $ORACLE_BASE/admin/testmkdir adump bdump cdump dpdump pfilemkdir -p $DB_HOME/test4、修改监听程序vi $ORACLE_HOME/network/admin/tnsnames.ora将其中ORCL部分复制粘贴,并且修改其名称为test5、开始创建数据库export ORACLE_SID=testsqlplus /nologconn / as sysdbaspool $ORACLE_BASE/admin/$ORACLE_SID/create/createdbstartup nomountcreate database testLOGFILEGROUP 1 ('$DB_HOME/test/redo01.log','$ORACLE_BASE/oradata/test/redo01_1.log') size 100m reuse,GROUP 2 ('$DB_HOME/test/redo02.log','$DB_HOME/test/redo02_1.log') size 100m reuse,GROUP 3 ('$DB_HOME/oradata/test/redo03.log','$DB_HOME/test/redo03_1.log') size 100m reuseMAXLOGFILES 50MAXLOGMEMBERS 5MAXLOGHISTORY 200MAXDATAFILES 500MAXINSTANCES 5ARCHIVELOGCHARACTER SET UTF8NATIONAL CHARACTER SET UTF8DATAFILE '$DB_HOME/test/system01.dbf' SIZE 1000M EXTENT MANAGEMENT LOCALSYSAUX DATAFILE '$DB_HOME/test/sysaux01.dbf' SIZE 1000MUNDO TABLESPACE UNDOTBS1 DATAFILE '$DB_HOME/test/undo.dbf' SIZE 500MDEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE'$DB_HOME/test/temp.dbf' SIZE 500M;等待一定时间,如果没有问题会显示数据库创建成功注意UNDO TABLESPACE UNDOTBS1中的名字,需要和inittest.ora中的名字一样。@$ORACLE_HOME/rdbms/admin/catalog.sql;@$ORACLE_HOME/rdbms/admin/catproc.sql;@$ORACLE_HOME/rdbms/admin/catdbsyn.sql;alter user system identified by test;grant sysdba to system;shutdown immediate;startup;spool offexit使用system用户登陆sqlplus system/test@$ORACLE_HOME/sqlplus/admin/pupbld.sqlexit数据库创建完成。如果遇到问题,可以查看日志$ORACLE_BASE/admin/$ORACLE_SID/create/createdb 谢谢楼上的兄弟,但是我现在有两个疑问想请教一下:1.我现在已经有了一个数据库orc_test,在.bash_profile文件中我设置的ORACLE_SID=orc_test,如果需要修改这个配置文件的话,是否会对我原来数据库造成影响,能否不修改该文件中的ORACLE_SID?2.创建数据库以前,受限设置例程服务,我是使用set oracle_sid=demo,如果使用export ORACLE_SID=demo有什么区别3.修改tnsnames.ora,修改完成后对我以前的服务有和影响,而且需要修改listener.org文件么,貌似这个文件也需要修改的吧?如果修改有什么影响呢?4.由于我的数据库是已经启动的状态,我在使用sqlplus /nolog登陆到数据库以后,再使用我重新建立的sys密码进行connect,连接成功,但是,我使用startup nomount命令,报错说不能启动已经在运行的oracle,这就说明我还是连接在orc_test数据库中,如果我使用startup nomount pfile='demo的PFILE文件',运行后则没有任何反应,请教这是怎么回事?谢谢,请指教。 PL/SQL这个工具有代码提示吗? Oracle nvarchar2字段长度问题 ORACLE 数据库性能问题 , 望解答!!! 一道面试题 高分100求SQL语句[急急] 数据定义的小问题! 求助,求助,求助 请教问题!在线等待~!! 怎么指定返回的行数???? 问一个关于OWB的问题,高手来帮下忙~ oracle数据库分组拍名次 求一条SQL Sever 转换为Oracle
数据库:oracle 10g 环境:
已经使用dbca创建了数据库orcl。
oracle用户所属组为:oracle,dba
ORACLE_BASE=/home/oracle/oracle/
ORACLE_HOME=$ORACLE_BASE/db1
ORACLE_SID=test
ORACLE_OWNER=oracle
NLS_LANG="Simplified Chinese_china"
DB_HOME=/home/oracle/oradata步骤:1、创建pfile文件
使用sqlplus sys/orcl@orcl as sysdba 登陆orcl数据库环境,使用命令
create pfile from spfile; 创建pfile文件
再到系统下到$ORACLE_HOME/dbs/目录中使用命令
cp initorcl.ora inittest.ora
或者直接在系统下到$ORACLE_HOME/dbs/目录中使用命令
strings spfileorcl.ora >inittest.ora
完成后,修改inittest.ora文件,将orcl替换为test2、创建密码文件
cd $ORACLE_HOME/dbs/
orapwd file=orapwtest password=test3、创建目录
mkdir -p $ORACLE_BASE/admin/test
cd $ORACLE_BASE/admin/test
mkdir adump bdump cdump dpdump pfile
mkdir -p $DB_HOME/test4、修改监听程序
vi $ORACLE_HOME/network/admin/tnsnames.ora
将其中ORCL部分复制粘贴,并且修改其名称为test5、开始创建数据库
export ORACLE_SID=test
sqlplus /nolog
conn / as sysdba
spool $ORACLE_BASE/admin/$ORACLE_SID/create/createdb
startup nomount
create database test
LOGFILE
GROUP 1 ('$DB_HOME/test/redo01.log',
'$ORACLE_BASE/oradata/test/redo01_1.log') size 100m reuse,
GROUP 2 ('$DB_HOME/test/redo02.log',
'$DB_HOME/test/redo02_1.log') size 100m reuse,
GROUP 3 ('$DB_HOME/oradata/test/redo03.log',
'$DB_HOME/test/redo03_1.log') size 100m reuse
MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXLOGHISTORY 200
MAXDATAFILES 500
MAXINSTANCES 5
ARCHIVELOG
CHARACTER SET UTF8
NATIONAL CHARACTER SET UTF8
DATAFILE '$DB_HOME/test/system01.dbf' SIZE 1000M EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '$DB_HOME/test/sysaux01.dbf' SIZE 1000M
UNDO TABLESPACE UNDOTBS1 DATAFILE '$DB_HOME/test/undo.dbf' SIZE 500M
DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE
'$DB_HOME/test/temp.dbf' SIZE 500M
;等待一定时间,如果没有问题会显示数据库创建成功注意UNDO TABLESPACE UNDOTBS1中的名字,需要和inittest.ora中的名字一样。@$ORACLE_HOME/rdbms/admin/catalog.sql;
@$ORACLE_HOME/rdbms/admin/catproc.sql;
@$ORACLE_HOME/rdbms/admin/catdbsyn.sql;
alter user system identified by test;
grant sysdba to system;
shutdown immediate;
startup;
spool off
exit使用system用户登陆
sqlplus system/test
@$ORACLE_HOME/sqlplus/admin/pupbld.sql
exit数据库创建完成。如果遇到问题,可以查看日志
$ORACLE_BASE/admin/$ORACLE_SID/create/createdb
1.我现在已经有了一个数据库orc_test,在.bash_profile文件中我设置的ORACLE_SID=orc_test,如果需要修改这个配置文件的话,是否会对我原来数据库造成影响,能否不修改该文件中的ORACLE_SID?
2.创建数据库以前,受限设置例程服务,我是使用set oracle_sid=demo,如果使用export ORACLE_SID=demo有什么区别
3.修改tnsnames.ora,修改完成后对我以前的服务有和影响,而且需要修改listener.org文件么,貌似这个文件也需要修改的吧?如果修改有什么影响呢?
4.由于我的数据库是已经启动的状态,我在使用sqlplus /nolog登陆到数据库以后,再使用我重新建立的sys密码进行connect,连接成功,但是,我使用startup nomount命令,报错说不能启动已经在运行的oracle,这就说明我还是连接在orc_test数据库中,如果我使用startup nomount pfile='demo的PFILE文件',运行后则没有任何反应,请教这是怎么回事?
谢谢,请指教。