C 操作ORACLE 数据库

C   操作ORACLE 数据库
C   操作ORACLE 数据库

数据库操作方式:可以采用ADO方式,也可以采用oracle本身提供的Proc*C/C++或者是OCCI方式操作数据库。

连接方式:可以是客户端连接、也可以是服务器端连接。

数据库配置:无论是何种连接都需要进行数据库连接的配置,一般在ORACLE_HOME下面的network/admin/tnsnames.ora文件中进行配置,如果没有此目录或者是此文件,需要自己手工添加。内容格式大致如下:

点击(此处)折叠或打开

1.BM2D0=

2.(DESCRIPTION=

3.(ADDRESS_LIST=

4.(ADDRESS=(PROTOCOL=TCP)(HOST=XXX.XXX.XXX.XXX)(PORT=1521))

5.)

6.(CONNECT_DATA=

7.(SERVICE_NAME=BM2D0)

8.)

9.)

其中橄榄色可任意起名,一般在数据库连接是作为服务和用户名、密码一起确定数据库连接的参数。

第一个鲜粉色是远程oracle数据库所在服务器的IP地址,端口号一般为1521。

第二个鲜粉色是远程oracle所在主机的全局数据库名字,不能随意更改。

后两个搭配起来能够确定唯一连接对象。

客户端连接:

方式一:ADO

main.cpp

点击(此处)折叠或打开

1.#include"DBOperation.h"

2.#include

https://www.360docs.net/doc/f25283107.html,ing namespace std;

4.

5.void main()

6.{

7.CDBOperation dbOper;

8.bool bConn=dbOper.ConnToDB("Provider=OraOLEDB.Oracle.1;Persist Securi

ty Info=True;Data Source=xxx1","xxx2","xxx3");

9.if(false==bConn)

10.{

11.printf("连接数据库出现错误\n");

12.system("PAUSE");

13.return;

14.}

15.

16._RecordsetPtr pRst;

17.

18.//执行查询语句

19.//char*sql="select*from TSTUDENT";

20.char sql[255]={0};

21.strcpy(sql,"select*from TSTUDENT");

22.pRst=dbOper.ExecuteWithResSQL(sql);

23.if(NULL==pRst)

24.{

25.printf("查询数据出现错误!\n");

26.system("PAUSE");

27.return;

28.}

29.if(pRst->adoEOF)

30.{

31.pRst->Close();

32.printf("There is no records in this table\n");

33.return;

34.}

35._variant_t vSno,vName,v***,vAge,vDno,vDname,vCname;

36.while(!pRst->adoEOF)

37.{

38.//pRst->MoveFirst();//记录集指针移动到查询结果集的前面

39.vSno=pRst->GetCollect(_variant_t((long)0));

40.vName=pRst->GetCollect(_variant_t("name"));

41.v***=pRst->GetCollect(_variant_t("***"));

42.vAge=pRst->GetCollect(_variant_t("age"));

43.//vDno=pRst->GetCollect("dno");

44.//vDname=pRst->GetCollect("dname");

45.//vCname=pRst->GetCollect("cname");

46.

47.printf("%s\t%s\t%s\t%d\n",(LPSTR)(LPCSTR)(_bstr_t)vSno,(LPSTR)(LP

CSTR)_bstr_t(vName),(LPSTR)(LPCSTR)_bstr_t(v***),vAge.intVal);

48.pRst->MoveNext();

49.}

50.

51.//执行插入语句

52.//sprintf(sql,"insert into TSTUDENT(sno,name,***,age)values('%s',

'%s','%s',%d)","20080016","全局","女",25);

53.strcpy(sql,"insert into TSTUDENT(sno,name,***,age)values('20080001

','全局','女',25)");

54.pRst=dbOper.ExecuteWithResSQL(sql);

55.if(NULL!=pRst)

56.{

57.printf("插入数据成功\n");

58.}

59.//执行删除语句

60.

61.sprintf(sql,"delete from TSTUDENT where sno='%s'","20080017");

62.pRst=dbOper.ExecuteWithResSQL(sql);

63.if(NULL!=pRst)

64.{

65.printf("删除数据成功\n");

66.}

67.system("PAUSE");

68.//pRst->Close();

69.}

其中XXX1:是tnsnames.ora中配置的服务名,XXX2是用户名,XXX3是密码。

DBOperation.h:

点击(此处)折叠或打开

1.#pragma once

2.#import"c:\program files\common files\system\ado\msado15.dll"no_namespace

rename("EOF","adoEOF")

3.class CDBOperation

4.{

5.public:

6.//初始化数据库操作需要的对象

7.CDBOperation(void);

8.~CDBOperation(void);

9.//连接至数据库

10.bool ConnToDB(char*ConnectionString,char*UserID,char*Password);

11.

12.//数据库操作函数

13.//查询操作删除以及添加

14._RecordsetPtr ExecuteWithResSQL(const char*);

15.//bool ExecuteNoResSQL(const char*);//delete and add

16.

17.private:

18.void PrintErrorInfo(_com_error&);

19.

20.private:

21.//初始化数据库连接、命令、记录集

22._ConnectionPtr CreateConnPtr();

23._CommandPtr CreateCommPtr();

24._RecordsetPtr CreateRecsetPtr();

25.

26.private:

27.//数据库连接需要的连接、命令操作对象

28._ConnectionPtr m_pConnection;

29._CommandPtr m_pCommand;

30.};

DBOperation.cpp

点击(此处)折叠或打开

1.#include"DBOperation.h"

2.

3.CDBOperation::CDBOperation(void)

4.{

5.CoInitialize(NULL);

6.m_pConnection=CreateConnPtr();

7.m_pCommand=CreateCommPtr();

8.}

9.

10.CDBOperation::~CDBOperation(void)

11.{

12.//m_pCommand->Close();

13.m_pConnection->Close();

14.}

15.

16.bool CDBOperation::ConnToDB(char*ConnectionString,char*UserID,char*Pas

sword)

17.{

18.if(NULL==m_pConnection)

19.{

20.printf("Failed to create connection\n");

21.return false;

22.}

23.

24.try

25.{

26.HRESULT hr=m_pConnection->Open(ConnectionString,UserID,Passwor

d,NULL);

27.if(TRUE==FAILED(hr))

28.{

29.return false;

30.}

31.m_pCommand->ActiveConnection=m_pConnection;

32.return true;

33.}

34.catch(_com_error&e)

35.{

36.PrintErrorInfo(e);

37.return false;

38.}

39.}

40.

41._RecordsetPtr CDBOperation::ExecuteWithResSQL(const char*sql)

42.{

43.//已经在连接至数据库的时候进行判断了

44.//if(NULL==m_pCommand||0==m_pConnection->State)

45.//{

46.//printf("Failed to create command OR the state of connection is ze

ro\n");

47.//return NULL;

48.//}

49.

50.//char*query=new char;

51.//strcpy(query,sql);

52.try

54.m_pCommand->CommandText=_bstr_t(sql);

55._RecordsetPtr pRst=m_pCommand->Execute(NULL,NULL,adCmdText);

56.return pRst;

57.//_variant_t ra;

58.//_RecordsetPtr pRst=m_pConnection->Execute((_bstr_t)query,&r

a,adCmdText);

59.}

