oracle怎么创建数据库实例

oracle怎么创建数据库实例,第1张

oracle手动创建数据库步骤如下所示:

1.编写初始化参数文件

2.设置 *** 作系统环境变量

3.创建实例

4.以管理员身份连接数据库

5.启动实例

6.create

database

创建数据库

7.运行数据字典脚本

8.Oracle的网络配置

(客户端连接到服务端)

初始化参数文件

从%ORACLE_HOME%\admin\sample\pfile从复制initsmpl.ora文件,并黏贴到$ORACLE_HOME%\database目录下,改名为init<sid>假设改为initzhouyt.ora.(init为文本文件)

对initzhouyt.ora内容进行修改

新增参数

*

instance_name=zhouyt

*

db_domain=hdu.edu.cn

修改参数

*

db_name=zhouyt

*

db_block_size=8192(8kM)

*

remote_login_passwordfile=exclusive

*** 作系统环境变量

设置 *** 作系统环境变量oracle_sid指向数据库实例的名称

set

oracle_sid=zhouyt

该命令在window

dos窗口下只对当前有效,当关闭窗口则失效,想要一直有效,则需要在系统环境变量中修改

创建实例

实用工具oradim使用

在DOS窗口输入命令

oradim

-new

-sid

zhouyt

-intpwd

sys123(sys的密码,sys是管理员)

-startmode

auto

sid是Oracle在 *** 作系统中的“身份z号码”

管理员身份连接数据库

sqlplus实用工具登录数据库

在DOS命令输入sqlplus/nolog

只是登录状态

以数据库管理员身份连接数据库

在上面的基础上输入命令

connect

sys/sys123

as

sysdba

因为以

数据库管理员身份

登录可以

安装数据库

启动实例

将文本初始化参数文件pfile转化为二进制初始化参数文件spfile

因为数据库启动需要找到配置文件,默认寻找二进制文件,也可以手动启动文本文件,那这一步就不需要了

输入命令

create

spfile

from

pfile

(将会报错,因为文本文件比较老相对于Oracle

10g),

这个时候我们需要修改配置文件initzhouyt.ora

这个时候在%ORACLE_HOME%\database文件下会生成SPFILEZHOUYT.ora文件

以nomount形式启动实例

命令

startup

nomount,将会出现错误,当我们按照提示修改文本文件以后,如果我们还是按照startup

nomount来启动的话,我们要生成相应的二进制文件来覆盖旧的二进制文件

并注释%seed_control%

create

databae

创建数据库

创建数据库脚本

三个文件

控制文件

数据文件

重做日志文件

create

database

zhouyt

datafile

'C:\oracle\product\10.2.0\db_2\zhouyt\system_01.dbf'

size

100m

Autoextend

on

next

10m

maxsize

unlimited

sysaux

datafile

'C:\oracle\product\10.2.0\db_2\zhouyt\systemaux_01.dbf'

size

60m

Autoextend

on

next

10m

maxsize

unlimited

logfile

group

1

('C:\oracle\product\10.2.0\db_2\zhouyt\log_1_01.rdo')

size

10m,

group

2

('C:\oracle\product\10.2.0\db_2\zhouyt\log_2_01.rdo')

size

10m

character

set

zhs16gbk

需要确保目录文件"db_2\zhouyt"存在

生成两个数据文件和两个重做日志文件,那么控制文件呢?

运行数据字典脚本

__数据库创建后,系统会生成两个管理员用户sys和system

运行3个数据字典脚本

catalog.sql

创建系统常用的数据字典视图和同义词

(sys登录)

catproc.sql

建立PL/SQL功能的使用环境,还创建几个PL/SQL包用于扩展RDBMS功能

(sys登录)

pupbld.sql

使用SQL*PLUS环境时需要

(system登录)

在命令行输入@

加脚本文件的绝对路径

第二个脚本过程和第一个一样

执行第三个脚本需要切换到system用户

connect

system/manager

@

C:\oracle\product\10.2.0\db_2\sqlplus\admin\pupbld.sql

创建scott模式

@

C:\oracle\product\10.2.0\db_2\RDBMS\ADMIN\scott.sql

*** 作顺序如下:

1.创建实例启动用的参数文件。在程序默认的参数文件里修改即可:重命名规则 initSID.ora

/u01/oracle/product/11.2.0/db_1/dbs/ 下,目录尽量使用绝对路径,采用ORACLE_BASE等环境变量有可能报错。

例 initcrm.ora

db_name='crm'--修改

#memory_target=500m --注释掉

sga_target=200m --添加

pga_aggregate_target=60m--添加

processes = 150

audit_file_dest='/u01/oracle/admin/crm/adump' --建立目录

audit_trail ='db'

db_block_size=8192

db_domain=''

db_recovery_file_dest='/u01/oracle/flash_recovery_area' --建立目录

db_recovery_file_dest_size=2G

diagnostic_dest='/u01/oracle'---修改

dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'

