您的位置:首页 > 数据库 > Oracle

linux oracle10g命令行创建数据库实例

2015-08-06 18:29 513 查看
这是在网上看到的一篇文章,本人亲测通过(注:oracle11g也可以,只是有些步骤根据提示调整下就可以):

oracle10g命令行创建数据库实例:

主要分为5步:创建实例目录,创建密码文件,创建参数文件,创建建库脚本并建库,创建数据字典。

其中,需要特别注意2点:
目录的权限,即用户和所属用户组都要是oracle。可以切换到已存在的oracle用户或者以root创建,然后赋权。
创建实例的时候指定编码。

下面以 Oracle 10.2.0.1.0为例,开始创建:

说明:
此服务器上已经有一个正常运行的oracle实例cms,开机自启动,一个监听。
已有一个用户oracle,所属用户组oinstall。
oracle环境变量:ORACLE_SID=cms  ORACLE_BASE=/oracle/app
新建的实例叫mydb

1 切换到oracle用户,创建实例目录,这些目录都是ORACLE进程遇到错误或用户手动TRACE时或数据存放需要的:

【注意:下面的红色地方必须为要新建的实例的名字。】

[root@centoscms ~]# su - oracle

[oracle@centoscms oradata]$ ORACLE_SID=mydb
[oracle@centoscms oradata]$ export ORACLE_SID
[oracle@centoscms oradata]$ echo $ORACLE_SID

[oracle@centoscms oradata]$ mydb

[oracle@centoscms oradata]$ mkdir -p $ORACLE_BASE/admin/mydb/adump;mkdir
-p $ORACLE_BASE/admin/mydb/bdump;
[oracle@centoscms oradata]$ mkdir -p $ORACLE_BASE/admin/mydb/cdump;mkdir -p $ORACLE_BASE/admin/mydb/udump;
[oracle@centoscms oradata]$ mkdir -p $ORACLE_BASE/admin/mydb/pfile;mkdir -p $ORACLE_BASE/oradata/mydb;

 

2 创建密码文件,红色地方为密码文件的名字,规则是orapw+实例名,此时即为orapwmydb:

【注意:有可能不同的版本密码文件所在位置不同,找到dbs目录,并看里边是否已经有已经存在的实例的密码文件。以此例,此dbs目录下已经orapwcms文件。】

[oracle@centoscms oradata]$ orapwd file=$ORACLE_BASE/product/10.2.0/db_1/dbs/orapwmydb password=turboblog
entries=5 force=y

3 创建.ora参数文件,所在目录和第2步中的相同。文件名规则为init+实例名,此时即为initmydb.ora。将已经存在的实例的参数文件复制修改即可。

比如,此目录中已有一个已存在实例的参数文件,这里为initcms.ora。

[oracle@centoscms oradata]$ cd $ORACLE_BASE/product/10.2.0/db_1/dbs/
[oracle@centoscms dbs]$ cp initcms.ora initmydb.ora

修改文件内容,注意红色地方都需要修改为我们新建的实例名mydb。

【注意:这些目录都是在第一步中已经建好的,都是应该存在的。undo_tablespace的值需要记住,创建数据库实例的时候需要用到】

原文件内容如下:

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

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

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

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

# Cache and I/O

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

db_block_size=8192

db_file_multiblock_read_count=16

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

# Cursors and Library Cache

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

open_cursors=300

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

# Database Identification

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

db_domain=""

db_name=cms

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

# Diagnostics and Statistics

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

background_dump_dest=/oracle/app/admin/cms/bdump

core_dump_dest=/oracle/app/admin/cms/cdump

user_dump_dest=/oracle/app/admin/cms/udump

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

# File Configuration

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

control_files=("/oracle/app/oradata/cms/control01.ctl", "/oracle/app/oradata/cms/control02.ctl", "/oracle/app/oradata/cms/control03.ctl")

db_recovery_file_dest=/oracle/app/flash_recovery_area

db_recovery_file_dest_size=2147483648

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

# Job Queues

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

job_queue_processes=10

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

# Miscellaneous

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

compatible=10.2.0.1.0

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

# Network Registration

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

##local_listener=LISTENER_CMS

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

# Processes and Sessions

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

processes=150

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

# SGA Memory

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

sga_target=605028352

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

# Security and Auditing

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

audit_file_dest=/oracle/app/admin/cms/adump

remote_login_passwordfile=EXCLUSIVE

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

# Shared Server

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

dispatchers="(PROTOCOL=TCP) (SERVICE=cmsXDB)"

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

# Sort, Hash Joins, Bitmap Indexes

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

pga_aggregate_target=201326592

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

# System Managed Undo and Rollback Segments

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

undo_management=AUTO

undo_tablespace=UNDOTBS1

修改后如下:

[oracle@centoscms dbs]$ more initmydb.ora

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

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

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

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

# Cache and I/O

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

db_block_size=8192

db_file_multiblock_read_count=16

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

# Cursors and Library Cache

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

open_cursors=300

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

# Database Identification

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

db_domain=""

db_name=mydb

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

# Diagnostics and Statistics

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

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

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

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

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

# File Configuration

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

control_files=("/oracle/app/oradata/mydb/control01.ctl", "/oracle/app/oradata/mydb/control02.ctl", "/oracle/app/oradata/mydb/control03.ctl")

db_recovery_file_dest=/oracle/app/flash_recovery_area

db_recovery_file_dest_size=2147483648

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

# Job Queues

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

job_queue_processes=10

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

# Miscellaneous

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

compatible=10.2.0.1.0

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

# Network Registration

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

##local_listener=LISTENER_BLOG

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

# Processes and Sessions

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

processes=150

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

# SGA Memory

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

sga_target=605028352

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

