码迷,mamicode.com
首页 > 数据库 > 详细

Linux下oracle手动建库

时间:2015-09-02 00:34:14      阅读:309      评论:0      收藏:0      [点我收藏+]

标签:

当数据库名和物理结构与存在Database一样,会覆盖原有信息;

创建数据库准备:

1.计划数据库表和索引,评估占用空间

2.计划好数据库将包含的基本的操作系统文件的布局,合理的文件分布可以提升数据库的性能

可以把重做日志文件分别放置在不用磁盘或磁带中,减少数据文件联系

快速恢复文件需要放置在与数据文件不同目录,最好是分区

最简单的是傻瓜式的利用现成创建数据库

3.通过设置DB_NAME和DN_DOMAIN初始化参数创建数据库名,最好可以包含数据库网状结构

4.尽量要熟悉大部分初始化参数文件

5.选择数据库

6.选择数据库字符集

 

基本步骤:

1)指定一个SID

2)创建所需的文件目录

3)创建初始化参数文件pfile

4)确定数据库认证方式,如果基于口令认证,创建口令文件

5)编写创建数据库脚本

6)连接instance,启动到nomount状态,执行创建脚本

7)执行个别创建脚本,完善数据库

 

本次试验在redhat 4下进行操作,如果在windows操作,也没太大变化,注意两种系统的文件书写格式和个别命令不一致。

 

实验环境:Redhat linux 4 + Oracle10g

1.首先设置要创建的ORACLE的SID,如果在.bash_profile文件里设置里该变量,就不用设置了。

查看:

$env | grep ORA

ORACLE_SID=*** //显示当前数据库实例名

ORACLE_BASE=/opt/app/oracle //oracle的根目录

ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 //oracle产品目录

 

如果没有设置,就手动设置,如果一个服务器上要运行多个ORACLE实例,也需要手动设置。

$export ORACLE_SID=mydb

 

2. 创建需要的诊断目录,这些目录都是ORACLE进程遇到错误或用户手动TRACE时需要的。

$mkdir -p $ORACLE_BASE/admin/mydb/adump

$mkdir -p $ORACLE_BASE/admin/mydb/bdump

$mkdir -p $ORACLE_BASE/admin/mydb/cdump

$mkdir -p $ORACLE_BASE/admin/mydb/udump

$mkdir -p $ORACLE_BASE/admin/mydb/pfile

创建oracle的数据文件目录

$mkdir -p $ORACLE_BASE/oradata/mydb

 

3. 创建ORACLE的参数文件$ORACLE_HOME/dbs/initmydb.ora

说到这里,对于新手来说,可能还了解不到那么多的参数以及具体使用,所以,这里提供一种比较偷懒的做法,就是利用DBCA创建的数据库的参数文件作为模板,稍微修改一下,虽然它是通用的一种,而且比较简单,但它确实有值得参考的一面,新手不妨先试试看,通过官方文档了解每一个参数的含义,琢磨一下,熟练后自己写一个。

方法一:

$cd $ORACLE_HOME/dbs //一般默认的数据库初始化参数文件存放处

###########################################

//如果有initaaa.ora文件,用命令

$cat initaaa.ora >> initmydb.ora //initaaa.ora是DBCA创建的数据库参数文件

###########################################

//如果只有spfileaa.ora,用命令

$strings spfileaaa.ora | more //读取二进制文件,直接用鼠标复制内容

$vi initmydb.ora //黏贴上面复制的内容

$vi initmydb.ora

:%s/name/mydb/g //用mydb替换文本中所有为name的字符串

:wq! //保存

方法二:

$cd $ORACLE_HOME/dbs

$vi initmydb.ora //在文本中黏贴以下参数

##############################################################################

# Copyright (c) 1991, 2001, 2002 by Oracle Corporation

##############################################################################

 

###########################################

# SGA Memory

###########################################

sga_target=287309824

 

###########################################

# Job Queues

###########################################

job_queue_processes=10

 

###########################################

# Miscellaneous

###########################################

compatible=10.2.0.1.0

 

###########################################

# Security and Auditing

###########################################

audit_file_dest=/opt/app/oracle/admin/mydb/adump