60.catch(_com_error&e)

61.{

62.PrintErrorInfo(e);

63.return NULL;

64.}

65.}

66.

67.//bool CDBOperation::ExecuteNoResSQL(const char*sql)

68.//{

69.////if(NULL==m_pCommand||0==m_pConnection->State)

70.////{

71.////printf();

72.////}

73.//try

74.//{

75.//char*query=NULL;

76.//strcpy(query,sql);

77.//m_pCommand->CommandText=(_bstr_t)query;

78.//

79.//}

80.//}

81.

82.void CDBOperation::PrintErrorInfo(_com_error&e)

83.{

84.printf("Error infomation are as follows\n");

85.printf("ErrorNo:%d\nError Message:%s\nError Source:%s\nError Descripti

on:%s\n",e.Error(),e.ErrorMessage(),(LPCTSTR)e.Source(),(LPCTSTR)e.Description ());

86.}

87.

88._ConnectionPtr CDBOperation::CreateConnPtr()

89.{

90.HRESULT hr;

91._ConnectionPtr connPtr;

92.hr=connPtr.CreateInstance(__uuidof(Connection));

93.if(FAILED(hr)==TRUE)

95.return NULL;

96.}

97.return connPtr;

98.}

99.

100._CommandPtr CDBOperation::CreateCommPtr()

101.{

102.HRESULT hr;

103._CommandPtr commPtr;

104.hr=commPtr.CreateInstance(__uuidof(Command));

105.if(FAILED(hr)==TRUE)

106.{

107.return NULL;

108.}

109.return commPtr;

110.}

111.

112._RecordsetPtr CDBOperation::CreateRecsetPtr()

113.{

114.HRESULT hr;

115._RecordsetPtr recsetPtr;

116.hr=recsetPtr.CreateInstance(__uuidof(Command));

117.if(FAILED(hr)==TRUE)

118.{

119.return NULL;

120.}

121.return recsetPtr;

122.}

方式二:OCCI

默认oracle安装了occi库,但是只是安装了release版本的资源,因此需要将程序配置为release模式,或者是参看

https://www.360docs.net/doc/f25283107.html,/article-42057-1.html为debug模式获取必备的头文件以及库文件,本文采用的是release模式,使用默认安装的库文件以及头文件。

1.修改配置属性

改为Rlease模式

2.添加库文件目录

$(ORACLE_HOME)\oci\include

3.添加头文件目录

$(ORACLE_HOME)\oci\lib

4.添加库文件:oraocci10.lib

应用程序:

点击(此处)折叠或打开

1.//代码的目的就是验证makefile中oracle的头文件和lib文件路径是否正确了

2.#include

3.#define WIN32COMMON//避免函数重定义错误

4.#include

https://www.360docs.net/doc/f25283107.html,ing namespace std;

https://www.360docs.net/doc/f25283107.html,ing namespace oracle::occi;

7.int main()

8.{

9.Environment*env=Environment::createEnvironment();

10.cout<<"success"<

11.string name="xxx";

12.string pass="xxx";

13.string srvName="xxx";

14.

15.try

16.{

17.Connection*conn=env->createConnection("bsm3","bsm3","BSM3");

18.cout<<"conn success"<

19.env->terminateConnection(conn);

20.}

21.catch(SQLException e)

22.{

23.cout<

24.system("pause");

25.return-1;

26.}

27.

28.Environment::terminateEnvironment(env);

29.cout<<"end!"<

30.system("pause");

31.return0;

32.}

服务器端:AIX服务器

方式一:OCCI

helloworld.cpp

点击(此处)折叠或打开

1.//代码的目的就是验证makefile中oracle的头文件和lib文件路径是否正确了

2.#include

3.#include

https://www.360docs.net/doc/f25283107.html,ing namespace std;

https://www.360docs.net/doc/f25283107.html,ing namespace oracle::occi;

6.main()

7.{

8.Environment*env=Environment::createEnvironment();

9.cout<<"success"<

10.string name="xxx";

11.string pass="xxx";

12.string srvName="xxx";

13.

14.try

15.{

16.Connection*conn=env->createConnection(name,pass,srvName);

17.cout<<"conn success"<

18.env->terminateConnection(conn);

19.}

20.catch(SQLException e)

21.{

22.cout<

23.}

24.

25.Environment::terminateEnvironment(env);

26.cout<<"end!"<

27.}

Makefile:

点击(此处)折叠或打开

1.###########################################

2.#Makefile for the OCCI demo programs

3.###########################################

4.INC=-I${ORACLE_HOME}/precomp/public-I${ORACLE_HOME}/rdbms/public

5.LIB=-L${ORACLE_HOME}/lib-locci#-bnoquiet#-bloadmap

6.FLAGS=-q64-g

7.#为方便取下面三个变量,目标为helloworld,源文件是helloworld.cpp,编译后文件hel

loworld.o

8.PRG=helloworld

9.SRC=helloworld.cpp

10.OBJ=helloworld.o

11.#下面是常规的makefile内容,$@表示依次取目标执行,这里只有helloworld一个目标。实

际等价于

12.#CC-o helloworld helloworld.o不过加入了include和lib文件。而helloworld.o需

要后续完成

13.$(PRG):$(OBJ)

14.@echo"begin link......"

15.${CC}${FLAGS}${INC}${LIB}-o$@$(OBJ)

16.#helloworld目标依赖helloworld.o生成,所以该句就是编译.c生成.o文件。只不过加入

了include和lib文件

17.$(OBJ):$(SRC)

18.@echo"begin compile......"

19.${CC}${FLAGS}${INC}${LIB}-c$(SRC)

20.#后面的内容不是make的内容了,而是make clean内容。比如想重新make之前,清除.o等

文件,执行make clean语句

