资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,Oracle,数据库应用技术,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Oracle 10g,数据库基础教程,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Oracle 10g,数据库基础教程,第,5,章 手动创建数据库,主要内容,手动创建数据库概述,数据库管理员认证,数据库初始化参数文件,CREATE DATABASE,语句,手动创建数据库示例,5.1,手动创建数据库概述,手动创建数据库通常按下列步骤进行。,(,1,)确定数据库名称与实例名称。,(,2,)保证必需的环境变量的设置。,(,3,)确定数据库管理员的认证方式。,(,4,)创建初始化参数文件。,(,5,)创建数据库实例。,(,6,)连接到数据库实例。,(,7,)创建服务器初始化参数文件。,(,8,)启动数据库实例。,(,9,)执行,CREATE DATABASE,语句。,(,10,)创建附加表空间。,(,11,)运行脚本创建数据字典视图。,(,12,)备份数据库。,5.2,数据库管理员认证,数据库管理员认证概述,使用操作系统认证,使用口令文件认证,5.2.1,数据库管理员认证概述,DBA,认证方法,操作系统认证,口令文件认证,网络服务认证,如果采用远程数据库管理,但不具有安全的网络连接,那么只能采用口令文件认证方式。,如果采用本地数据库管理或者采用远程数据库管理,且具有安全的网络连接,则既可以采用口令文件认证方式,也可以采用操作系统认证方式,5.2.2,使用操作系统认证,属于,ORA_DBA,组的操作系统用户都自动具有了,SYSDBA,系统权限,属于,ORA_OPER,组的操作系统用户都自动具有了,SYSOPER,系统权限。,如果当前操作系统用户是,ORA_DBA,组成员,在连接数据库时指定,AS SYSDBA,,那么就会以,SYSDBA,系统权限连接数据库;,如果当前操作系统用户是,ORA_OPER,组成员,在连接数据库时指定,AS SYSOPER,,就会以,SYSOPER,系统权限连接数据库;,如果当前操作系统用户不属于,ORA_DBA,或者,ORA_OPER,组,在连接数据库时指定,AS SYSDBA,或者,AS SYSOPER,,那么连接失败。,使用操作系统认证的基本步骤为:,在操作系统中创建一个操作系统用户。,将该用户添加到,ORA_DBA,组。,修改网络配置文件,%ORACLE_HOME%NETWORKADMINsqlnet.ora,中的环境变量,SQLNET.AUTHENTICATION_SERVICES,的值为,NTS,。如果该变量的值为,NONE,,则只能使用口令文件认证方式(需要满足口令文件认证的条件)。,重新启动操作系统,以新建的操作系统用户登录。,连接数据库,以,SYSDBA,身份登录。,5.2.3,使用口令文件认证,使用口令文件认证时,需要在操作系统中创建一个口令文件,保存所有具有,SYSDBA,系统权限或者,SYSOPER,系统权限的,DBA,用户名,以及,SYS,用户的口令。,为了采用口令文件认证,需要将网络配置文件,sqlnet.ora,中的变量,SQLNET.AUTHENTICATION_SERVICES,的值设置为,NONE,。,使用口令认证的基本步骤为:,如果没有创建口令文件,使用,ORAPWD,命令创建一个口令文件。,设置初始化参数,REMOTE_LOGIN_PASSWORDFILE,的值为,EXCLUSIVE,。,使用,SYS,用户连接数据库,为数据库用户授予,SYSDBA,系统权限或者,SYSOPER,系统权限。如果用户不存在,需要先创建数据库用户。,使用新授权的,DBA,用户连接数据库。,创建口令文件,ORAPWD FILE=filename PASSWORD=password,ENTRIES=numusers FORCE=Y|N IGNORECASE=Y|N,FILE,:指定创建的口令文件的路径与名称。在,Windows,系统中口令文件默认名称为,PWD.ora,,默认存放位置为,%ORACLE_HOME%database,。,PASSWORD,:设置,SYS,用户口令。如果没有设定,执行时系统提示设置,SYS,用户口令。,ENTRIES,:设定口令文件中可以保存的具有,SYSDBA,或者,SYSOPER,权限的用户最大数量。,FORCE,:指明如果指定的口令文件已经存在,是否覆盖。值为,Y,,则覆盖。,IGNORECASE,:指定存储在口令文件中的,SYS,用户口令是否大小写敏感。,C:ORAPWD FILE=D:appAdministratorproduct,11.2.0dbhome_1databasePWDorcl.ora,PASSWORD=tiger ENTRIES=30 FORCE=Y,SQLALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXECLUSIVE SCOPE=SPFILE;,SQLCONN SYS/tiger ORCL AS SYSDBA,SQLGRANT SYSDBA TO oe;,SQLCONN oe/oe ORCL AS SYSDBA,5.3,数据库初始化参数文件,初始化参数文件概述,创建初始化参数文件,5.3.1,初始化参数文件概述,文本初始化参数文件,缺点,默认存储位置与命名方式,服务器初始化参数文件,优点,默认存储位置与命名方式,启动数据库时,寻找初始化参数文件顺序,PFILE,参数、默认的服务器初始化参数文件、默认的文本初始化参数文件,修改服务器参数文件中的参数,(*),ALTER SYSTEM SET parameter_name=value SCOPE=SPFILE|MEMORY|BOTH;,SCOPE,子句,说 明,SCOPE=SPFILE,对参数的修改仅记录在服务器初始化参数文件中,对动态参数和静态参数都适用,修改后的参数在下一次数据库启动时生效,SCOPE=MEMORY,对参数的修改仅记录在内存中,只适合动态参数的修改,修改后立即生效。由于修改结果并不会保存到服务器初始化参数文件中,因此下一次启动数据库实例时仍然采用修改前的参数设置,SCOPE=BOTH,对参数的修改同时保存到服务器初始化参数文件和内存中,只适合对动态参数的修改,更改后立即生效,并且下一次启动数据库实例时将使用修改后的参数设置。当执行,ALTER SYSTEM,语句时,如果没有指定,SCOPE,子句,那么,Oracle,默认将,SCOPE,设置为,BOTH,5.3.2,创建初始化参数文件,创建一个文本初始化参数文件,文件中包含所有参数设置;,连接到,Oracle,数据库;,利用文本初始化参数文件创建服务器端初始化参数文件。,CREATE SPFILE=pathfilename FROM PFILE=pathfilename;,导出服务器初始化参数文件,(*),原因,创建服务器初始化参数文件的备份;,为了便于查找系统故障原因等,需要获取当前数据库实例所使用的所有初始化参数值;,为了修改服务器初始化参数文件中参数值,先将服务器初始化参数文件导出为文本初始化参数文件,然后对文本初始化参数文件中的参数进行修改,最后根据修改后的文本初始化参数文件创建新的服务器初始化参数文件。,语法,CREATE PFILE=path FROM SPFILE=path,5.4 CREATE DATABASE,语句,CREATE DATABASE,语句的基本语法,CREATE DATABASE,语句参数说明,CREATE DATABASE database_name,USER SYS IDENTIFIED BY password,USER SYSTEM IDNETIFIED BY password,CONTROLFILE REUSE,MAXINSTANCES integer,MAXDATAFILES integer,MAXLOGHISTORY integer,MAXLOGFILES integer,MAXLOGMEMBERS integer,ARCHIVELOG|NOARCHIVELOG,FORCE LOGGING,CHARACTER SET charset,NATIONAL CHARACTER SET charset,SET TIME_ZONE=time_zone_region,SET DEFAULT SMALLFILE|BIGFILE TABLESPACE,-,设置重做日志文件,LOGFILE GROUP integer(filename1,),SIZE integerK|M|G|TREUSE,-,设置,SYSTE,表空间,EXTENT MANAGEMENT LOCAL,DATAFILE filenameSIZE integerK|MREUSE,AUTOEXTEND OFF|,ON NEXT integerK|M MAXSIZE UNLIMITED|,integerK|M|G|T,-,设置,SYSAUX,表空间,SYSAUX DATAFILE filename SIZE integerK|M|G|T,REUSEAUTOEXTEND OFF|ON NEXT integerK|M,MAXSIZE UNLIMITED|integerK|M|G|T,-,设置数据库默认表空间,DEFAULT TABLESPACE default_tablespace_name,DATAFILE filename SIZE integerK|MREUSE,AUTOEXTEND OFF|ON NEXT integerK|M,MAXSIZE UNLIMITED|integerK|M|G|T,EXTENT MANAGEMENT DICTIONARY|,LOCAL AUTOALLOCATE|,UNIFORM SIZE integerK|M|G|T,-,设置数据库默认临时表空间,DEFAULT TEMPORARY TABLESPACE default_temp_tablespace_name,TEMPFILE filename SIZE integerK|M|G|TREUSE,AUTOEXTEND OFF|ON NEXT integerK|M|G|T,MAXSIZE UNLIMITED|integerK|M|G|T,EXTENT MANAGEMENT DICTIONARY|,LOCAL UNIFORM SIZE integerK|M|G|T,-,设置数据库撤销表空间,UNDO TABLESPACE undo_tablespace_name,DATAFILE filenameSIZE integerK|M|G|T,RESUSEAUTOEXTEND OFF|ONNEXT integerK|M|G|T,MAXSIZE UNLIMITED|integerK|M|G|T,USER SYS IDENTIFIED BY,:,设置,SYS,用户口令,USER SYSTEM IDENTIFIED BY,:,设置,SYSTEM,用户口令,CONTROLFILE REUSE,:,按初始化参数文件中,CONTROL_FILES,的值创建控制文件,如果同名文件存在,则覆盖,MAXINSTANCES,:,指定允许同时装载和打开数据库的实例的个数,MAXDATAFILES,:,设置控制文件中允许创建的最多数据文件数量,MAXLOGHISTORY,:,可以自动归档的最大日志文件的数量,仅适用于,RAC,环境,MAXLOGFILES,:,设置数据库最大日志文件组数量,MAXLOGMEMBERS,:,设置每个日志文件组中最大成员日志文件数量,ARCHIVELOG,:,设置新建数据库处于归档模式,NOARCHIVELOG,:,设置新建数据库处于非归档模式,FORCE LOGGING,:,数据库中所有的变化信息(除了临时表空间)都写入日志文件,CHARACTER SET,:,设置数据库字符集,NATIONAL CHARACTER SET,:,设置国家字符集,SET TIME_ZONE,:,设置数据库时区,SET DEFAULT SMALLFILE TABLESPACE,:,设置默认创建的表空间为小文件表空间,SET DEFAULT BIGFILE TABLESPACE,:,设置默认创建的表空间为大文件表空间,LOGFILE,:,设置数据库重做日志文件组及组成员日志文件,EXTENT MANAGEMENT LOCAL,:,设置,SYSTEM,表空间采用本地管理方式,DATAFILE,:,为,SYSTEM,表空间创建数据文件,SYSAUX DATAFILE,:,为,SYSAUX,表空间创建数据文件,DEFAULT TABLESPACE,:,为数据库创建并指定默认表空间,DEFAULT TEMPORARY TABLESPACE,:,为数据库创建并指定默认临时表空间,UNDO TABLESPACE,:,为数据库创建并指定撤销表空间,5.5,手动创建数据库示例,确定数据库名称与实例名称,确定要创建的数据库名称(,DB_NAME,)以及数据库实例名称(,INSTANCE_NAME,),保证必需的环境变量的设置,C:SET ORACLE_SID=MYNEWDB,确定数据库管理员的认证方式,采用口令文件认证方式,C:ORAPWD FILE=D:appAdministratorproduct11.2.0dbhome_1databasePWDmynewdb.ora PASSWORD=mynewdb ENTRIES=10,创建文本初始化参数文件,将,Oracle,提供的文本初始化参数文件的样本复制一份,然后在此基础上进行修改,以创建自己的文本初始化参数文件。,在,Oracle 11g,数据库中,文本初始化参数文件的默认位置为,%ORACLE_HOME%database,,默认名称为,init.ora,。,创建数据库实例,ORADIM-NEW-SID sid-SYSPWD password,-STARTMODE MANUAL|AUTO-PFILEpfile|SPFILE-SHUTMODE NORMAL|IMMEDIATE|ABORT,NEW,:表示新建一个数据库实例。,SID,:设置新建数据库实例的名称。,SYSPWD,:设置,SYS,用户口令。,STARTMODE,:设置数据库实例的启动模式。如果设置为,AUTO,,创建实例后将启动实例、加载数据库,由于此时数据库还不存在,将导致错误。因此,应设置为,MANUAL,。,PFILE,:指定数据库实例启动时使用文本初始化参数文件。,SPFILE,:指定数据库启动时使用服务器初始化参数文件。,SHUTDMODE,:设置数据库实例关闭方式。,C:ORADIM-NEW-SID MYNEWDB-STARTMODE MANUAL,连接到数据库实例,C:SQLPLUS sys/mynewdb AS SYSDBA,创建服务器初始化参数文件,SQLCREATE SPFILE FROM PFILE;,启动数据库实例,SQLSTARTUP NOMOUNT,执行,CREATE DATABASE,语句,创建附加的表空间,运行脚本创建数据字典视图,catalog.sql,:位于,%ORACLE_HOME%RDBMSADMIN,目录中,用于创建数据字典视表、数据字典视图以及部分数据字典视图的公共同义词。,catproc.log,:位于,%ORACLE_HOME%RDBMSADMIN,目录中,用于创建各种,PL/SQL,包,提供对,PL/SQL,程序设计的支持,,pubbld.sql,:位于,SQLPLUSADMIN,目录中,用于提供对,SQL Plus,运行环境的支持。,SQLCONNECT sys/mynewdb AS SYSDBA,SQLD:appAdministratorproduct11.2.0,dbhome_1RDBMSADMINcatalog.sql;,SQLD:appAdministratorproduct11.2.0,dbhome_1RDBMSADMINcatproc.sql;,SQLCONNECT system/mynewdb,SQLD:appAdministratorproduct11.2.0,dbhome_1sqlplusadminpupbld.sql,小结,手动创建数据库概述,数据库管理员认证,数据库初始化参数文件,CREATE DATABASE,语句,手动创建数据库,
展开阅读全文