笔记6:使用DBCA命令或SQL命令创建及管理数据库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
笔记6:使用DBCA命令或SQL命令创建及管理数据库
一、创建数据库前注意事项:
在Oracle下创建多个数据库,需要注意每创建一个数据库之前都需要修改$Oracle_home\NETWORK\ADMIN\listener.ora,
在SID_LIST中添加新的数据库SID
(SID_DESC =
(GLOBAL_DBNAME = NEWSID)
(ORACLE_HOME = $ORACLE_HOME)
(SID_NAME = NEWSID)
)
之后重新启动OracleOraDb11g_home1TNSListener服务。
二、创建数据库的方式
1.利用开始菜单中的DBCA可视化组件创建。(见笔记3)
2. 利用DBCA命令以静默方式创建数据库
注意:Win7系统必须是超级管理员Administrator身份才可以,否则普通管理员对一些文件还是有访问限制的。
命令如下:
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname oraDB -sid oraDB -responseFile NO_VALUE-characterSet AL32UTF8 -memoryPercentage 30 -emConfiguration LOCAL
3. 利用SQL语句手动创建数据库
步骤1:利用oradim工具创建数据库实例
步骤2:创建文本初始化参数文件(pfile)
创建D:\app\myoracle_init目录,用于存放相关初始化参数文件和脚本文件。目录和存放位置可自行定义。
本例:初始化参数文件名initmyoracle.ora,
按照教材P57页编写文件内容,注意涉及Oracle安装路径的一定要根据自己的情况进行修改,比如我的Oracle安装路径就是”D:\app”。
注意:需要了解各种初始化参数的含义
步骤3:创建数据库创建脚本文件
命令:Create database 数据库名
注意:
1.要理解明白Oracle的数据库创建的各项参数,必须先清除Oracle数据库的存储结构
(物理存储结构及逻辑存储结构(见笔记5))。
2.Undo tablespace 的名称务必和初始化参数文件中undo_tablespace的值一致。
本例:创建数据库的脚本文件CreateDatabase_myoracle.sql
步骤4:启动SQLPlus进行数据库实例启动和数据库文件保存
1.Cmd窗口中切换当前数据库
set oracle_sid=orcl
sqlplus
输入用户名及密码
执行命令:使用初始化文件启动数据库实例
Startup pfile=’ D:\app\myoracle_init\initmyoracle.or a’ nomount
2.执行建库脚本文件
@D:\app\myoracle_init\CreateDatabase_myoracle.sql;
如果文件写的有问题,会出各种错误,修改好文件后,到D:\app\oradata\myoracle目录下,将之前没有建全文件删除掉,之后重新设置数据库实例,重新登录sqlplus,再启动数据库实例,执行建库脚本。
步骤5:执行安装后脚本
@ D:\app\product\11.2.0\dbhome_2\RDBMS\ADMIN\catalog.sql;
@ D:\app\product\11.2.0\dbhome_2\RDBMS\ADMIN\catproc.sql;
@ D:\app\product\11.2.0\dbhome_2\sqlplus\admin\pupbld.sql;
步骤6:创建spfile数据库启动参数文件
Create spfile from pfile=’D:\app\myoracle_init\initmyoracle.ora’;
步骤:利用DBCA工具配置数据库
按照教材P60执行,中途可能会遇到如下问题:
1)ora-01031:insufficient privileges问题,解决办法输入建库时脚本文件中设定的用户名及密码,本例:sys / 111
2)如果出现ora-30036:无法按8扩展段(在还原表空间UNDOTBS01中)错误,解决方法:
出现的原因是因为undo表空间的数据文件设置的大小过小,需要重置文件大小。
示例命令:
ALTER DATABASE DATAFILE 'D:\APP\ORADATA\myoracle\UNDOTBS01.DBF' RESIZE 50M;
3)重建em档案时报ORA-20001: SYSMAN already exists的解决方法:
SQL> drop user sysman cascade;
SQL> drop role MGMT_USER;
SQL> drop user MGMT_VIEW cascade;
SQL> drop public synonym MGMT_TARGET_BLACKOUTS;
SQL> drop public synonym SETEMVIEWUSERCONTEXT;
三、删除数据库
1. 使用DBCA工具删除数据库
2. 使用Drop Database语句删除数据库
Set oracle_sid=myoracle
Sqlplus 登录
SQL>shutdown immediate; --立即关闭数据库实例
SQL>startup mount; --启动并加载数据库
SQL>alter system enable restricted session; --将数据库切换至restricted状态SQL>drop database;