21.#.PRNOY语句表明clean关键词是个伪目标。make不自动执行。

22..PRONY:clean

23.clean:

24.@echo"Removing linked and compiled files....."

25.rm-f$(OBJ)$(PRG)

ORACLE数据库安全规范

数据库安全规范

1概述 1.1适用范围 本规范明确了Oracle数据库安全配置方面的基本要求。 1.2符号和缩略语 2 ORACLE安全配置要求 本规范所指的设备为ORACLE数据库。本规范提出的安全配置要求,在未特别说明的情况下,均适用于ORACLE数据库。 本规范从ORACLE数据库的认证授权功能和其它自身安全配置功能提出安全要求。 2.1账号 ORACLE应提供账号管理及认证授权功能,并应满足以下各项要求。 2.1.1按用户分配帐号

2.1.2删除或锁定无关帐号 2.1.3用户权限最小化 要求内容 在数据库权限配置能力内,根据用户的业务需要,配置其所需的最小权

限。

grant 权限 to user name; revoke 权限 from user name; 2、补充操作说明 用第一条命令给用户赋相应的最小权限 用第二条命令收回用户多余的权限 业务测试正常 4、检测操作 业务测试正常 5、补充说明 2.1.4使用ROLE 管理对象的权限 1. 使用Create Role 命令创建角色。 2.使用用Grant 命令将相应的系统、对象或 Role 的权限赋予应用用户。 2、补充操作说明 对应用用户不要赋予 DBA Role 或不必要的权限。 4、检测操作 1.以DBA 用户登陆到 sqlplus 中。 2.通过查询 dba_role_privs 、dba_sys_privs 和 dba_tab_privs 等视图来检查 是否使用ROLE 来管理对象权限。 5、补充说明 操作指南 1、参考配置操作 检测方法 3、判定条件 要求内容 使用数据库角色(ROLE )来管理对象的权限。 操作指南 1、参考配置操作 检测方法 3、判定条件

Oracle 数据库安全综述

Oracl e 数据库安全综述 邓明翥 2007061035 摘要信息时代,数据安全性和日俱增。对于企业数据库来说。安全性和系统性能同样重要.一旦数据丢失或者非法用户侵入,对于任何一个使用系统来说都是致命的问题.提高Oracle数据库安全性就要做好安全管理工作.文章从Oracle 入手从安全机制和安全策略两个角度分析其安全,并给出一些安全管理操作的具体方法,最后通过对比给出其安全策略的优点。 1数据库系统简介 1.1背景介绍 随着网络技术的飞速发展。网络安全问题日渐突出。数据库技术自20世纪60年代产生至今,也已得到了快速的发展和广泛使用,数据库中由于数据大量集中存放,且为众多用户直接共享,安全性问题尤为突出。 数据库是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。经过几十年的发展,数据库技术在理论上得到不断完善的同时,也广泛地投入到财务、教育、电子政务、金融等领域中得到大规模的使用。目前,市场上不仅有能满足个人用户需要的桌面小型数据库管理系统,也有能提供大规模数据管理功能、使用在网络环境的大中型数据库管理系统。 1.2数据库系统产品简介 随着大规模数据组织和管理日益引起人们的关注,数据库系统显现出越来越大的市场价值,许多公司都推出了各具特色的数据库管理系统。下面对在市场上占据主流、具有一定代表意义的两款数据库系统做简要介绍。 1.2.1SQL Server简介 SQL Server是由Microsoft公司开发和推广的关系数据库管理系统。它最初是由Microsoft、Sybase、Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。由于Microsoft公司强大的开发能力和市场影响力,自1988年起,不断有新版本SQL Server推出并迅速占领中小型数据库市场。根据来自BZ Research2007年数据库整合和统计报告的数据,SQL Server的市场占有率为74.7%,高居第一。其中,SQL Server2000的用户群最为庞大,SQL Server2008是最新版本。本文所提及的SQL Server,如未特别指出,都指的是SQL Server2000。 SQL Server具有典型的C/S结构。使用图形化用户界面,使系统管理和数据库管理更加直观、简介。同时,还提供了丰富的编程接口工具,为用户进行程序

Oracle数据库操作命令

Oracle数据库操作命令 1.登录数据库: SQL Window 与Command Window Sqlplus system/密码@orcl 2.关闭数据库: Sqlplus/as sysdba Shutdown immediate 3.启动数据库: Sqlplus/as sysdba(已登录时可不用再写) Startup 4.查看参数 ①查看数据库:show parameter db_name; ②查看实例:show parameter instance; ③查看实例名:show parameter instance_name; ④查看Oracle数据库中当前用户所拥有的表: select table_name from user_tables; ⑤查看Oracle数据库中当前用户所能访问的表: Select user,table_name from all_tables; ⑥查看Oracle数据库中本用户下所有的列: Select table_name,column_name from user_tab_columns; Oracle表空间: 5.在数据库orcl中,创建表空间的命令: Create tablespace 表空间名datafile ‘C:\表空间名.dbf’ size 20M; 6.为表空间中添加数据文件命令格式: Alter tablespace 表空间名add datafile ‘D:\表空间名.dbf’ size 100M; 7.创建表空间后,在数据字典中获得其相关信息(查看表空间的数据文件): Select tablespace_name,file_name from dba_data_files; 8.创建表空间时,还可指定数据文件自动扩展机制(指定每次增长尺寸为5M) Create tablespace 表空间名datafile ‘C:\表空间名.dbf’ size 20M autoextend on next 5M; 允许物理文件无限制增长存在一定风险,此时可在创建时设定表空间的最大大小(如500M) Create tablespace 表空间名datafile ‘C:\表空间名.dbf’ size 20M autoextend on next 5M maxsize 500M; 9.修改数据库的默认表空间: Alter database default tablespace 表空间名; 查看某用户的缺省表空间: Select username,default_tablespace from dba_users where username=’用户名’; 修改某用户的缺省表空间: Alter user 用户名default tablespace 表空间名; 10.创建数据库用户: Create users 用户名identified by 密码default tablespace 表空间名; 修改用户的密码:

oracle数据库基本命令

oracle数据库基本命令 oracle安装后 sys:超级管理员(dba),默认密码为:change_on_install system:系统管理员(dbaoper),默认密码为:manager; sys与system的不同在于sys能够create datebase而system则不能。scott:普通用户,默认密码:tiger 1.切换用户:conn 用户名/密码; SQL> conn system/manager; Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Connected as system SQL> conn sys/change_on_install as sysdba; Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Connected as SYS 注意:sys与其他用户在命令窗口切换时的不同。 2.修改密码:passw username;(普通用户可以修改自己密码,管理员可以修改其他人的密码) 3.显示当前用户。show user; 4.断开数据库同时推出:exit; 文件操作 5.运行sql脚本,start d:\a.sql; 6.编辑指定的sql脚本。Edit d:\a.sql; 7.将屏幕上指定的内容输出到指定文本中去。spool e:\b.sql;执行语句;spool off;

