ORACLE表空间设置问题

ORACLE表空间设置问题,第1张

数据库的表很多 总共加起来有 多个表 占十几个G左右空间

请问表空间如何设置

是设置在USERS表空间内建立一个十几G的数据文件USERS DBF呢?

还是在USERS表空间内建立三个几G的数据文件USERS DBF USERS DBF USERS DBF

表空间内的数据文件以多大上限最好?是越大的单个文件好呢?还是小一点的多个文件好?以什么为原则?

ORACLE数据库产生许多碎片怎么办?存储数据文件的这个盘符 可以定期做 磁盘碎片整理 吗?该怎么做?要不要先把数据库关掉再做?

两个数据库同时运行在一个服务器上面 为两套业务系统服务

两个数据库共用一个对外端口 合理吗?会不会影响数据吞吐性能?要不要一个用 端口 一个用 端口 开两个监听程序这样设置?

分成多个数据文件

原因是

( )有些 *** 作系统对文件大小有限制 或者安装是做过限制 你不一定清楚这些限制 而且某些版本的传输协议不支持过大的文件 例如AIX某版本的sftp就不允许传输文件超过 G

( )你现在数据量小 所以不用考虑太多 但将来数据量增大以后 要考虑负载均衡 就要把部分数据文件挪到其他盘上 多个数据文件会使这样很容易

( )当你的数据文件某部分出现坏块之后 你需要让某个数据文件暂时offline恢复等等 如果你的数据文件过大 影响也可能更大

( )使用RMAN备份的时候 单独备份数据文件 恢复也可单独恢复 因此很显然分多个数据文件有好处

单个数据文件的大小 这个要考虑的东西比较多 比如你的存储性能 比如你的总数据量 等等 专家的建议是 对于几十G到几百G的数据量 单个数据文件的大小一般在 - G 原则有一套理论说明的 但是我忘了 只说一下个人的建议

( ) *** 作系统限制 这个如果没有注意到很容易出问题 特别是自扩展的数据文件 例如system undotbs等等

( )表空间的大小 要考虑单个数据文件移动或恢复的情况 显然如果对于几十个G的表空间 就分成两个数据文件 并不能对你的 *** 作带来什么好处

( )全凭经验把握的东西 还要考虑的你硬盘的raid情况等等 情况比较复杂 只能折衷 不能简单的一概而论说大就好或者小就好

当然这并不是主要的 你没必要太关注这方面的东西 因为对于你这样的简单环境来说 区区一个表空间数据文件大小的修改 对性能的提高甚至不如多建一条索引大!

数据库产生碎片怎么办 我告诉你 数据库的碎片和windows说的那个碎片整理是两码事 你不要混淆 windows再怎么整理也是没用的

其实我坦白的跟你讲 你几十个G的数据库 短期根本就不用考虑什么碎片问题 这种情况得等大家都反映数据库开始变慢了 再考虑回收段空间等等 而且你都说 是否要关闭了再做 说明你的数据库可以关 也就暗示了它 不是很忙 那么最近 - 年之内你不用考虑做这件事了

两个数据库同时用一个监听器 当然不合理 你一个监听器挂了两个数据库都连不上去 你不觉得这样风险很大么?

两个公用一个端口 对数据的吞吐性能是没有任何影响的 这个你不用担心 但是安全性无疑很低

所以当然有必要用两个端口 和 其实我建议你把两个数据库安装在两个不同的 *** 作系统用户下面 这样大家彼此逻辑都清楚 影响小 带来的好处你能慢慢体会到 这纯粹是从我的工作经验来建议你的 如果你嫌麻烦当我没说

如何设置?你这个问题问的复杂了 我可懒得把编辑TNS的一堆写出来

lishixinzhi/Article/program/Oracle/201311/17231

1、首先双击桌面软件启动,启动软件。

2、在连接窗口中填写连接数据库信息,因为要扩展表空间所以一般都需要使用db角色的用户进行连接。

3、查看数据库中表空间的信息列表,并选择相应的表空间。

4、然后查看需要扩展的表空间的的数据文件所在的位置。

5、然后对需要增加表空间增加数据文件,如下图。

6、增加完成后可以看到表空间的数据文件由原来的两个增加到了三个,表示增加成功。完成效果图。

一、创建表空间脚本:

通过pl/sql登录到Oracle数据库上,然后执行菜单:文件/新建/命令窗口 ,打开一个命令窗口然后在该命令窗口中执行脚本创建和删除表空间

创建表空间

Sql>create tablespace histdb datafile 'D:/oracle/product/10.2.0/oradata/orcl/histdb.dbf' size 200m autoextend on next 10m maxsize unlimited

Sql>alter database datafile 'D:/oracle/product/10.2.0/oradata/orcl/histdb.dbf' autoextend on

1) DATAFILE: 表空间数据文件存放路径

2) SIZE: 起初设置为200M

3) UNIFORM: 指定区尺寸为128k,如不指定,区尺寸默认为64k

4) 空间名称histdb 与 数据文件名称 histdb.dbf 不要求相同,可随意命名.

5) AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间

6) alter database datafile ' D:/oracle/product/10.2.0/oradata/orcl/histdb.dbf ' resize 500m//手动修改数据文件大小为500M

删除表空间

DROP TABLESPACE histdb INCLUDING CONTENTS AND DATAFILES

二、创建用户并制定表空间:

数据库版本:10.2.0

PL/SQL 版本:7.0.1

1 安装Oracle数据库 (如何安装Oracle会在下篇文章介绍,这里只介绍本文需要用的的地方)

创建一个数据库 注意字符集的选择 UTF-8 创建用户名和密码

sid: Dev

pwd: test

更改sys,system口令:sys

2 创建表空间

用sys登录pl/sql :(使用dba的用户名和密码)

SID: system

PWD:sys

链接为:dba

3 创建User

3.1 pl/sql 菜单选择USER 右健点击新建 用户 .

3.2 分别填入

ID: xxx

Pwd: xxx

默认表空间 : 此为 步骤2 所设置的名称

选择角色权限: dba

系统权限:u tablespace (无限表空间)

4 执行USER OBJECT.SQL (如果有需要执行的存贮过程之类的脚本的话)


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

原文地址: http://outofmemory.cn/tougao/11110323.html

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

发表评论

登录后才能评论

评论列表(0条)

保存