在redhat5上手动创建数据库
我们这道在linux上我们可以通过dbca创建数据库,但是我们也能以命令行的模式创建数据库,下面我们说说他的方法
1,首先查看以下我们要创建的数据库名
[[email protected] ~]$ echo $ORACLE_SID
orcl
如果没有设置可以作如下设置
export ORACLE_SID=orcl
2,首先创建一个实例参数文件(pfile)这里命名为pfileorcl.ora
#vim $ORACLE_HOME/dbs/pfileorcl.ora在里面输入下面内容
db_name=orcl
db_domain=example.com
db_files=1000
processes=600
statistics_level=typical
db_block_size=8192
audit_trail=none
background_dump_dest='/u01/app/admin/orcl/bdump'
core_dump_dest='/u01/app/admin/orcl/adump'
control_files=('/u02/oradata/orcl/control01.ctl',
'/u02/oradata/orcl/control02.ctl','/u02/oradata/orcl/control03.ctl')
sga_target=400M
pga_aggregate_target=400M
db_file_multiblock_read_count=16
log_archive_format='log%t_%s_%r.arc'
optimizer_mode=all_rows
remote_login_passwordfile=none
undo_management=auto
undo_retention=7200
3,创建必要的目录
# mkdir -pv /u01/app/admin/orcl/{adump,bdump,dbump}
mkdir: created directory `/u01/app/admin'
mkdir: created directory `/u01/app/admin/orcl'
mkdir: created directory `/u01/app/admin/orcl/adump'
mkdir: created directory `/u01/app/admin/orcl/bdump'
mkdir: created directory `/u01/app/admin/orcl/dbump'
更改它们的权限
# chmod 775 -Rv /u01/app/admin/
mode of `/u01/app/admin/' changed to 0775 (rwxrwxr-x)
mode of `/u01/app/admin/orcl' changed to 0775 (rwxrwxr-x)
mode of `/u01/app/admin/orcl/adump' changed to 0775 (rwxrwxr-x)
mode of `/u01/app/admin/orcl/bdump' changed to 0775 (rwxrwxr-x)
mode of `/u01/app/admin/orcl/dbump' changed to 0775 (rwxrwxr-x)
更改他们的所属主组
# chown oracle:oinstall -Rv /u01/app/admin/
changed ownership of `/u01/app/admin/orcl/adump' to oracle:oinstall
changed ownership of `/u01/app/admin/orcl/bdump' to oracle:oinstall
changed ownership of `/u01/app/admin/orcl/dbump' to oracle:oinstall
changed ownership of `/u01/app/admin/orcl' to oracle:oinstall
changed ownership of `/u01/app/admin/' to oracle:oinstall
# mkdir /u02/oradata/orcl
# mkdir /u02/oradata/orcl/arch -pv
mkdir: created directory `/u02/oradata/orcl'
# chmod 775 -Rv /u02/oradata/orcl/
mode of `/u02/oradata/orcl/' changed to 0775 (rwxrwxr-x)
mode of `/u02/oradata/orcl/arch' changed to 0775 (rwxrwxr-x)
# chown oracle:oinstall -Rv /u02/oradata/orcl/
changed ownership of `/u02/oradata/orcl/' to oracle:oinstall
3,创建spfile文件
$ sqlplus / as sysdba
orcl
如果没有设置可以作如下设置
export ORACLE_SID=orcl
2,首先创建一个实例参数文件(pfile)这里命名为pfileorcl.ora
#vim $ORACLE_HOME/dbs/pfileorcl.ora在里面输入下面内容
db_name=orcl
db_domain=example.com
db_files=1000
processes=600
statistics_level=typical
db_block_size=8192
audit_trail=none
background_dump_dest='/u01/app/admin/orcl/bdump'
core_dump_dest='/u01/app/admin/orcl/adump'
control_files=('/u02/oradata/orcl/control01.ctl',
'/u02/oradata/orcl/control02.ctl','/u02/oradata/orcl/control03.ctl')
sga_target=400M
pga_aggregate_target=400M
db_file_multiblock_read_count=16
log_archive_format='log%t_%s_%r.arc'
optimizer_mode=all_rows
remote_login_passwordfile=none
undo_management=auto
undo_retention=7200
3,创建必要的目录
# mkdir -pv /u01/app/admin/orcl/{adump,bdump,dbump}
mkdir: created directory `/u01/app/admin'
mkdir: created directory `/u01/app/admin/orcl'
mkdir: created directory `/u01/app/admin/orcl/adump'
mkdir: created directory `/u01/app/admin/orcl/bdump'
mkdir: created directory `/u01/app/admin/orcl/dbump'
更改它们的权限
# chmod 775 -Rv /u01/app/admin/
mode of `/u01/app/admin/' changed to 0775 (rwxrwxr-x)
mode of `/u01/app/admin/orcl' changed to 0775 (rwxrwxr-x)
mode of `/u01/app/admin/orcl/adump' changed to 0775 (rwxrwxr-x)
mode of `/u01/app/admin/orcl/bdump' changed to 0775 (rwxrwxr-x)
mode of `/u01/app/admin/orcl/dbump' changed to 0775 (rwxrwxr-x)
更改他们的所属主组
# chown oracle:oinstall -Rv /u01/app/admin/
changed ownership of `/u01/app/admin/orcl/adump' to oracle:oinstall
changed ownership of `/u01/app/admin/orcl/bdump' to oracle:oinstall
changed ownership of `/u01/app/admin/orcl/dbump' to oracle:oinstall
changed ownership of `/u01/app/admin/orcl' to oracle:oinstall
changed ownership of `/u01/app/admin/' to oracle:oinstall
# mkdir /u02/oradata/orcl
# mkdir /u02/oradata/orcl/arch -pv
mkdir: created directory `/u02/oradata/orcl'
# chmod 775 -Rv /u02/oradata/orcl/
mode of `/u02/oradata/orcl/' changed to 0775 (rwxrwxr-x)
mode of `/u02/oradata/orcl/arch' changed to 0775 (rwxrwxr-x)
# chown oracle:oinstall -Rv /u02/oradata/orcl/
changed ownership of `/u02/oradata/orcl/' to oracle:oinstall
3,创建spfile文件
$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 25 20:46:42 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL> create SPFILE='/u01/app/oracle/product/10.2.0/db_1/dbs/spfileorcl.ora' FROM PFILE='/u01/app/oracle/product/10.2.0/db_1/dbs/pfileorcl.ora';
File created.
4,开启实例,不挂载数据库
SQL> startup nomount;
ORACLE instance started.
4,开启实例,不挂载数据库
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 419430400 bytes
Fixed Size 1219736 bytes
Variable Size 121635688 bytes
Database Buffers 289406976 bytes
Redo Buffers 7168000 bytes
5,我们知道,在文本模式下创建时,如果命令写错将是一件很麻烦的事,所以我们可以把想要执行的命令放在
一个脚本中,然后执行脚本。编辑脚本createorcl.sql在里面输入下面的内容
$ vim createorcl.sql
CREATE DATABASE orcl
USER sys IDENTIFIED BY oracle
USER system IDENTIFIED BY oracle
maxinstances 1
maxloghistory 1
maxlogfiles 5
maxlogmembers 5
DATAFILE '/u02/oradata/orcl/system01.dbf' size 400M extent management LOCAL
SYSAUX DATAFILE '/u02/oradata/orcl/sysaux01.dbf' size 400M
DEFAULT TEMPORARY tablespace temp01
TEMPFILE '/u02/oradata/orcl/temp01.dbf' size 100M
UNDO TABLESPACE undotbs01
DATAFILE '/u02/oradata/orcl/undotbs01.dbf' size 200M
DEFAULT TABLESPACE users
DATAFILE '/u02/oradata/orcl/users01.dbf' size 100M
CONTROLFILE REUSE
LOGFILE group 1 ('/u02/oradata/orcl/redo01.log') size 10M REUSE,
group 2 ('/u02/oradata/orcl/redo02.log') size 10M REUSE,
group 3 ('/u02/oradata/orcl/redo03.log') size 10M REUSE;
6,执行上面的脚本创建数据库
SQL> @/home/oracle/createorcl.sql
Fixed Size 1219736 bytes
Variable Size 121635688 bytes
Database Buffers 289406976 bytes
Redo Buffers 7168000 bytes
5,我们知道,在文本模式下创建时,如果命令写错将是一件很麻烦的事,所以我们可以把想要执行的命令放在
一个脚本中,然后执行脚本。编辑脚本createorcl.sql在里面输入下面的内容
$ vim createorcl.sql
CREATE DATABASE orcl
USER sys IDENTIFIED BY oracle
USER system IDENTIFIED BY oracle
maxinstances 1
maxloghistory 1
maxlogfiles 5
maxlogmembers 5
DATAFILE '/u02/oradata/orcl/system01.dbf' size 400M extent management LOCAL
SYSAUX DATAFILE '/u02/oradata/orcl/sysaux01.dbf' size 400M
DEFAULT TEMPORARY tablespace temp01
TEMPFILE '/u02/oradata/orcl/temp01.dbf' size 100M
UNDO TABLESPACE undotbs01
DATAFILE '/u02/oradata/orcl/undotbs01.dbf' size 200M
DEFAULT TABLESPACE users
DATAFILE '/u02/oradata/orcl/users01.dbf' size 100M
CONTROLFILE REUSE
LOGFILE group 1 ('/u02/oradata/orcl/redo01.log') size 10M REUSE,
group 2 ('/u02/oradata/orcl/redo02.log') size 10M REUSE,
group 3 ('/u02/oradata/orcl/redo03.log') size 10M REUSE;
6,执行上面的脚本创建数据库
SQL> @/home/oracle/createorcl.sql
以下两个命令将创建数据字典
SQL> @$ORACLE_HOME/rdbms/admin/catalog.sql
SQL> @$ORACLE_HOME/rdbms/admin/catalog.sql
......
Grant succeeded.
PL/SQL procedure successfully completed.
SQL> @$ORACLE_HOME/rdbms/admin/catproc.sql
......
No errors.
Package body created.
PL/SQL procedure successfully completed.
如果脚本不能成功则找出错误,直到成功。当两个脚本执行成功后,我们就创建好啦
但是这是我们还不能连接,下面我们让数据库与实例连接起来
$ emca -config dbcontrol db -repos create
$ emca -config dbcontrol db -repos create
STARTED EMCA at Mar 25, 2010 10:02:33 PM
EM Configuration Assistant, Version 10.2.0.1.0 Production
Copyright (c) 2003, 2005, Oracle. All rights reserved.
EM Configuration Assistant, Version 10.2.0.1.0 Production
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Enter the following information:
Database SID: orcl
Listener port number: 1521
Password for SYS user:
Password for DBSNMP user:
Password for SYSMAN user:
Password for SYSMAN user: Email address for notifications (optional):
Outgoing Mail (SMTP) server for notifications (optional):
-----------------------------------------------------------------
Database SID: orcl
Listener port number: 1521
Password for SYS user:
Password for DBSNMP user:
Password for SYSMAN user:
Password for SYSMAN user: Email address for notifications (optional):
Outgoing Mail (SMTP) server for notifications (optional):
-----------------------------------------------------------------
You have specified the following settings
Database ORACLE_HOME ................ /u01/app/oracle/product/10.2.0/db_1
Database hostname ................ oracle.example.com
Listener port number ................ 1521
Database SID ................ orcl
Email address for notifications ...............
Outgoing Mail (SMTP) server for notifications ...............
Listener port number ................ 1521
Database SID ................ orcl
Email address for notifications ...............
Outgoing Mail (SMTP) server for notifications ...............
-----------------------------------------------------------------
Do you wish to continue? [yes(Y)/no(N)]: Y
Mar 25, 2010 10:04:15 PM oracle.sysman.emcp.EMConfig perform
INFO: This operation is being logged at /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/emca/orcl/emca_2010-03-25_10-02-33-PM.log.
Mar 25, 2010 10:04:18 PM oracle.sysman.emcp.EMReposConfig createRepository
INFO: Creating the EM repository (this may take a while) ...
这里要等一会
Mar 25, 2010 10:07:07 PM oracle.sysman.emcp.EMReposConfig invoke
INFO: Repository successfully created
Mar 25, 2010 10:07:11 PM oracle.sysman.emcp.ParamsManager getLocalListener
WARNING: Error retrieving listener for oracle.example.com
Mar 25, 2010 10:07:15 PM oracle.sysman.emcp.util.DBControlUtil startOMS
INFO: Starting Database Control (this may take a while) ...
Mar 25, 2010 10:08:58 PM oracle.sysman.emcp.EMDBPostConfig performConfiguration
INFO: Database Control started successfully
Mar 25, 2010 10:08:58 PM oracle.sysman.emcp.EMDBPostConfig performConfiguration
INFO: >>>>>>>>>>> The Database Control URL is http://oracle.example.com:1158/em <<<<<<<<<<<
Enterprise Manager configuration completed successfully
FINISHED EMCA at Mar 25, 2010 10:08:58 PM
这样我们就就将实例和数据库关联起来了
Do you wish to continue? [yes(Y)/no(N)]: Y
Mar 25, 2010 10:04:15 PM oracle.sysman.emcp.EMConfig perform
INFO: This operation is being logged at /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/emca/orcl/emca_2010-03-25_10-02-33-PM.log.
Mar 25, 2010 10:04:18 PM oracle.sysman.emcp.EMReposConfig createRepository
INFO: Creating the EM repository (this may take a while) ...
这里要等一会
Mar 25, 2010 10:07:07 PM oracle.sysman.emcp.EMReposConfig invoke
INFO: Repository successfully created
Mar 25, 2010 10:07:11 PM oracle.sysman.emcp.ParamsManager getLocalListener
WARNING: Error retrieving listener for oracle.example.com
Mar 25, 2010 10:07:15 PM oracle.sysman.emcp.util.DBControlUtil startOMS
INFO: Starting Database Control (this may take a while) ...
Mar 25, 2010 10:08:58 PM oracle.sysman.emcp.EMDBPostConfig performConfiguration
INFO: Database Control started successfully
Mar 25, 2010 10:08:58 PM oracle.sysman.emcp.EMDBPostConfig performConfiguration
INFO: >>>>>>>>>>> The Database Control URL is http://oracle.example.com:1158/em <<<<<<<<<<<
Enterprise Manager configuration completed successfully
FINISHED EMCA at Mar 25, 2010 10:08:58 PM
这样我们就就将实例和数据库关联起来了
本机的IP是192.168.0.131,我们在浏览器中输入http://192.168.0.131:1158/em 可以看到下面的内容啦
备注:初始化参数文件的一些常见参数
db_name=orcl 数据库名称
instance_type=RDBMS 指定实例类型(可以是RDBMS和ASM,可以不用设置默认的是RDBMS)
db_domain=example.com (oracle数据库所在的域名与db_name结合起来,能够实现全局唯一)
db_files=1000 (指定最多可以被实例打开的文件数目,默认为200个,再重启实例后生效)
processes=600 (最多接受多少并发连接,他是后台进程数和允许的个数之和)
db_block_size=8192(默认的块大小,标准的有2k,4k,6k,8k,16k,32k在设置时要转换成字节的形式,默认为8k,在设置是要转换成字节)
statistics_level=typical(指定统计信息的级别,可以是basic,typical,all默认是typical)
audit_trail=none(指定审计参数)
background_dump_dest='/u01/app/admin/orcl/bdump' 设定后台进程跟踪文件
user_dump_dest='/u01/app/admin/orcl/udump' 设定SQL跟踪文件
core_dump_dest='/u01/app/admin/orcl/adump' 审计文件
compatible=10.2.0.1 让高版本的数据库能够兼容低版本的数据库
control_files=('/u02/oradata/orcl/control01.ctl',
'/u02/oradata/orcl/control02.ctl','/u02/oradata/orcl/control03.ctl') 移动控制文件(最少设置两个)
cursor_sharing=force
sga_target=400M 设置SGA的大小
pga_aggregate_target=400M 设置共享池的大小
db_file_multiblock_read_count=16 一次I/O访问要用到的数据块
db_flashback_retention_target=7200 快闪恢复区文件保存时间
db_recovery_file_dest='/u02/oradata/flash_recovery_area' 设置快闪恢复区的目录
db_recovery_file_dest_size=1000M 指定快闪恢复区文件的大小
log_archive_dest_1='LOCATION=/u02/orcl/arch/' 归档日志文件的位置(一定要自己创建)
log_archive_format='log%t_%s_%r.arc' (归档日志文件格式 t线程编号 s*** -r resetlogsID号)
optimizer_mode=all_rows (优化模式 有all_rows,frist_rows,first_rows_n )
remote_login_passwordfile=none (设置远程用户访问时要用的密码文件)
undo_management=auto (指定撤销表空间的管理方法,有auto和 manual)
undo_retention=7200 (指定撤销表空间的数据最少保持时间)
undo_tablespace=undotbs01 (撤消表空间)
instance_type=RDBMS 指定实例类型(可以是RDBMS和ASM,可以不用设置默认的是RDBMS)
db_domain=example.com (oracle数据库所在的域名与db_name结合起来,能够实现全局唯一)
db_files=1000 (指定最多可以被实例打开的文件数目,默认为200个,再重启实例后生效)
processes=600 (最多接受多少并发连接,他是后台进程数和允许的个数之和)
db_block_size=8192(默认的块大小,标准的有2k,4k,6k,8k,16k,32k在设置时要转换成字节的形式,默认为8k,在设置是要转换成字节)
statistics_level=typical(指定统计信息的级别,可以是basic,typical,all默认是typical)
audit_trail=none(指定审计参数)
background_dump_dest='/u01/app/admin/orcl/bdump' 设定后台进程跟踪文件
user_dump_dest='/u01/app/admin/orcl/udump' 设定SQL跟踪文件
core_dump_dest='/u01/app/admin/orcl/adump' 审计文件
compatible=10.2.0.1 让高版本的数据库能够兼容低版本的数据库
control_files=('/u02/oradata/orcl/control01.ctl',
'/u02/oradata/orcl/control02.ctl','/u02/oradata/orcl/control03.ctl') 移动控制文件(最少设置两个)
cursor_sharing=force
sga_target=400M 设置SGA的大小
pga_aggregate_target=400M 设置共享池的大小
db_file_multiblock_read_count=16 一次I/O访问要用到的数据块
db_flashback_retention_target=7200 快闪恢复区文件保存时间
db_recovery_file_dest='/u02/oradata/flash_recovery_area' 设置快闪恢复区的目录
db_recovery_file_dest_size=1000M 指定快闪恢复区文件的大小
log_archive_dest_1='LOCATION=/u02/orcl/arch/' 归档日志文件的位置(一定要自己创建)
log_archive_format='log%t_%s_%r.arc' (归档日志文件格式 t线程编号 s*** -r resetlogsID号)
optimizer_mode=all_rows (优化模式 有all_rows,frist_rows,first_rows_n )
remote_login_passwordfile=none (设置远程用户访问时要用的密码文件)
undo_management=auto (指定撤销表空间的管理方法,有auto和 manual)
undo_retention=7200 (指定撤销表空间的数据最少保持时间)
undo_tablespace=undotbs01 (撤消表空间)
当然上面给出的是一些常见的如果想了解的更多,可以去找官方给的参考文档
转载于:https://blog.51cto.com/yangzorder/288062