8.显示设置环境变量; 可以用来控制输出的各种格式,如果希望永久保存可以修改glogin.sql脚本。 Linesize(行宽): show linesize;显示行宽 set linesize 90;设置行宽为90个字符。 Pagesize(页面大小): Show pagesize;显示页面大小 Set pagesize 180;设置页面的小。 (做报表时可以用。一页设定几行。)

oracle数据库安全管理制度

竭诚为您提供优质文档/双击可除oracle数据库安全管理制度 篇一:规章制度之数据备份及应急恢复制度 医院信息系统运行与应用管理规章制度汇编 数据备份工作制度及应急恢复工作规定 数据备份工作制度 1、数据备份是备份his系统所有的数据,包括病人费用信息和医疗信息,关系到整个系统的正常运转,影响到全院的医疗工作的正常秩序,责任重大,数据管理员要有高度的事业心、责任感和一丝不苟万无一失的严谨工作作风。 2、严格按照《数据备份方案》要求,逐条认真操作,每天做逻辑备份,每周六作全部备份,每月做一次冷备份. 3、每两周对数据要进行一次恢复试验,以确保备份数据的安全可靠。 4、为了整理数据库,每月对oRacle数据库进行一次expoRt和inpoRt。 5、根据数据增长量,应定期对过期数据进行处理。 6、每天对服务器进行仔细检查,主要查看文件是否有损坏,cpu和内存占用资源情况,客户端登录和访问数据库

是否正常等。 7、如系统发现异常情况,要马上处理,处理不了要立即汇报,并提出建议。 8、严格遵守保密制度和网络管理规范,绝对保密数据管理员口令,当有其他人对服务器进行操作时,要亲自在场并作好详细记录,有第二者知道口令时要及时更改口令。 9、每次对服务器进行操作时,认真作好登录统计,不得马虎。 10、要熟练掌握nt、oRacle数据库知识,不断提高业务水平。 11、数据备份磁带要异地存放,安全保管。 12、如不按规定执行出现重大事故,追究责任者的一切责任并严肃处理。 应急恢复工作规定 1、当计算机网络中心服务器确认出现故障时,由系统管理员,按《数据备份恢复方案》进行系统恢复。 2、系统管理员由信息科主任指定专人负责恢复。当人员变动时应有交接手续。 3、当网络线路不通时,网络系统维护人员应立即到场进行维护,当光纤损坏时应立即使用备用光纤进行恢复,交换机出现故障时,应使用备用交换机,即刻通知前台工作站工作人员使用。

ORACLE数据库学习心得

ORACLE数据库结课论文 一个好的程序,必然联系着一个庞大的数据库网路... 今年我们学习了oracle数据库这门课程,起初的我,对这个字眼是要多陌生有多陌生,后来上课的时候听一会老师讲课,偶尔再跟上上机课,渐渐的学会了不少东西,但我感觉,我学到的仍是一些皮毛而已,怀着疑惑和求知的心态,我在网上搜索了关于oracle数据库的一些知识。 1.ORACLE的特点: 可移植性ORACLE采用C语言开发而成,故产品与硬件和操作系统具有很强的独立性。从大型机到微机上都可运行ORACLE的产品。可在UNIX、DOS、Windows等操作系统上运行。可兼容性由于采用了国际标准的数据查询语言SQL,与IBM的SQL/DS、DB2等均兼容。并提供读取其它数据库文件的间接方法。 可联结性对于不同通信协议,不同机型及不同操作系统组成的网络也可以运行ORAˉCLE数据库产品。 2.ORACLE的总体结构 (1)ORACLE的文件结构一个ORACLE数据库系统包括以下5类文件:ORACLE RDBMS的代码文件。 数据文件一个数据库可有一个或多个数据文件,每个数据文件可以存有一个或多个表、视图、索引等信息。 日志文件须有两个或两个以上,用来记录所有数据库的变化,

用于数据库的恢复。控制文件可以有备份,采用多个备份控制文件是为了防止控制文件的损坏。参数文件含有数据库例程起时所需的配置参数。 (2)ORACLE的内存结构一个ORACLE例程拥有一个系统全程区(SGA)和一组程序全程区(PGA)。 SGA(System Global Area)包括数据库缓冲区、日志缓冲区及共享区域。 PGA(Program Global Area)是每一个Server进程有一个。一个Server进程起动时,就为其分配一个PGA区,以存放数据及控制信息。 (3)ORACLE的进程结构ORACLE包括三类进程: ①用户进程用来执行用户应用程序的。 ②服务进程处理与之相连的一组用户进程的请求。 ③后台进程ORACLE为每一个数据库例程创建一组后台进程,它为所有的用户进程服务,其中包括: DBWR(Database Writer)进程,负责把已修改的数据块从数据库缓冲区写到数据库中。LGWR(Log Writer)进程,负责把日志从SGA中的缓冲区中写到日志文件中。 SMON(System Moniter)进程,该进程有规律地扫描SAG进程信息,注销失败的数据库例程,回收不再使用的内存空间。PMON (Process Moniter)进程,当一用户进程异常结束时,该进程负责恢复未完成的事务,注销失败的用户进程,释放用户进程占用的资源。

Oracle数据库安全配置规范华为

目录 1概述 (2) 1.1适用范围 (2) 1.2内部适用性说明 .......................................................................................................... 错误!未定义书签。 1.3外部引用说明 .............................................................................................................. 错误!未定义书签。 1.4术语和定义 .................................................................................................................. 错误!未定义书签。 1.5符号和缩略语 (2) 2ORACLE安全配置要求 (2) 2.1账号 (2) 2.2口令 (7) 2.3日志 (11) 2.4其他 (13)

1概述 1.1适用范围 本规范明确了Oracle数据库安全配置方面的基本要求。 1.2符号和缩略语 2ORACLE安全配置要求 本规范所指的设备为ORACLE数据库。本规范提出的安全配置要求,在未特别说明的情况下,均适用于ORACLE数据库。 本规范从ORACLE数据库的认证授权功能、安全日志功能,和其他自身安全配置功能提出安全要求。 2.1账号 ORACLE应提供账号管理及认证授权功能,并应满足以下各项要求。 2.1.1按用户分配帐号

