Oracle 的维护工作主要有打开和关闭数据库;用eXP、imp命令做逻辑备份;用t
ar命令做物理备份;ORACLE 数据库使用一段时间后的空间扩张和针对具体的工作
增加临时或回滚表空间,取消新增的临时或回滚表空间;增加oracle的用户,给
用户授权等。以下按顺序具体介绍这些维护操作。
一、打开和关闭数据库
1、打开数据库
①、#su - oracle
②、%dbstart
等待十几秒左右,当看到
oracle instances started,
database mounted,
database opened的时候,oracle数据库打开成功
第二步的操作由如下命令组成
%svrmgrl 唤醒SVRMGR状态
SVRMGR connect internal 连接内核
SVRMGRstartup 打开数据库
SVRMGRexit
%
备注:打开数据库startup可带三个参数,分别是
SVRMGR startup nomount 仅启动instances
SVRMGR startup mount 启动instances,连上(mount)数据库
SVRMGR startup normal 启动instances,连上(mount)数据库
打开(open)数据库
startup缺省参数是normal
③、 %lsnrctl start 启动 oracle listener
假如出错检查环境变量是否设好,及lsnrctl文件的内容和执行属性。
2、 关闭数据库
①、#su - oracle
②、%lsnrctl stop 关闭 oracle listener
③、%dbshut
等待几秒左右,当看到
database closed
database dismounted
oracle instances shut down的时候,oracle数据库关闭成功
第三步的操作由如下命令组成
%svrmgrl 唤醒SVRMGR状态
SVRMGRconnect internal 连接内核
SVRMGRshutdown 关闭数据库
SVRMGRexit
%
备注:关闭数据库shutdown可带三个参数,分别是
SVRMGR shutdown abort 非正常马上关机。等于忽然停电
SVRMGR shutdown immediate 做回滚操作,马上关机。
SVRMGR shutdown normal 正常关机
shutdown缺省参数是normal
二、用exp、imp命令做逻辑备份
1、输出export
基本命令:一般用交互方式,在oracle用户提示符下键入
% exp user/passWord í
exp 模式
①、table:export 某个用户模式下指定的table ;而不是所有的table ,而且不包
括cluster定义;
②、user: export一个用户模式下所有的对象(如表、数据、索引等);
export 示例 user mode:
③、full database: export database 中所有的对象,执行这个必须被给
exp-full-database角色。
export 示例
A、dababase mode
% exp system/manager
... ... ...
enter array fetch buffer size :4096(return)
export file :expdat.dmp dba.dmp
e(ntire database),u(sers),t (ables):ue
export grants (y/n):yy
export table data (y/n):yy
compress extents(y/n):yy
B、table mode
% exp system/manager
... ... ...
enter array fetch buffer size :4096(return)
export file :expdat.dmp dba.dmp
e(ntire database),u(sers),t (ables):ut
export grants (y/n):yy
export table data (y/n):yy
compress extents(y/n):yy
About to exp specified tables ...
Table to be exported (RETURN quit) emp ( 输入要输出的表名 )
.... exporting table EMP 14 rows exported
About to exp specified tables ...
Table to be exported (RETURN quit) 如此循环下去,按回车退出
2、输入import
前提:在database建立之后,必须运行oracle-home /rdbms /admin/catexp.sql
才能使用export,import。
权限:要使用 import ,必须要有create session 权限。假如要import 其它用户
的表,必须要有imp_full_databade角色。(运行了catexp.sql后,dba就有了imp
_full_database角色)。
字符:与export有关,只要两台机器的字符设置一样就没问题。
基本命令:一般用交互方式,在oracle用户提示符下键入
% imp user/password
imp 模式
①、table:答应用户import在用户模式下指定的table ,而不是所有的table;
②、user:答应用户import 属于用户本身所有的对象;
③、full database:答应用户import所有的database对象,必须被给予
imp-full-database角色。
import 示例
imp system/manager
...
import file :expdat.dmp
enter insert buffer size (minimum is 4096)30720
export file created by export:v 07.01.03
list contents of import file only(yds /no):no
ignore create error due to obyict existence (yes /no):yes
import grants (yes /no):yes
import table data (yes /no):yes
import entire export file (yes /no):yes no
注重事项:
①、import 的权限必须大于、等于export的权限;
②、 对于long colums 由于对内存的非凡要求(需要地址连续的内存区)export
和 import有时不会成功;
③、对于备份到磁带上,export 和import 建议用同一台磁带机。
三、用tar命令做物理备份
1、#su - oracle
2、% tar cvf /dev/rmt/0 .
把oracle 路径下所有文件备份到磁带机上
3、% tar xvf /dev/rmt/0
把备份磁带上所有文件恢复进oracle 当前路径
4、% tar tvf /dev/rmt/0
查看磁带上有些什么文件
四、数据库的扩充
1、增加一个表空间
当我们要开发某个大型的应用程序时,最好建立一个相应的表空间。
命令示例:
SVRMGRcreate tablespace application datafile
‘/usr/oracle/dbs/application.dbf’ size 3M
针对具体情况增加回滚和临时表空间
命令示例:
SVRMGRcreate rollback tablespace rbs8 datafile
‘/usr/oracle/dbs/rbs8.dbf’ size 4M
SVRMGRcreate tablespace tmp8 datafile
‘/usr/oracle/dbs/tmp8.dbf’ size 550K
回滚和临时表空间用完后,可删除或使它offline
SVRMGRdrop tablespace rbs8;
SVRMGRdrop tablespaces tmp8;
SVRMGRalter tablespace rbs offline;
SVRMGRalter tablespace tmp8 offline;
建立回滚段举例:
SVRMGRcreate rollback segment rs11 tablespace tmp8 ;
SVRMGRalter rollback segment rs11 online;
SVRMGRalter rollback segment rs11 offline;
2、增加某个表空间的大小
当一个表空间的大小不能满足工作需要时,应该扩充表空间。
举例:
SVRMGRalter tablespace system
add datafile ‘/usr/oracle/dbs/sys338.dbf’ size 3M;
五、增加oracle的用户,并给用户授权
1、增加oracle的用户, 并给用户授权
举例:
SVRMGRcreate user newuser identified by userpasswd
default tablespace application
temporary tablespace tmp8;
SVRMGRgrant connect to newuser;
SVRMGRgrant resource to newuser;
SVRMGRgrant update on emp to newuser;
2、增加oracle的角色
oracle的缺省角色有connect、resource、dba。
它是一组可以分配给其它role
或用户的权限总和,connect 有8个权限,resource 有5个权限,dba有77
个权限。给一般连接用户赋connect,给一般编程人员赋connect加resource,
只有数据库治理员才有dba的权限。
①创建一个角色
SVRMGRcreate role newrole identified by rolepa