10g 手工建库

第一步:目录

--数据库文件目录

$ cd $ORACLE_BASE/oradata

$ ls

--看到已经存在库的SID

PROD

$ pwd

--查看一下绝对路径

/u01/app/oracle/oradata

$ mkdir HYL

$ ls -l

--产看一下目录及权限

--规划数据文件存放的不同磁盘目录,这里的规划依据实际情况而定

$ cd HYL

$ mkdir dump disk1 disk2 disk3 disk4 disk5

--disk表示不同的磁盘,这是为文件多元化做准备

$ cd dump

$ mkdir bdump cdump udump

--建立了三个目录,分别用来不同的dump文件

 

第二步:权限

$ chown -R oracle:oinstall /u01/app/oracle/oradata/HYL

--把上步创建的HYL目录赋给oracle用户

--上文中的文件路径、dump文件路径都应该是在这个目录下,在权限正确的情况下才能完成建库

$ chmod –R 755 HYL

--赋予HYL目录的访问权限,权限级别755

  

第三步:初始化参数

--这一步要完成初始化参数文件的创建

$ cd $ORACLE_HOME/dbs

--在这个目录下存放数据库的初始化参数文件,我们需要在这个目录下创建一个pfile文件

$ vi initHYL.ora

--初始化参数名字为init加上SID

[plain]  view plain  copy
  1. sga_target=400M     
  2. --一般内存分配总大小为物理内存的80%,而其中sga又占其80%(表示sga:pga=4:1的关系)  
  3.   
  4. --下面是数据名,初期规划为SID名字  
  5. db_name=HYL  
  6.   
  7. --下面是控制文件路径,建议将不同路径下的控制文件以相同名字命名  
  8. control_files=’/u01/app/oracle/oradata/HYL/disk1/control01.ctl’,  
  9.   
  10. ‘/u01/app/oracle/oradata/HYL/disk2/control01.ctl’,  
  11.   
  12. ‘/u01/app/oracle/oradata/HYL/disk3/control01.ctl’  
  13.   
  14. --下面是undo表空间信息  
  15. undo_management=auto  
  16. undo_tablespace=undotbs  
  17. --下面是三个dump文件  
  18. user_dump_dest=/u01/app/oracle/oradata/HYL/dump/udump  
  19. background_dump_dest=/u01/app/oracle/oradata/HYL/dump/bdump  
  20. core_dump_dest=/u01/app/oracle/oradata/HYL/dump/cdump  

 

第四步:把库启动到nomount状态

$export ORACLE_SID=HYL

$sqlplus ‘/as sysdba’

SQL> startup nomount;

 

第五步:借助官方文档编写建库语句

官方文档查看参考:http://blog.csdn.net/huangyanlong/article/details/43925813

--依据实际修改脚本,删除掉一些没必要的设置

--将日志组成员进行多元化

--根据实际情况修改路径信息

CREATE DATABASE HYL

   LOGFILE GROUP 1 ('/u01/app/oracle/oradata/HYL/disk1/redo01a.log',

'/u01/app/oracle/oradata/HYL/disk2/redo01b.log')

SIZE 100M,          

GROUP 2 ('/u01/app/oracle/oradata/HYL/disk1/redo02a.log',

'/u01/app/oracle/oradata/HYL/disk2/redo02b.log')

SIZE 100M,          

GROUP 3 ('/u01/app/oracle/oradata/HYL/disk1/redo03a.log',

'/u01/app/oracle/oradata/HYL/disk2/redo03b.log')

SIZE 100M

  

CHARACTER SET zhs16gbk

   NATIONAL CHARACTER SET AL16UTF16

  

EXTENT MANAGEMENT LOCAL

   DATAFILE '/u01/app/oracle/oradata/HYL/disk3/system01.dbf' SIZE 325M REUSE

   SYSAUX DATAFILE '/u01/app/oracle/oradata/HYL/sysaux01.dbf' SIZE 325M REUSE

  

DEFAULT TEMPORARY TABLESPACE tempts1

      TEMPFILE '/u01/app/oracle/oradata/HYL/disk4/temp01.dbf'

      SIZE 20M REUSE

  

UNDO TABLESPACE undotbs

      DATAFILE '/u01/app/oracle/oradata/HYL/disk5/undotbs01.dbf'

      SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

 

--将以上脚本放在oracle目录下,然后执行

$cd /u01/app/oracle/

$vi createDB.sh

SQL> @/u01/app/oracle/createDB.sh

 

第六步:跑相应脚本

SQL> @?/rdbms/admin/catalog.sql  

--2分钟,作用:创建数据字典

SQL> @?/rdbms/admin/catproc.sql  

--5分钟,跑完这两个脚本后库已经建完了,作用:创建存储过程和包

SQL> conn system/manager

SQL> @?/sqlplus/admin/pupbld.sql 

--1分钟,以conn system/manager 运行此脚本 作用:设置sqlplus的一些包,让其它用户可以登录sqlplus

SQL> conn /as sysdba

SQL> select instance_name,status from v$instance; --检查状态,此时数据库应该是open状态

 

第七步:建库后的优化

        为避免创建其它用户及对象时,对于system表空间的征用,新创建一个用户表空间由于其它新建用户默认使用。因为system表空间里存放数据字典,当新建用户或对象时默认会放到system表空间下,这样便对数据库的性能有一定的影响。

        这个问题,其实可以在建库脚本编写初期进行解决,但由于官方文档中给出的参考语句,此处是错误的,所以我们在建库后再手工再创建默认表空间即可。在11G中,官方文档提供的参考中就解决了这个问题。

(可以参看文章:http://blog.csdn.net/huangyanlong/article/details/43926437

SQL> create tablespace users datafile '/u01/app/oracle/oradata/HYL/disk3/user01.dbf' size 100m autoextend on next 50m maxsize unlimited;

--新创建一个表空间,作为默认表空间使用

SQL> alter database default tablespace users;

--改变数据库默认表空间为users表空间


至此手工建库完成。

 

原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任。

深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/43926321

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值