设为首页 加入收藏

TOP

ORACLE10G手工建库(一)
2015-07-24 10:55:10 来源: 作者: 【 】 浏览:3
Tags:ORACLE10G 手工

?

第一步:目录

--数据库文件目录

$ 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

sga_target=400M   
--一般内存分配总大小为物理内存的80%,而其中sga又占其80%(表示sga:pga=4:1的关系)

--下面是数据名,初期规划为SID名字
db_name=HYL

--下面是控制文件路径,建议将不同路径下的控制文件以相同名字命名
control_files=’/u01/app/oracle/oradata/HYL/disk1/control01.ctl’,

‘/u01/app/oracle/oradata/HYL/disk2/control01.ctl’,

‘/u01/app/oracle/oradata/HYL/disk3/control01.ctl’

--下面是undo表空间信息
undo_management=auto
undo_tablespace=undotbs
--下面是三个dump文件
user_dump_dest=/u01/app/oracle/oradata/HYL/dump/udump
background_dump_dest=/u01/app/oracle/oradata/HYL/dump/bdump
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 autoexte

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle删除用户以及表空间 下一篇Oracle实践--PL/SQL基础之视图和..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·PostgreSQL 索引 - (2025-12-25 22:20:43)
·MySQL Node.js 连接 (2025-12-25 22:20:41)
·SQL 撤销索引、表以 (2025-12-25 22:20:38)
·Linux系统简介 (2025-12-25 21:55:25)
·Linux安装MySQL过程 (2025-12-25 21:55:22)