Oracle创建表空间和用户 手动创建Oracle数据库

来源: 三好在线 2022-08-16 16:24:51

Oracle创建表空间和用户

一、表空间和数据文件之间的关系

Oracle数据库在逻辑上划分为一个或者多个表空间(TABLESPACE)。

Oracle表空间是包含物理数据文件的逻辑实体。一个表空间中可以包含一个或者多个数据文件。

而数据文件是Oracle数据库的物理组成部分,是物理概念。一个数据文件只能隶属于一个表空间。

Oracle数据库中每一个表都属于一个给定的表空间中,通过表空间的逻辑形式管理数据表。

1 查看表空间:

2 SQL> select ts#,name from v$tablespace;

3 查看表空间和数据文件的对应关系:

4 SQL> select t.ts#,t.name,d.ts#,d.name from v$tablespace t,v$datafile d where t.ts#=d.ts#;

1、建立用户和分配权限:

建立:create user 用户名 identified by "密码";

授权:grant create session to 用户名;

grant create table to 用户名;

grant create tablespace to 用户名;

grant create view to 用户名;

2、建立表空间(一般建N个存数据的表空间和一个索引空间):

create tablespace 表空间名

datafile \' 路径(要先建好路径)\***.dbf \' size *M

tempfile \' 路径\***.dbf \' size *M

autoextend on --自动增长

--还有一些定义大小的命令,看需要

default storage(

initial 100K,

next 100k,

);

完整例子:

1 --表空间

2 CREATE TABLESPACE sdt

3 DATAFILE \'F:\tablespace\demo\' size 800M

4 EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

5 --索引表空间

6 CREATE TABLESPACE sdt_Index

7 DATAFILE \'F:\tablespace\demo\' size 512M

8 EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

9

10 --2.建用户

11 create user demo identified by demo

12 default tablespace demo;

13

14 --3.赋权

15 grant connect,resource to demo;

16 grant create any sequence to demo;

17 grant create any table to demo;

18 grant delete any table to demo;

19 grant insert any table to demo;

20 grant select any table to demo;

21 grant unlimited tablespace to demo;

22 grant execute any procedure to demo;

23 grant update any table to demo;

24 grant create any view to demo;

手动创建Oracle数据库

手动创建Oracle数据库的步骤如下:

1、设置数据库名称和实例名称

2、创建相关目录

3、创建参数文件(修改)

4、创建实例

oradim -new -sid test -intpwd test -srvcstart system/demand

oradim -delete -sid test

5、连接Oracle实例

6、启动实例

7、使用create database创建数据库

8、创建服务器参数文件

1、设置数据库名称和实例名称

set oracle_sid=test

1

2、创建相关目录

d:

cd D:\app\Snakewood\admin

mkdir testdba

cd testdba

mkdir adump

mkdir bdump

mkdir cdump

mkdir udump

mkdir pfile //存放追踪文件

cd..

cd..

cd oradata

mkdir testdba //存放控制文件、数据文件重做日志文件

3、创建参数文件(修改)

到 D:\app\Snakewood\product\11.2.0\dbhome_1\dbs 这个目录下复制init.ora文件到桌面,按照下图修改后拷贝到

D:\app\Snakewood\product\11.2.0\dbhome_1\database

新建文本文件内容如下:

create database test

datafile 'D:/app/Snakewood/product/11.2.0/dbhome_1/oradata/test/system0.dbf' size 300M reuse autoextend on next 10240K maxsize unlimited extent management local

sysaux datafile 'D:/app/Snakewood/product/11.2.0/dbhome_1/oradata/test/sysaux01.dbf' size 120M reuse autoextend on next 10240K maxsize unlimited

default temporary tablespace temp

tempfile 'D:/app/Snakewood/product/11.2.0/dbhome_1/oradata/test/temp01.dbf' size 20M reuse autoextend on next 640K maxsize unlimited

undo tablespace "UNDOTBS1"

datafile 'D:/app/Snakewood/product/11.2.0/dbhome_1/oradata/test/undotbs1.dbf' size 20M reuse autoextend on next 5120K maxsize unlimited

logfile

group 1 ('D:/app/Snakewood/product/11.2.0/dbhome_1/oradata/test/redo01.log') size 10M,

group 2 ('D:/app/Snakewood/product/11.2.0/dbhome_1/oradata/test/redo02.log') size 10M,

group 3 ('D:/app/Snakewood/product/11.2.0/dbhome_1/oradata/test/redo03.log') size 10M;

另存为test.sql

4、创建实例

oradim -new -sid test -intpwd test -srvcstart system/demand

oradim -delete -sid test

oradim -new -sid test -intpwd test -srvcstart demand //创建实例同时创建口令文件

oradim -delete -sid test //删除实例

手动创建口令文件

orapwd file=D:/app/Snakewood/product/11.2.0\dbhome_1\database\PWDtest.ora password=test entries=2

5、连接Oracle实例

sqlplus

sys as sysdba

提示已连接到空闲例程说明数据库还未启动

6、启动实例

因为现在只创建了参数文件,控制文件、数据文件和重做日志文件都没有,因此只能进入nomount状态

startup nomount pfile='D:\app\Snakewood\admin\mydba\pfile\initmydba.ora'

7、使用create database创建数据库

8、创建服务器参数文件

create spfile from pfile='D:\app\Snakewood\admin\testdba\pfile\inittestdba.ora'

小结

Oracle11g的路径和Oracle10g的路径不同,

11g是在D:\app\Snakewood…下

10g是在D:\app\Snakewood\product\11.2.0\dbhome_1…下

Set oracle_sid = xxx如果没有修改成功,可以去注册表中找oracle_sid并修改对应的值

标签: oracle创建表空间 Oracle创建表空间和用户 手动创建Oracle数据库

猜你喜欢