remote_login_passwordfile=EXCLUSIVE

 

###########################################

# Sort, Hash Joins, Bitmap Indexes

###########################################

pga_aggregate_target=95420416

 

###########################################

# Database Identification

###########################################

db_domain=jmu.edu.cn

db_name=mydb

 

###########################################

# File Configuration

###########################################

control_files=("/opt/app/oracle/oradata/mydbcontrol01.ctl", "/opt/app/oracle/oradata/mydbcontrol02.ctl", "/opt/app/oracle/oradata/mydbcontrol03.ctl")

 

###########################################

# Cursors and Library Cache

###########################################

open_cursors=300

 

###########################################

# System Managed Undo and Rollback Segments

###########################################

undo_management=AUTO

undo_tablespace=UNDOTBS1

 

###########################################

# Diagnostics and Statistics

###########################################

background_dump_dest=/opt/app/oracle/admin/mydb/bdump

core_dump_dest=/opt/app/oracle/admin/mydb/cdump

user_dump_dest=/opt/app/oracle/admin/mydb/udump

 

###########################################

# Processes and Sessions

###########################################

processes=150

 

###########################################

# Cache and I/O

###########################################

db_block_size=8192

db_file_multiblock_read_count=16

 

4.创建密码文件

orapwd file=$ORACLE_HOME/dbs/orapwmydb password=oracle entries=5 force=y

 

5.创建oracle的建库脚本 createdb.sql,内容如下:

set echo on

spool /home/oracle/CreateDB.log //安装过程信息输出到CreateDB.log中

//安装完可以查看是否出错

CREATE DATABASE "mydb"

MAXINSTANCES 8

MAXLOGHISTORY 1

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

DATAFILE

‘/opt/app/oracle/oradata/mydb/system01.dbf‘ SIZE 300M REUSE AUTOEXTEND ON

NEXT 10240K MAXSIZE UNLIMITED

EXTENT MANAGEMENT LOCAL

SYSAUX DATAFILE

‘/opt/app/oracle/oradata/mydb/sysaux01.dbf‘ SIZE 120M REUSE AUTOEXTEND ON

NEXT 10240K MAXSIZE UNLIMITED

SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE

‘/opt/app/oracle/oradata/mydb/temp01.dbf‘ SIZE 20M REUSE AUTOEXTEND ON

NEXT 640K MAXSIZE UNLIMITED

SMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE

‘/opt/app/oracle/oradata/mydb/undo01.dbf‘ SIZE 200M REUSE AUTOEXTEND ON

NEXT 5120K MAXSIZE UNLIMITED

LOGFILE

GROUP 1 (‘/opt/app/oracle/oradata/mydb/redo1.dbf‘) SIZE 51200K,

GROUP 2 (‘/opt/app/oracle/oradata/mydb/redo2.dbf‘) SIZE 51200K,

GROUP 3 (‘/opt/app/oracle/oradata/mydb/redo3.dbf‘) SIZE 51200K

CHARACTER SET ZHS16GBK

NATIONAL CHARACTER SET AL16UTF16;

spool off

 

6.开始创建数据库

启动数据库到nomount状态

$sqlplus /nolog

SQL>conn sys/oracle as sysdba

SQL>startup nomount

开始执行创建数据库脚本

SQL>@/home/oracle/createdb.sql //@+你写的createdb.sql脚本的完整路径,表执行

 

7.数据库创建完成后,再创建ORACLE的数据字典。

SQL>@?/rdbms/admin/catalog.sql //用来创建数据库的数据字典文件的

SQL>@?/rdbms/admin/catproc.sql //用来创建数据库的基本过程和包的

SQL>@?/rdbms/admin/catexp.sql //EXPORT需要的VIEW是由CATEXP.SQL创建

以system身份执行

SQL>conn system/oracle

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

一般建议先创建一个spfile(动态初始化参数文件),下次启动时以spfile启动

SQL>create spfile from pfile

重启一下数据库,再查询一下,确认无误

SQL>shutdown immediate

SQL>startup

SQL>select * from dual;

SQL>show parameter service_name

Linux下oracle手动建库

标签:

原文地址:http://www.cnblogs.com/houzhiqing/p/4777281.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!