Oracle数据库安全加固文档

1 端口设置 1.1 避免使用默认的监听端口 配置项 名称 避免使用默认的监听端口 检查方法 1检查$ORACLE_HOME/network/admin/listener.ora中是否有port=1521一项。 操作步骤 1 备份$ORACLE_HOME/network/admin/目录下的tnsnames.ora, listener.ora 文件 2 备份$ORACLE_HOME/dbs目录下的spfileSid.ora和initSid.ora 3执行$ lsnrctl stop 关闭Listener 4用vi修改listener.ora中的端口号1521为其他端口 5用SQL>startup immediate 关闭数据库 6 修改initSid.ora添加一项LOCAL_LISTENER=listener1 7 在tnsnames.ora中添加一项 listener1 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1522)) ) ) 8 SQL>create spfile from pfile 9 $ lsnrctl start 10 SQL>startup 启动数据库 回退操作 关闭Listener和数据库,恢复备份的文件到原来的目录,重启Listener和数据库。 风险 1.修改默认端口会影响到目前使用该数据库的应用,需要这些应用同步修改为新的端口 2.需要关闭重启数据库以及关闭重启Listener来完成端口的修改 2 用户与权限 2.1 设置LISTENER的启动关闭密码 配置项 名称 设置LISTENER的启动关闭密码 检查方法 检查$ORACLE_HOME/network/admin/listener.ora文件中是否有PASSWORDS_LISTENER一项,若有说明密码已设定。 操作步骤1 备份$ORACLE_HOME/network/admin/listener.ora文件2设置步骤 $ lsnrctl

oracle数据库操作手册

操作手册 目录 一.表空间 (4) 1.创建表空间 (4) 2.增加表空间 (4) 3.删除表空间 (5) 4.查询表空间状态 (5) 5.查询数据文件路径 (5) 6.移动表空间中数据文件的路径 (5) 7.移动表和索引到其他表空间 (6) 8.查看表空间的使用率 (7) 二.用户和权限 (9) 1.创建用户 (9) 2.修改用户的密码 (9) 3.给用户授权 (9) 4. 查询数据库系统上有多少用户,文件名和创建时间 (10) 三.归档和非归档模式 (10) 1.查看数据库的归档模式 (10) 2.修改数据库的归档模式 (10) 四.日志文件 (11) 1.查询日志文件信息 (11) 2.增加日志文件配置信息 (12) 3.增加日志成员 (12) 4.删除一组日志 (12) 五.密码文件 (13) 1.创建密码文件 (13) 六.参数文件(SPFILE PFILE) (13) 1.查看数据库使用参数文件(SPFILE 还是PFILE) (13) 2.创建SPFILE (13) 3.通过PFILE 启动数据库 (13) 七.STATSPACK (14) 1.安装STATSPACK (14) 2.数据采集 (14) 3.设置自动快照 (14) 4.设置数据采集的时间 (14) 八.ORACLE信息查询 (15) 1.查询ORACLE数据库的名字,创建日期 (15) 2. 查询ORACLE所在操作系统的主机名,实例名,版本 (15) 3.查询ORACLE数据库系统版本详细信息 (15) 九.控制文件 (16) 1.查询控制文件 (16) 2.备份控制文件 (16)

十.索引 (16) 1.创建普通索引 (16) 2.创建位图索引 (16) 3.查询索引所在的表,表空间,索引类型 (16) 4.查询索引所在的列 (17) 十一.主键 (17) 1.定义主键 (17) 2.查询主键索引 (18) 3.查询约束信息 (18) 4.禁止约束 (18) 5.开启主键 (19) 十二.手工建库脚本 (19) 十三..PROFILE文件内容 (19) 十四.做定时JOB (20) 1.创建存储过程,为此存储过程作定时JOB (20) 2.定时JOB 的参数说明 (21) 十五.查询出SQL语句 (22) 1.通过SID 找出HASH VALUE 值 (22) 2.通过HASH VALUE 值查询出SQL 语句 (22) 3.根据HASH VALUE 值查询出对应的 SESSLIN SID (22) 4.根据HASH VALUE 找出对应的机器名称 (22) 5.通过HASH VALUE 查询出该语句的执行计划 (23) 6.查询存储过程 (23) 7.查询对象属于哪个用户 (23) 8.查询表的分析时间 (23) 9.查询对象(表)的类型 (23) 十六.查询脚本 (24) 1.查询等待事件 (24) 2.查询大表已经索引超过2G 的对象 (24) 3.查看锁 (25) 十七.基本的SQL语句 (25) 1.对表的操作 (25) 2.常用的函数 (26) 十八.安装手册 (27) 十九.错误总结 (27) 1. ORA-00257: 归档程序错误 (27) 二十.故障处理 (29) 1.日志挖掘 (29) 2.行链接行迁移 (30) 3.逻辑备份(exp/imp) (35) 4.关闭和启动数据库的步骤 (36) 二十一.METALINK操作 (37) 1.开二级别SR (37) 2.OPATCH 下载地址 (37)

oracle安全机制

Oracle安全机制 安全性是评价一个数据库产品的重要指标,直接决定了数据库的优劣。Oracle数据库采用一系列的安全控制机制,以保证数据库的安全性。Oracle数据库在3个层次上采取安全控制机制。(1)系统安全性:在系统级别上控制数据库的存取和使用机制,包括有效的用户和口令、判断用户是否被授予权限可以连接数据库、用户创建数据库对象时可以使用的表空间大小、用户的资源限制、是否启动数据库的审计功能、用户可以进行哪些操作系统等。(2)数据安全性:在数据库模式对象级别上控制数据库的存取和使用机制,包括用户可以存取的模式对象以及在该对象上可以进行的操作等。用户要对某个模式对象进行操作,必须具有该对象相应的对象权限。(3)网络安全性:oracle数据库是网络数据库,因此网络数据库传输的安全性至关重要,主要包括登陆助手、目录管理、标签安全性等。Oracle通过分发Wallet、数字证书、SSL安全套接字和数据秘钥等办法来确保网络数据传输的安全性。 一、系统安全方面采取的安全机制包括用户管理、资源限制和口令管理、权 限管理、角色管理、审计、利用OEM进行安全管理。 1、用户管理 用户是数据库的使用者和管理者,Orcle数据库通过设置用户及其安全属性来控制用户对数据库的访问和操作。用户管理是Oracle数据库安全管理的核心和基础。Oracle数据库中的用户分为两类,一类是创建数据库时系统与定义的用户,而预定义的用户根据作用不同又可以分为三类:1、管理员用户,2、示例方案用户,3、内置用户;另一类是根据应用需要由DBA创建的用户。 可以通过查询数据字典视图dba_users,查看当前数据库中所有用户信息。 如下图所示显示open的用户是已经开启的用户,显示expired & locked的用户是已经过期或是锁定的用户