open_cursors=300

remote_login_passwordfile='EXCLUSIVE'

undo_tablespace='UNDOTBS1'

2.创建相应目录:

mkdir -p /u01/oracle/admin/ora11g/adump

mkdir -p /u01/oracle/admin/ora11g/dpdump

mkdir -p /u01/oracle/flash_recovery_area

3.创建密码文件:命名规则 orapwSID,目录依旧是 /u01/oracle/product/11.2.0/db_1/dbs/

Linux下orapw+实例名

Windows下pwd+实例名

$ orapwd file=orapwora11g password=oracle

4.创建数据库实例

设置环境变量 export ORACLE_SID=crm

执行以下命令

sqlplus /nolog

conn / as sysdba

注意:本处可能报错需要可能的原因: a)glibc-devel-2.5-58.el5_6.4、libaio-0.3.106-5包是否已安装,命令分别为rpm -q glibc-devel、rpm -q libaio

b)oracle目录权限不足或属组不对,chmod 6751 oracle 授权、chown -R oracle.oinstall /u01/oracle 修改属组

执行建库脚本:

startup nomount pfile="/u01/oracle/product/11.2.0.1/db1/dbs/initcrm.ora"

CREATE DATABASE "crm"

MAXINSTANCES 8

MAXLOGHISTORY 1

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

DATAFILE '/u01/oracle/oradata/system01.dbf' SIZE 1024M REUSE

EXTENT MANAGEMENT LOCAL

SYSAUX DATAFILE '/u01/oracle/oradata/sysaux01.dbf' SIZE 500M REUSE

SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/u01/oracle/oradata/temp01.dbf' SIZE 20M REUSE

SMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE '/u01/oracle/oradata/undo01.dbf' SIZE 300M REUSE

CHARACTER SET ZHS16GBK

NATIONAL CHARACTER SET AL16UTF16

LOGFILE GROUP 1 ('/u01/oracle/oradata/log01.dbf') SIZE 50M,

GROUP 2 ('/u01/oracle/oradata/log02.dbf') SIZE 50M,

GROUP 3 ('/u01/oracle/oradata/log03.dbf') SIZE 50M

创建USERS表空间

CREATE SMALLFILE TABLESPACE "USERS" LOGGING DATAFILE '/u01/app/oradata/user01.dbf' SIZE 1000M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO

ALTER DATABASE DEFAULT TABLESPACE "USERS"

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

SQL>create spfile from pfile

File created.

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

sqlplus / as sysdba

SQL>show user

@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catalog.sql

@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catblock.sql

@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catproc.sql

@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catoctk.sql

@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/owminst.plb

使用system用户编译

@/u01/oracle/product/11.2.0.1/db1/sqlplus/admin/pupbld.sql

@/u01/oracle/product/11.2.0.1/db1/sqlplus/admin/help/hlpbld.sql helpus.sql

使用sys用户编译

@/u01/oracle/product/11.2.0.1/db1/javavm/install/initjvm.sql

@/u01/oracle/product/11.2.0.1/db1/xdk/admin/initxml.sql

@/u01/oracle/product/11.2.0.1/db1/xdk/admin/xmlja.sql

@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catjava.sql

@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catexf.sql

@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catqm.sql change_on_install SYSAUX TEMP YES

@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catxdbj.sql

@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catrul.sql

spool /oracle/admin/edidb/scripts/ordinst.log append

@/u01/oracle/product/11.2.0.1/db1/ord/admin/ordinst.sql SYSAUX SYSAUX

spool off

spool /u01/oracle/admin/ora11g/scripts/interMedia.log append

@/u01/oracle/product/11.2.0.1/db1/ord/im/admin/iminst.sql

spool off

set echo on

spool /oracle/admin/edidb/scripts/lockAccount.log append

BEGIN

FOR item IN ( SELECT USERNAME FROM DBA_USERS WHERE ACCOUNT_STATUS IN ('OPEN', 'LOCKED', 'EXPIRED') AND USERNAME NOT IN (

'SYS','SYSTEM') )

LOOP

dbms_output.put_line('Locking and Expiring: ' || item.USERNAME)

execute immediate 'alter user ' ||

sys.dbms_assert.enquote_name(

sys.dbms_assert.schema_name(

item.USERNAME),false) || ' password expire account lock'

END LOOP

END

/

spool off

到此,数据库实例建立完毕。

数据库实例(instance_name)是用于和 *** 作系统进行联系的标识,也就是说数据库和 *** 作系统之间的交互使用的是数据库实例。

数据库名和实例名可以相同也可以不同。在一般情况下,数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中,数据库名和实例名是一对多的关系。

用系统sysdba权限登录后:查询oracle实例的方法:

方法一:sql”select instance_name from v$instance“

方法二:使用show命令”show parameter instance“。


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

原文地址: http://outofmemory.cn/sjk/6682751.html

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

发表评论

登录后才能评论

评论列表(0条)

保存