linux下怎么创建oracle实例

linux下怎么创建oracle实例,第1张

linux下,系统用户oracle,执行dbca命令(要确定你有图形界面啊,不然这个命令打不开),然后按照要求一步一步来,就能建立一个数据库了。至于实例,只要这个数据库启动了,那么他就是一个实例。

如果没有图形界面,那么就静默设置安装数据库,具体的忘记了,好象需要写一个脚本,去百度搜一下,应该有相关的内容的。

直接在命令行输入dbca 通过UI界面创建就可以啦

oracle一个实例下只能有一个数据库,所以创建数据库肯定也要重新创建一个实例的。

不过听说oracle 12C 在一个实例下可以有多个数据库了,和DB2差不多。

看你的oracle是什么版本了

1. 设置ORACLE_SID

默认的ORACLE_SID是orcl,我个人强烈建议起个唯一、且意义的名字,比如**testdb,**proddb等等,在Oracle用户下执行:

export ORACLE_SID=lxdbtest

2. 重建PFILE

在$ORACLE_HOME/dbs目录下重建pfile(initORACLE_SID.ora,本例为initlxdbtest.ora),除了以下三个参数,其它参数都可以不用设置(使用默认值):

db_name=lxdbtest

control_files='/home/oracle/app/oradata/lxdbtest/control01.ctl','/home/oracle/app/oradata/lxdbtest/control02.ctl','/home/oracle/app/oradata/lxdbtest/control03.ctl'

memory_target=2G

为了安全起见,控制文件一定要指定多份,在生产库上,要把它们分开放在不同的物理磁盘上,这里因为是测试库,所以才放在同一个磁盘上。

3. 启动实例至nomount状态

有了pfile就可以启动实例至nomount状态了:

$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Thu Jul 25 21:01:16 2013

Copyright (c) 1982, 2009, Oracle. All rights reserved.

Connected to an idle instance.

SQL>startup nomount

ORACLE instance started.

Total System Global Area 2137886720 bytes

Fixed Size 2215064 bytes

Variable Size1224737640 bytes

Database Buffers 905969664 bytes

Redo Buffers4964352 bytes

SQL>

4. 执行CREATE DATABASE语句

CREATE DATABASE lxdbtest

LOGFILE GROUP 1

('/home/oracle/app/oradata/lxdbtest/redo01a.log','/data/oradata/lxdbtest/redo01b.log')

SIZE 100M BLOCKSIZE 512,

GROUP 2

('/home/oracle/app/oradata/lxdbtest/redo02a.log','/data/oradata/lxdbtest/redo02b.log')

SIZE 100M BLOCKSIZE 512,

GROUP 3

('/home/oracle/app/oradata/lxdbtest/redo03a.log','/data/oradata/lxdbtest/redo03b.log')

SIZE 100M BLOCKSIZE 512

MAXLOGFILES 5

MAXLOGMEMBERS 5

MAXLOGHISTORY 1

MAXDATAFILES 600

CHARACTER SET ZHS16GBK

NATIONAL CHARACTER SET AL16UTF16

EXTENT MANAGEMENT LOCAL

DATAFILE '/home/oracle/app/oradata/lxdbtest/system01.dbf' SIZE 2048M REUSE AUTOEXTEND OFF

SYSAUX DATAFILE '/home/oracle/app/oradata/lxdbtest/sysaux01.dbf' SIZE 2048M REUSE AUTOEXTEND OFF

DEFAULT TABLESPACE users

DATAFILE '/home/oracle/app/oradata/lxdbtest/users01.dbf'

SIZE 2048M REUSE AUTOEXTEND OFF

DEFAULT TEMPORARY TABLESPACE temptbs

TEMPFILE '/home/oracle/app/oradata/lxdbtest/temp01.dbf'

SIZE 2048M REUSE AUTOEXTEND OFF

UNDO TABLESPACE undotbs

DATAFILE '/home/oracle/app/oradata/lxdbtest/undotbs01.dbf'

SIZE 2048M REUSE AUTOEXTEND OFF

有几点需要注意:

1)每个日志文件组的日志要放在不同的物理磁盘上,万一有一个磁盘损坏,也不会丢失数据

2)根据需要选择合适的字符集

3)创建了5个基本的表空间:SYSTEM,SYSAUX,默认表空间,默认临时表空间,默认UNDO表空间

5. 根据需要创建应用程序所需的表空间

对于关键业务的数据,应该创建单独的表空间给它使用(最好把表和索引分开放在表空间)

SQL>create tablespace p95169tbs

2 datafile '/home/oracle/app/oradata/lxdbtest/p95169tbs01.dbf' size 10G,

3 '/home/oracle/app/oradata/lxdbtest/p95169tbs02.dbf' size 10G

Tablespace created.

6. 构建数据字典视图

@?/rdbms/admin/catalog.sql

@?/rdbms/admin/catproc.sql

@?/sqlplus/admin/pupbld.sql

7. 修改system,sys的密码

alter user sys identified by ***

alter user system identified by ***

8. 创建SPFILE

SQL>create spfile from pfile

File created.

重启数据库后,将以spfile取代pfile.

最后,再顺便说下如何删除数据库。在删除数据库之前,数据库必须是在mount和restricted session状态,具体如下:

SQL>startup mount

SQL>alter system enable restricted session

System altered.

SQL>drop database

Database dropped.

数据库删除成功后,所有的在线日志文件、数据文件都会一并被删除,但归档日志和备份文件不会被删除。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8539477.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存