Oracle数据库基础题库【含答案】

1、判断题,正确请写写"T",错误请写写"F", 1、oracle数据库系统中,启动数据库的第一步是启动一个数据库实例。( T ) 2、Oracle服务器端的监听程序是驻留在服务器上的单独进程,专门负责响应客户机的连接请求。( F) 3、oracle数据库中实例和数据库是一一对应的(非ORACLE并行服务,非集群)。( T) 4、系统全局区SGA 是针对某一服务器进程而保留的内存区域,它是不可以共享的。( F ) 5、数据库字典视图ALL_***视图只包含当前用户拥有的数据库对象信息。( F ) 8、数据字典中的内容都被保存在SYSTEM表空间中。( T ) 9、HAVING后面的条件中可以有聚集函数,比如SUM(),AVG()等, WHERE 后面的条件中也可以有聚集函数。( F ) 10、"上海西北京" 可以通过like ‘%上海_’查出来。( F ) 11、表空间是oracle 最大的逻辑组成部分。Oracle数据库由一个或多个表空间组成。一个表空间由一个或多个数据文件组成,但一个数据文件只能属于一个表空间。( T ) 12、表空间分为永久表空间和临时表空间两种类型。( T ) 13、truncate是DDL操作,不能 rollback。( T ) 14、如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用WHERE语句。( F ) 15、Oracle数据库中字符串和日期必须使用双引号标识。( F ) 16、Oracle数据库中字符串数据是区分大小写的。( T ) 17、Oracle数据库中可以对约束进行禁用,禁用约束可以在执行一些特殊操作时候保证操作能正常进行。( F ) 18、为了节省存储空间,定义表时应该将可能包含NULL值的字段放在字段列表的末尾。( T ) 20、在连接操作中,如果左表和右表中不满足连接条件的数据都出现在结果中,那么这种连接是全外连接。( T ) 21、自然连接是根据两个表中同名的列而进行连接的,当列不同名时,自然连接将失去意义。( T ) 23、PL/SQL代码块声明区可有可无。( T ) 24、隐式游标与显式游标的不同在于显式游标仅仅访问一行,隐式的可以访问多行。( F )

Oracle数据库安全管理

公司内部 Oracle数据库安全管理 主题:Oracle数据库安全管理 项目名称:公司内部 撰写单位:海鼎 作者:吴昭松 版本号:0.1 日期:2006-3-8 审核 文档历史 参考文档

概述 本文概要性讲述Oracle数据库安全管理,使读者对Oracle的数据库安全管理有所了解。 包含内容: 1、概要文件; 2、管理用户; 3、权限和角色; 概要文件 概要文件是Oracle安全策略的重要组成部分,利用概要文件可以对数据库用户进行基本的资源限制,并且可以对用户的口令进行管理。 概要文件是命名的数据库和系统资源限制集合。通过为数据库用户指定概要文件,可以控制用户在数据库和实例中所能使用的资源。通常DBA会将数据库中用户分为几种类型,为每类用户创建概要文件。一个数据库用户只能指定一个概要文件。 在安装数据库时,Oracle会自动建立名为DEFAULT的默认概要文件,如果在创建新的数据库用户时没有为他指定概要文件,Oracle将自动为他指定这个默认概要文件。另外,如果在用户自定义的概要文件中没有指定某项参数,Oracle将使用DEFAULT概要文件中相应的参数作为默认值。 在概要文件中还可以对用户的口令管理策略进行设置。 资源限制参数 利用概要文件,可以对以下几类数据库和系统资源进行限制: ●CPU时间 ●逻辑读 ●用户的并发会话数 ●空闲时间 ●连接时间 ●私有SGA区 对这些资源的限制是通过在概要文件中设置资源参数来实现的。资源参数的值可以是一个整数,也可以是UNLIMITED(即不受限制),还可以是DEFAULT(使用默认概要文件中的参数设置)。 大部分的资源限制都可以在两个级别进行:会话级或调用级。会话级资源限制是对用户在一个会话过程中所能使用的资源进行的限制,而调用级资源限制是对一条SQL语句在执行过程中所能使用的资源进行的限制。 当会话或一条SQL语句占用的资源超过概要文件中的限制时,Oracle将中止并回退当前的操作,然后向用户返回错误信息。这时用户仍然有机会提交或回退当前的事务。如果受到的是会话级限制,在提交或回退事务后用户会话被中止(断开连接),但是如果受到的是调用级限制,用户会话还能继续进行,只是当前执行的SQL语句被终止。 下面分别介绍在概要文件中使用的各种资源参数: ●SESSIONS_PER_USER 该参数限制每个用户所允许建立的最大并发会话数目。达到这个限制时, 用户不能再建立任何数据库连接。

Oracle数据库安全配置手册

Oracle数据库安全配置手册 Version 1.0

版本控制

目录 第一章目的与范围 (1) 1.1目的 (1) 1.2适用范围 (1) 1.3数据库类型 (1) 第二章数据库安全规范 (1) 2.1操作系统安全 (1) 2.2帐户安全 (2) 2.3密码安全 (2) 2.4访问权限安全 (2) 2.5日志记录 (3) 2.6加密 (3) 2.7管理员客户端安全 (3) 2.8安全补丁 (3) 2.9审计 (3) 第三章数据库安全配置手册 (4) 3.1O RACLE数据库安全配置方法 (4) 3.1.1 基本漏洞加固方法 (4) 3.1.2 特定漏洞加固方法 (12)

第一章目的与范围 1.1 目的 为了加强宝付的数据安全管理,全面提高宝付各业务系统的数据安全水平,保证业务系统的正常运营,提高业务服务质量,特制定本方法。 本文档旨在于规范宝付对各业务系统的Oracle数据库进行安全加固处理。 1.2适用范围 本手册适用于对宝付公司的各业务系统的数据库系统加固进行指导。 1.3数据库类型 数据库类型为Oracle 11g。 第二章数据库安全规范 2.1 操作系统安全 要使数据库安全,首先要使其所在的平台和网络安全。然后就要考虑操作系统的安全性。Oracle使用大量用户不需要直接访问的文件。例如,数据文件和联机重做日志文件只能通过Oracle的后台进程进行读写。因此,只有要创建和删除这些文件的数据库管理员才需要在操作系统级直接访问它们。导出转储文件和其他备份文件也必须受到保护。可以把数据复制到其他数据库上,或者是作为复制模式的一部分,或者是提供一个开发数据库。若要保护数据的安全,就要对数

