Chinaunix首页 | 论坛 | 博客
  • 博客访问: 164679
  • 博文数量: 37
  • 博客积分: 2218
  • 博客等级: 大尉
  • 技术积分: 315
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-04 23:35
文章分类

全部博文(37)

文章存档

2012年(1)

2011年(5)

2010年(31)

分类: Oracle

2010-03-25 18:41:06

   手动创建数据库是一个数据库管理员最基本的能力,现在来介绍一下如何来手动创建数据库:
 
1.首先编辑一下oracle的环境变量,修改一下SID,这个SID为你要创建的数据库的名字
$vim .bash_profile 
 ORACLE_SID=mydb
$.  .bash_profile
$echo  $ORACLE_SID (查看一下SID)
2.编辑数据库的初始化参数文件(这个文件的选项有很多,我只是写了几个比较重要的)
$cd  $ORACLE_HOME/dbs/
 spfile .ora   (这是个二进制文件,不能直接创建)
 pfile.ora    (先建立这个文件,然后将它转化为spfile.ora二进制文件)
$vim   pfilemydb.ora  (编辑PFILE初始化参数文件)
db_name=mydb
db_domain=example.com
db_block_size=8192
undo_management=auto
sga_target=400M
control_files=(‘/u02/oradata/mydb/control01.ctl’,’/u02/oradata/mydb/control02.ctl’,’/u02/oradata/mydb/control03.ctl’)
(注意以上内容不要随便加空格,还有就是你的/u02/oradata/下的mydb目录必须已经创建了,否则会接下来的操作会出现错误信息。)
3.pfile文件转换为spfile文件
$sql   /  as  sysdba  
SQL>CREATE SPFILE=’/u01/app/oracle/product/10.2.0/db_1/dbs/spfilemydb.ora’ FROM PFILE=’/u01/app/oracle/product/10.2.0/db_1/dbs/pfilemydb.ora’;
4.nomount方式启动数据库实例
SQL>startup   nomount
5.创建数据库
先编辑一个创建数据库的脚本:(关于创建数据库的选项也有很多,我这里只是写了几个常用的)
$cd $ORACLE_HOME/dbs/
$vim  create.sh  (脚本内容如下)
CREATE  DATABASE  mydb
CONTROLFILE REUSE
 LOGFILE
group 1 ('/u02/oradata/mydb/redo101.log') size 20M,
  group 2 ('/u02/oradata/mydb/redo102.log') size 20M
group 3 ('/u02/oradata/mydb/redo103.log') size 20M
DATAFILE '/u02/oradata/mydb/undotbs01.dbf'  size 200M
DEFAULT TEMPORARY tablespace temp01  TEMPFILE '/u02/oradata/mydb/temp01.dbf' size 100M
DEFAULT TABLESPACE users  DATAFILE '/u02/oradata/mydb/users01.dbf' size 100M
autoextend  on  next  10M  maxsize unlimted
SYSAUX  DATAFILE  '/u02/oradata/mydb/sysaux01.dbf' size 400M
UNDO  TABLESPACE undotbs01  DATAFILE '/u02/oradata/mydb/system01.dbf' size 400M
$sqlplus  /  as   sysdba
SQL>@$ORACLE_HOME/dbs/create.sh (运行这个脚本来创建数据库)
6.执行以下两个脚本,来创建数据字典文件
SQL> @$ORACLE_HOME/rdbms/admin/catalog.sql 
SQL> @$ORACLE_HOME/rdbms/admin/catproc.sql
 
脚本执行完后,我们的oracle数据库就创建出来了,如果想配置的更加详细,需要把我们的初始化参数文件写的更加详细,控制的更加准确)
以下为大家介绍一些关于PFILE文件经常用到的选项:
db_name       (数据库的名字,要跟SID匹配)
instance_type  (数据库实例的类型,实例有两种类型:ASMRDBMS
db_domain    (定义数据库的域)
db_files       (定义打开数据文件的个数不能动态改变,默认为200个,改变后要重启实例)
processes      (定义了允许oracle相关的进程的个数,)
db_block_size  (指定数据块的大小)
background_dump_dest   (指定路径跟踪调试文件程序背景)
user_dump_dest         (指定用户会话信息的存放位置)
core_dump_dest  oracle的错误信息的存放位置)
compatible       (指定兼容的数据库版本,注意它只能升级,不能降级)
control_files      (指定一个或多个控制文件的位置,控制文件最少为一个,最多为八个)
cursor_sharing    (指定游标共享模式:有三种模式:FORCE 强制共享模式; SIMILAR  类似模式: EXACT完全相同的模式)
sga_target       (让Oracle自己来自动分配各个组的大小)
sga_max_size     (指定SGA内存的最大大小)
streams_pool_size      (定义流池的大小)
shared_pool_size       (定义共享池大小)
large_pool_size        (定义大池的大小)
java_pool_size         (定义java池的大小)
db_cache_size         (定义数据缓冲区缓存的大小)
log_buffer            (定义日志缓冲的大小)
db_nK_cache_size     (设定给非标准块开辟的buffer caches的大小)
pga_aggregate_target   (指定PGA的信息)
db_file_multiblock_read_count  (定义一次I/O的访问,要读取多少个数据块)
db_flashback_retention_target    (指定快闪恢复区文件的保存时间,默认为1440分钟,范围为:0232-1
db_recovery_file_dest      (指定快闪恢复区的位置,前提是这个路径必须实现已经存在了)                                                                      
db_recovery_file_dest_size   (指定快闪恢复区的大小)
log_archive_dest_n        (n1-10,指定归档日志的位置)
log_archive_format       (指定归档日志的格式)
optimizer_mode          (指定优先模式,有三种模式:first_rows_n ; first_rows ; all_rows
remote_login_passwordfile  (初始化参数指定是否让oracle验证密码文件,有多少可以使用数据库的密码文件,选项为NONESHARED,一般都使用NONE
undo_management (指定撤销表空间的管理方法)
undo_tablespace   (指定撤销表空间)
undo_retention     (指定撤销表空见的数据最小保留的时间,默认为900,范围为0232-1
 
 
当然,oracle太强大了,我这里讲的还只是一些简单的设置,有关更加详细的设置,可以参考oracle的官方文档:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
阅读(1193) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~