# Security and Auditing

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

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

remote_login_passwordfile=EXCLUSIVE

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

# Shared Server

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

dispatchers="(PROTOCOL=TCP) (SERVICE=mydbXDB)"

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

# Sort, Hash Joins, Bitmap Indexes

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

pga_aggregate_target=201326592

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

# System Managed Undo and Rollback Segments

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

undo_management=AUTO

undo_tablespace=UNDOTBS3

4 创建建库脚本:

CREATE DATABASE mydb

  CONTROLFILE   REUSE

  LOGFILE GROUP 1 ('/oracle/app/oradata/mydb/redo01.log') SIZE 10M REUSE,

          GROUP 2 ('/oracle/app/oradata/mydb/redo02.log') SIZE 10M REUSE,

          GROUP 3 ('/oracle/app/oradata/mydb/redo03.log') SIZE 10M REUSE

  DATAFILE '/oracle/app/oradata/mydb/system01.dbf' SIZE 500M

  EXTENT MANAGEMENT LOCAL

  sysaux datafile '/oracle/app/oradata/mydb/sysaux01.dbf' size 120M reuse autoextend on next 10240K maxsize unlimited 

  UNDO TABLESPACE UNDOTBS3 DATAFILE '/oracle/app/oradata/mydb/undotbs01.dbf' SIZE 500M

  DEFAULT TEMPORARY TABLESPACE TEMP

    TEMPFILE '/oracle/app/oradata/mydb/temp01.dbf' SIZE 500M 

    EXTENT MANAGEMENT LOCAL UNIFORM SIZE 10M 

  NOARCHIVELOG 

  MAXDATAFILES 1000 

  CHARACTER SET UTF8

  NATIONAL CHARACTER SET UTF8

  MAXLOGFILES 10;

创建数据库,注意红色字体文件路径,并且还有数据库编码:
[oracle@centoscms ~]$ sqlplus "/as sysdba"

SQL> SHUTDOWN immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.
SQL> startup nomount pfile=/oracle/app/product/10.2.0/db_1/dbs/initmydb.ora

ORACLE instance started.

Total System Global Area  608174080 bytes

Fixed Size                  1220820 bytes

Variable Size             163581740 bytes

Database Buffers          436207616 bytes

Redo Buffers                7163904 bytes
SQL> CREATE DATABASE mydb

  2    CONTROLFILE   REUSE

  3    LOGFILE GROUP 1 ('/oracle/app/oradata/mydb/redo01.log') SIZE 10M REUSE,

  4            GROUP 2 ('/oracle/app/oradata/mydb/redo02.log') SIZE 10M REUSE,

  5            GROUP 3 ('/oracle/app/oradata/mydb/redo03.log') SIZE 10M REUSE

  6    DATAFILE '/oracle/app/oradata/mydb/system01.dbf' SIZE 500M

  7    EXTENT MANAGEMENT LOCAL

  8    sysaux datafile '/oracle/app/oradata/mydb/sysaux01.dbf' size 120M reuse autoextend on next 10240K maxsize unlimited

  9    UNDO TABLESPACE UNDOTBS3 DATAFILE '/oracle/app/oradata/mydb/undotbs01.dbf' SIZE 500M

 10    DEFAULT TEMPORARY TABLESPACE TEMP

 11      TEMPFILE '/oracle/app/oradata/mydb/temp01.dbf' SIZE 500M

 12      EXTENT MANAGEMENT LOCAL UNIFORM SIZE 10M

 13    NOARCHIVELOG

 14    MAXDATAFILES 1000

 15    CHARACTER SET UTF8

 16    NATIONAL CHARACTER SET UTF8

 17    MAXLOGFILES 10;

Database created.

5 创建数据字典:

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

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

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

6 启动数据库,保证目前的实例是新增的实例:

SQL>exit;

[oracle@centoscms ~]$ ORACLE_SID=mydb

[oracle@centoscms ~]$ export ORACLE_SID

[oracle@centoscms ~]$ echo $ORACLE_SID

mydb

SQL> startup force;

ORACLE instance started.

Total System Global Area  608174080 bytes

Fixed Size                  1220820 bytes

Variable Size             167776044 bytes

Database Buffers          432013312 bytes

Redo Buffers                7163904 bytes

Database mounted.

Database opened.

用system帐号登录,查看默认用户,默认密码是manager :

SQL> conn system/manager;

Connected.
SQL> select   username   from   all_users;

USERNAME

------------------------------

DBSNMP

TSMSYS

DIP

OUTLN

SYSTEM

SYS

6 rows selected.

==================================================================================

此时,一个新的oracle实例就添加完毕了,很多时候我们需要所有的实例都是开机自启动,则需要做以下的修改:
新增下面一行

[root@centoscms oracle]# vi /etc/oratab

cms:/oracle/app/product/10.2.0/db_1:Y
mydb:/oracle/app/product/10.2.0/db_1:Y

然后拷贝一份:
 [root@centoscms oracle]# cp /etc/oratab /var/opt/oracle/oratab

重启服务器:

 [root@centoscms oracle]#  reboot

如果需要远程链接,监听中增加此实例即可。修改listener.ora:

 [root@centoscms oracle]# su  - oracle

 [oracle@centoscms ~]$ cd  $ORACLE_BASE/product/10.2.0/db_1/network/admin

 [oracle@centoscms
~]$ vi  listener.ora

增加节点:

(SID_DESC =

      (GLOBAL_DBNAME = mydb)

      (ORACLE_HOME = /oracle/app/product/10.2.0/db_1)

      (SID_NAME = mydb)

    )

重启oracle就可以连上啦。。。

转自:http://www.cnblogs.com/lan0725/archive/2011/07/18/2109474.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息