Oracle数据库技术课程学习大纲详细

《现代数据库技术》教学大纲 课程名称:《现代数据库技术》 课程编号:学时数:56 学分数:3.5 适应专业:计算机与信息学院所有专业 一、本课程的地位、任务和作用 现代数据库技术是计算机在数据处理应用领域中的主要内容和坚实基础;也是今后若干年内研究和应用的最活跃的分支之一。因此,信息管理、软件开发、计算机等专业的学生,特别是以应用为目标的学生都必须学习和具备数据库原理与应用的知识。本课程通过介绍Oracle数据库基本操作、体系结构与数据库基本管理使学生初步掌握大型数据库的基本原理,了解大型数据库的管理方法。了解大型数据库的管理方法,使学生熟练掌握Oracle数据库系统下的SQL语言运用及PL/SQL程序设计。 本课程是一门理论和实践相结合的课程,要求学生在完成本课程的学习以后,能够结合自己所熟悉的某一门高级语言和Oracle,开发出一个小型的数据库应用系统。 二、本课程的相关课程 本课程的先修课程为《计算机组成原理》,《离散数学》,《数据结构》,《计算机网络》及《数据库原理》等课程。 三、本课程的基本内容及要求 教学内容: 第一章数据库概述(2学时) 1、教学内容: 1.1数据库基础知识 1.2关系数据库系统 1.3 Oracle基础知识 (1)Oracle的发展历史 (2)Oracle的特点 第二章O racle体系结构(6学时) 1、教学内容: 2.1 Oracle 体系结构概述 2.2Oracle的存储结构 (1)物理存储结构 (2)逻辑存储结构 2.3Oracle的实例 (1)Oracle内存结构

(2)Oracle进程 2.4数据字典 2、教学重点:Oracle的物理结构、oracle实例、Oracle的逻辑结构 3、教学难点:数据库实例与进程 第三章O racle11g的安装(2学时) 1、教学内容: 3.1 Oracle 11g环境介绍 3.2Oracle 11g for Windows的安装 (1)安装Oracle 11g服务器 (2)Oracle 11g与Windows (3)安装Oracle 11g客户端 3.3 Oracle 11g 的卸载 2、教学重点:学会Oracle的安装 第四章O RACLE数据库管理工具及网络配置(2学时) 1、教学内容: 4.1 SQL*Plus命令 (1)设置SQL*Plus 运行环境 (2)常用SQL*Plus命令 (3)格式化查询结果 4.2 Oracle企业管理器 4.3 数据库配置助手 4.4 启动与关闭oracle实例 2、教学重点:学会使用SQL*Plus 第五章S QL语言基础(5学时) 1、教学内容: 5.1SQL简介 5.2SQL的基本语法 5.3数据查询语言 5.4数据操纵语言 5.5数据定义语言 5.6数据控制语言 5.7常用函数 5.8 事务处理 2、教学重点:数据查询语言、数据操纵语言、数据定义语言、数据控 制语言 3、教学难点:SQL的基本语法 第六章P L/SQL编程(8学时)(课本第6,7章) 1、教学内容: 6.1PL/SQL基础 (1)变量及声明 (2)数据类型 (3)表达式 (4)PL/SQL程序块结构 6.2PL/SQL控制结构

ORACLE数据库日常维护与管理手册

全球眼(MEGAEYES网络图像管理系统2.0 ORACLE S常维护与管理手册 北京互信互通信息技术有限公司 2004-08-08 目录

1 引言 1.1 目的 对于重要的商业系统来说, 数据库系统的正常运行是保证商业应用平稳运行 的关键。但是 数据库在运行过程中可能会因为种种原因发生问题。 这时,数据库 的管理与日常维护工作将变得尤为重要。 为了指导数据库管理员做好日常维护工作, 保证数据库系统的正常运行, 特 制定本文档。 当然, 数据库的日常维护是复杂和繁琐的, 本文仅涉及一些常见的 数据库日常维护的内容,在实际工作中,数据库管理员还需要做更多的工作。 1.2 范围 本文档使用的人员:数据库维护管理人员和相关人员。 本文档涉及内容: oracle 数据库的 日常维护与管理解决方案。 1.3 参考资料 中国电信网络视频监控技术(暂行)规范 2 日常维护与管理说明 2.1 运行环境 程序的运行环境包括硬件运行环境和软件运行环境。 2.1.1 硬件环境 Intel 及其兼容系列 CPU 剩余内存要达2G 以上 剩余硬盘容量要达 1G 以上 100 M 网卡 2.1.2 软件环境 CPU 类型: 内存容量: 硬盘容量: 网卡类型:

: RedHatLinuxAS3.0 Oracle9iDatabaseRelease2forLinuxx86 2.2数据库日常维护 数据库的日常维护工作主要包括管理员每日的工作内容, 每周的工作内容以 及每月的工作内容。 2.2.1数据库初始设置 基于数据安全性的考虑,需要对数据库进行如下的初始设置。 1数据库设为归档模式 1) 以管理员身份连接数据库 SQL>>connectsys/sys@数据库例程 SIDassysdba 2) 察看数据库是否处于存档模式 SQL>>archiveloglist 说明:该命令会提示以下信息,注意灰色部分显示的状态。 DatabaselogmodeNoArchiveMode AutomaticarchivalDisabled Archivedest in ati on Oldest on li nelogseque nce31 Curren tlogseque nce33 3) 如果处于非归档模式则设为归档模式 SQL>>shutdow nimmediate; SQL>>start upmount; SQL>>alterdatabaseachivelog; 4) 如果处于非自动归档状态则设为自动归档 SQL>>altersystemsetlog_archive_start=TRUESC OP E=s pfile; 5重新启动数据库 SQL>>shutdow nimmediate; SQL>>startu p; 2控制文件设置 每一个数据库都必须有一个控制档。它是一个小型二进制档案,用来描述 Oracle9i 实体结构。主要是储存数据库名称,数据库建立时间,资料文件名称 与所在位置,重置日志文件名称与所在位置,目前的日志序列码 (logsequeneenumber ),检查点信息。因此开启Oracle9i 数据库时一定要读取控 制文件才能取得所有数据库实体档案相关信息。 一旦控制文件不幸毁损,数据库 便无法顺利开启。也因为如此,控制档的管理与维护工作显得格外重要。 通常的设置建议为:每个数据库最好拥有两个以上控制档,并各自存放在不 同磁盘上。系统默认有三个控制文件 controlOl.ctI , control02.ctl , con trol03.ctl 。 如果需要增加更多的控制文件,最简单的方式就是先将既有控制文件复制到 目的位置,然后将控制文件名称加入起始参数档的 CONTROLFILE 之中()。同 理,如果想更改控制档名称,也可以先将控制文件复制到目的位置后予以更名, 再更新操作系统: 数据库:

Oracle安全性的讲解

数据库安全性问题一直是围绕着数据库管理员的恶梦,数据库数据的丢失以及数据库被非法用户的侵入使得数据库管理员身心疲惫不堪。随着计算机技术的飞速发展,数据库的应用十分广泛,深入到各个领域,但随之而来产生了数据的安全问题。各种应用系统的数据库中大量数据的安全问题、敏感数据的防窃取和防篡改问题,越来越引起人们的高度重视。数据库系统作为信息的聚集体,是计算机信息系统的核心部件,其安全性至关重要,关系到企业兴衰、国家安全。因此,如何有效地保证数据库系统的安全,实现数据的保密性、完整性和有效性,已经成为如今关注的一个话题。 甲骨文董事长拉里·埃里森在 Oracle OpenWorld大会上,谈到了 一个观点——要保护数据库安全,关键在于加密。他还认为,我们不仅要为发往互联网的数据库中的数据加密,还要为从硬盘转移到后端系统的过程中的数据加密。他还建议企业禁止用户在没有进行加密的情况下实施数据备份。“因为如果没有加密的备份CD或者DVD光盘一旦丢失,你就会失去信息。” 数据库系统的安全性很大程度上依赖于数据库管理系统。如果数据库管理系统安全机制非常强大,则数据库系统的安全性能就较好。目前市场上流行的是关系式数据库管理系统,其安全性功能很弱,这就导致数据库系统的安全性存在一定的威胁。因此,数据库管理员应从以下几个方面对数据库的安全进行考虑。 一:用户角色的管理 这是保护数据库系统安全的重要手段之一。它通过建立不同的用户组和用户口令验证,可以有效地防止非法的Oracle用户进入数据库系统,造成不必要的麻烦和损坏;另外在Oracle数据库中,可以通过授权来对Oracle用户的操作进行限制,即允许一些用户可以对Oracle服务器进行访问,也就是说对整个数据库具有读写的权利,而大多数用户只能在同组内进行读写或对整个数据库只具有读的权利。在此,特别强调对SYS 和SYSTEM两个特殊账户的保密管理。 为了保护ORACLE数据库服务器的安全,应保证$ORACLE_HOME/bin目录下的所有内容的所有权为Oracle用户所有。 为了加强数据库在网络中的安全性,对于远程用户,应使用加密方式通过密码来访问数据库,加强网络上的DBA权限控制,如拒绝远程的DBA访问等。

登录oracle数据库时常用的操作命令整理

oracle系统默认的用户和密码是 创建数据库是创建的用户 scott 密码是 tiger sys 密码是 change_on_install system 密码是 manager sysman 密码是 oem_temp 也可以 sqlplus / as sysdba 不用密码登录!! 登录oracle数据库时常用的操作命令整理 1、su – oracle 不是必需,适合于没有DBA密码时使用,可以不用密码来进入sqlplus界面。 2、sqlplus /nolog 或sqlplus system/manager 或./sqlplus system/manager@ora9i; 3、SQL>connect / as sysdba ;(as sysoper)或 connect internal/oracle AS SYSDBA ;(scott/tiger) conn sys/change_on_install as sysdba; 4、SQL>startup; 启动数据库实例 5、查看当前的所有数据库: select * from v$database; select name from v$database; desc v$databases; 查看数据库结构字段 7、怎样查看哪些用户拥有SYSDBA、SYSOPER权限: SQL>select * from V_$PWFILE_USERS; Show user;查看当前数据库连接用户 8、进入test数据库:database test; 9、查看所有的数据库实例:select * from v$instance; 如:ora9i 10、查看当前库的所有数据表: SQL> select TABLE_NAME from all_tables;

Oracle数据库安全配置标准

XX公司 Oracle数据库安全配置标准(试行) 1 目的 为保证公司应用系统的信息安全,规范数据库层面的安全配置操作,制定本标准。 2 范围 本标准适用于公司各个业务系统中使用的Oracle 10g及以上数据库系统。 3 安全配置标准 3.1安装数据库的主机要求 ●主机应当专门用于数据库的安装和使用; ●数据库主机避免安装在域控制器上; ●硬件要求请参考Oracle 10g及以上各发行版自带的发行说明; ●主机操作系统层面应当保证安全:Oracle数据库可以安装在Windows Server,Linux,及各类Unix系统上,数据库软件安装之前,应当保证主机操作系统层面的安全,需要对主机进行安全设置,补丁更新,防病毒软件安装等。 3.2数据库补丁安装标准 日常运行维护中如果Oracle推出新的补丁,则应按照《基础平台运维管理办法》的相关规定,在进行评估、验证之后,升级相关补丁。 3.3数据库口令安全配置标准 3.3.1 密码复杂性配置要求 1.密码长度至少为8位 2.必须为DBA帐户和普通帐户提供复杂的口令,需要包含以下字符: ?英语大写字母 A, B, C, … Z ?英语小写字母 a, b, c, … z ?西方阿拉伯数字 0, 1, 2, (9)

?非字母数字字符,如标点符号,@, #, $, %, &, *等 ?为用户建profile,调整PASSWORD_VERIFY_FUNCTION,对密码负载度进行设置: 3.3.2 创建应用账号并授权 创建用户: SQL>create user username identified by password; 基本授权: SQL>grant connect,resource to username; 创建表空间: SQL>create tablespacetablespace_namedatafile ‘/home/oracle/tablespace_name.dbf’size 500m; 用户与表空间对应: SQL>alter user username default tablespacetablespace_name; 3.3.3 禁用不必要的数据库帐户 针对每个数据库里的数据库帐号,确保没有测试帐号和无用的帐号存在。如果存在,应该及时禁用。 使用如下语句查看数据库账号,并锁定不必要的账号 SQL> select username,password,account_status,default_tablespace from dba_users;

相关文档
最新文档