使用dbca创建库时,dbca都做了哪些操作呢?
在Liunx5+oracle10.1.0中,做如下分析,会和windows下略有不同。
首先得到dbca建库的脚本,具体操作如下:
1. 启动dbca,默认建库,Global Database Name = SID = db03
2. 选择创建Sample Schemas, 选择字符集
3. 第12步,仅选择Generate Database Creation Scripts
这样就在默认的目录中得到相应的脚本
/u01/app/oracle/admin/db03/scripts
一览一下所有脚本:
[oracle@localhost scripts]$ ll total 36 -rw-r----- 1 oracle oinstall 245 Aug 11 07:26 CloneRmanRestore.sql -rw-r----- 1 oracle oinstall 2652 Aug 11 07:26 cloneDBCreation.sql -rwxr-xr-x 1 oracle oinstall 692 Aug 11 07:26 db03.sh -rwxr-xr-x 1 oracle oinstall 687 Aug 11 07:26 db03.sql -rw-r----- 1 oracle oinstall 2473 Aug 11 07:26 init.ora -rw-r----- 1 oracle oinstall 2486 Aug 11 07:26 initdb03Temp.ora -rw-r----- 1 oracle oinstall 1209 Aug 11 07:26 postDBCreation.sql -rw-r----- 1 oracle oinstall 574 Aug 11 07:26 postScripts.sql -rw-r----- 1 oracle oinstall 1348 Aug 11 07:26 rmanRestoreDatafiles.sql
创建的入口文件是:db03.sh
[oracle@localhost scripts]$ cat db03.sh #!/bin/sh mkdir -p /u01/app/oracle/admin/db03/adump mkdir -p /u01/app/oracle/admin/db03/bdump mkdir -p /u01/app/oracle/admin/db03/cdump mkdir -p /u01/app/oracle/admin/db03/dpdump mkdir -p /u01/app/oracle/admin/db03/pfile mkdir -p /u01/app/oracle/admin/db03/udump mkdir -p /u01/app/oracle/flash_recovery_area mkdir -p /u01/app/oracle/oradata/db03 mkdir -p /u01/app/oracle/product/10.1.0/db_1/cfgtoollogs/dbca/db03 mkdir -p /u01/app/oracle/product/10.1.0/db_1/dbs ORACLE_SID=db03; export ORACLE_SID echo You should Add this entry in the /etc/oratab: db03:/u01/app/oracle/product/10.1.0/db_1:Y /u01/app/oracle/product/10.1.0/db_1/bin/sqlplus /nolog @/u01/app/oracle/admin/db03/scripts/db03.sql
创建相应的目录
设置ORACLE_SID。windows在这里还有一个创建服务的语句
执行db03.sql
db03.sql的内容
[oracle@localhost scripts]$ cat db03.sql set verify off PROMPT specify a password for sys as parameter 1; DEFINE sysPassword = &1 PROMPT specify a password for system as parameter 2; DEFINE systemPassword = &2 PROMPT specify a password for sysman as parameter 3; DEFINE sysmanPassword = &3 PROMPT specify a password for dbsnmp as parameter 4; DEFINE dbsnmpPassword = &4 host /u01/app/oracle/product/10.1.0/db_1/bin/orapwd file=/u01/app/oracle/product/10.1.0/db_1/dbs/orapwdb03 password=&&sysPassword force=y @/u01/app/oracle/admin/db03/scripts/CloneRmanRestore.sql @/u01/app/oracle/admin/db03/scripts/cloneDBCreation.sql @/u01/app/oracle/admin/db03/scripts/postScripts.sql @/u01/app/oracle/admin/db03/scripts/postDBCreation.sql
设置密码
创建老大的密码文件。参照这个:http://atkinson2010.iteye.com/admin/blogs/752195
执行对应sql
CloneRmanRestore.sql的内容
[oracle@localhost scripts]$ cat CloneRmanRestore.sql connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool /u01/app/oracle/admin/db03/scripts/CloneRmanRestore.log startup nomount pfile="/u01/app/oracle/admin/db03/scripts/init.ora"; @/u01/app/oracle/admin/db03/scripts/rmanRestoreDatafiles.sql;
写日志到CloneRmanRestore.log
使用init.ora,将db启动到nomount
执行rmanRestoreDatafiles.sql
rmanRestoreDatafiles.sql的内容
[oracle@localhost scripts]$ cat rmanRestoreDatafiles.sql set echo off; set serveroutput on; select TO_CHAR(systimestamp,'YYYYMMDD HH:MI:SS') from dual; variable devicename varchar2(255); declare omfname varchar2(512) := NULL; done boolean; begin dbms_output.put_line(' '); dbms_output.put_line(' Allocating device.... '); dbms_output.put_line(' Specifying datafiles... '); :devicename := dbms_backup_restore.deviceAllocate; dbms_output.put_line(' Specifing datafiles... '); dbms_backup_restore.restoreSetDataFile; dbms_backup_restore.restoreDataFileTo(1, '/u01/app/oracle/oradata/db03/system01.dbf', 0, 'SYSTEM'); dbms_backup_restore.restoreDataFileTo(2, '/u01/app/oracle/oradata/db03/undotbs01.dbf', 0, 'UNDOTBS1'); dbms_backup_restore.restoreDataFileTo(3, '/u01/app/oracle/oradata/db03/sysaux01.dbf', 0, 'SYSAUX'); dbms_backup_restore.restoreDataFileTo(4, '/u01/app/oracle/oradata/db03/users01.dbf', 0, 'USERS'); dbms_output.put_line(' Restoring ... '); dbms_backup_restore.restoreBackupPiece('/u01/app/oracle/product/10.1.0/db_1/assistants/dbca/templates/Seed_Database.dfb', done); if done then dbms_output.put_line(' Restore done.'); else dbms_output.put_line(' ORA-XXXX: Restore failed '); end if; dbms_backup_restore.deviceDeallocate; end; / select TO_CHAR(systimestamp,'YYYYMMDD HH:MI:SS') from dual;
取得当前时间,创建数据文件system01.dbf,undotbs01.dbf,sysaux01.dbf,users01.dbf。
使用Seed_Database.dfb对数据库进行恢复。
cloneDBCreation.sql的内容
[oracle@localhost scripts]$ cat cloneDBCreation.sql connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool /u01/app/oracle/admin/db03/scripts/cloneDBCreation.log Create controlfile reuse set database "db03" MAXINSTANCES 8 MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 Datafile '/u01/app/oracle/oradata/db03/system01.dbf', '/u01/app/oracle/oradata/db03/undotbs01.dbf', '/u01/app/oracle/oradata/db03/sysaux01.dbf', '/u01/app/oracle/oradata/db03/users01.dbf' LOGFILE GROUP 1 ('/u01/app/oracle/oradata/db03/redo01.log') SIZE 51200K, GROUP 2 ('/u01/app/oracle/oradata/db03/redo02.log') SIZE 51200K, GROUP 3 ('/u01/app/oracle/oradata/db03/redo03.log') SIZE 51200K RESETLOGS; exec dbms_backup_restore.zerodbid(0); shutdown immediate; startup nomount pfile="/u01/app/oracle/admin/db03/scripts/initdb03Temp.ora"; Create controlfile reuse set database "db03" MAXINSTANCES 8 MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 Datafile '/u01/app/oracle/oradata/db03/system01.dbf', '/u01/app/oracle/oradata/db03/undotbs01.dbf', '/u01/app/oracle/oradata/db03/sysaux01.dbf', '/u01/app/oracle/oradata/db03/users01.dbf' LOGFILE GROUP 1 ('/u01/app/oracle/oradata/db03/redo01.log') SIZE 51200K, GROUP 2 ('/u01/app/oracle/oradata/db03/redo02.log') SIZE 51200K, GROUP 3 ('/u01/app/oracle/oradata/db03/redo03.log') SIZE 51200K RESETLOGS; alter system enable restricted session; alter database "db03" open resetlogs; alter database rename global_name to "db03"; ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/db03/temp01.dbf' SIZE 20480K REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED; select tablespace_name from dba_tablespaces where tablespace_name='USERS'; alter system disable restricted session; connect "SYS"/"&&sysPassword" as SYSDBA @/u01/app/oracle/product/10.1.0/db_1/demo/schema/mkplug.sql &&sysPassword change_on_install change_on_install change_on_install change_on_install change_on_install change_on_install /u01/app/oracle/product/10.1.0/db_1/assistants/dbca/templates/example.dmp /u01/app/oracle/product/10.1.0/db_1/assistants/dbca/templates/example01.dfb /u01/app/oracle/oradata/db03/example01.dbf /u01/app/oracle/admin/db03/scripts/ "\'SYS/&&sysPassword as SYSDBA\'"; connect "SYS"/"&&sysPassword" as SYSDBA shutdown immediate; startup pfile="/u01/app/oracle/admin/db03/scripts/initdb03Temp.ora"; alter system enable restricted session; select sid, program, serial#, username from v$session; alter database character set INTERNAL_CONVERT WE8ISO8859P1; alter database national character set INTERNAL_CONVERT AL16UTF16; alter user sys identified by "&&sysPassword"; alter user system identified by "&&systemPassword"; alter system disable restricted session;
创建日志文件
使用spfile,重启到nomount。
创建控制文件。数据库open
设置临时表空间
创建Sample Schemas
重启至open
postScripts.sql
[oracle@localhost scripts]$ cat postScripts.sql connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool /u01/app/oracle/admin/db03/scripts/postScripts.log @/u01/app/oracle/product/10.1.0/db_1/rdbms/admin/dbmssml.sql; execute dbms_datapump_utl.replace_default_dir; commit; connect "SYS"/"&&sysPassword" as SYSDBA alter session set current_schema=ORDSYS; @/u01/app/oracle/product/10.1.0/db_1/ord/im/admin/ordlib.sql; alter session set current_schema=SYS; connect "SYS"/"&&sysPassword" as SYSDBA connect "SYS"/"&&sysPassword" as SYSDBA execute dbms_swrf_internal.cleanup_database(cleanup_local => FALSE); commit; spool off
写日志到postScripts.log
执行dbmssml.sql
执行ordlib.sql
dbmssml.sql
[oracle@localhost admin]$ cat dbmssml.sql CREATE OR REPLACE LIBRARY dbms_sumadv_lib AS '/u01/app/oracle/product/10.1.0/db_1/lib/libqsmashr.so'; /
ordlib.sql
[oracle@localhost admin]$ cat ordlib.sql create or replace library ORDIMLIBS as '/u01/app/oracle/product/10.1.0/db_1/lib/libordim10.so'; / create or replace library ORDIMLIBT trusted as static; / Rem ordimasf.jar is only available via download from the Rem Oracle Technology Network website. Go to the interMedia section of Rem http://otn.oracle.com. Rem Rem Uncomment the following lines after downloading ordimasf.jar. -- BEGIN -- dbms_java.loadjava('-synonym -schema ORDSYS -resolve -grant PUBLIC ord/jlib/ordimasf.jar'); -- EXCEPTION -- WHEN OTHERS THEN -- NULL; -- END; -- /
以上两个sql不知道作用
postDBCreation.sql
[oracle@localhost scripts]$ cat postDBCreation.sql connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool /u01/app/oracle/admin/db03/scripts/postDBCreation.log connect "SYS"/"&&sysPassword" as SYSDBA set echo on create spfile='/u01/app/oracle/product/10.1.0/db_1/dbs/spfiledb03.ora' FROM pfile='/u01/app/oracle/admin/db03/scripts/init.ora'; shutdown immediate; connect "SYS"/"&&sysPassword" as SYSDBA startup ; alter user SYSMAN identified by "&&sysmanPassword" account unlock; alter user DBSNMP identified by "&&dbsnmpPassword" account unlock; select 'utl_recomp_begin: ' || to_char(sysdate, 'HH:MI:SS') from dual; execute utl_recomp.recomp_serial(); select 'utl_recomp_end: ' || to_char(sysdate, 'HH:MI:SS') from dual; host /u01/app/oracle/product/10.1.0/db_1/bin/emca -config dbcontrol db -silent -DB_UNIQUE_NAME db03 -PORT 1521 -EM_HOME /u01/app/oracle/product/10.1.0/db_1 -LISTENER LISTENER -SERVICE_NAME db03 -SYS_PWD &&sysPassword -SID db03 -ORACLE_HOME /u01/app/oracle/product/10.1.0/db_1 -DBSNMP_PWD &&dbsnmpPassword -HOST localhost.localdomain -LISTENER_OH /u01/app/oracle/product/10.1.0/db_1 -LOG_FILE /u01/app/oracle/admin/db03/scripts/emConfig.log -SYSMAN_PWD &&sysmanPassword; spool /u01/app/oracle/admin/db03/scripts/postDBCreation.log exit;
写日志到postDBCreation.log
创建spfile
重启到open
给sysman, dbsnmp解锁
配置em
以上就是默认情况下dbca创建数据的所有脚本。
注意rmanRestoreDatafiles.sql中的
dbms_backup_restore.restoreBackupPiece('/u01/app/oracle/product/10.1.0/db_1/assistants/dbca/templates/Seed_Database.dfb', done);
无论在第2步选择Data Warehouse, General Purpose或者Transaction Processing, 都是使用Seed_Database.dfb'进行恢复的,也就是说这三种库的本质是一样的!!!
发表评论
-
[006]数据库的启动,关闭
2010-09-06 22:22 726启动三个阶段: 1. nomount 读注册 ... -
[005]参数文件:PFILE,SPFILE
2010-09-06 21:46 906参数文件在数据库nomount时被读取。 参数文件两种 ... -
[004]常用数据字典+查询(不断更新)
2010-09-04 15:36 7811. 显示SGA SQL> show sga ... -
[003]小技巧-美容你的查询结果
2010-09-04 14:43 715内容中的实验环境:RH5, oracle10g 打开s ... -
[002]关于老大SYS-密码文件
2010-08-31 22:08 777内容中的实验环境:RH5, oracle10g 要访问数据库 ... -
[001]最基本的概念(不断更新)
2010-08-31 21:08 586本分类的内容均来自课堂练习,转载需注明 内容中的实验环境:R ...
相关推荐
现在很多系统程序都通过配置文件来进行一些基本配置,INI就是其中一种,该资源包括INI的创建和读写权限功能,简单易懂没有连接数据库,使用winform
007 如何使消息框显示“重试/取消”按钮? 第2章 常用控件 008 如何使用滑块控件? 009 如何使用标签控件? 010 如何使用树形控件? 011 如何使用列表控件? 012 如何使用进度条控件? 013 如何使用滚动条控件? 014 如何...
主要针对PDMS介绍元件库和等级库的创建操作的法方视频。
--对销售表ProOut的SaleDate 列进行约束,当不输入值时,系统默认其值为系统当前日期 CREATE DEFAULT Today AS GETDATEA() GO /*ALTER TABLE ProOut ADD CONSTRAINT DF_ProOut_SaleDate DEFAULT('当前日期')FOR ...
支持库 spec .程序集 窗口程序集1 .子程序 __启动窗口_创建完毕 .局部变量 大漠, 大漠中文版 大漠.免注册创建对象 () ' 可空,默认为运行目录下的dm.dll 如果是运行目录下"插件"目录下,则写入"\插件"就行了 调试输出 ...
Python库是一组预先...例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
XIAOMI.EU多国语言ROMS的西班牙文MIUI翻译用于XIAOMI.EU ROM的西班牙语言存储库XML检查脚本| XML验证器: 最新XML从原始值更改为翻译| 对原始英语存储库所做的最后更改,以添加和翻译: 我们的存储库中有什么新内容...
deCONZ Python库包装了用于家庭助手的 。 此实现应涵盖deCONZ支持的大多数设备,如果不是这种情况,请在调试日志中创建问题,我们将为它提供支持。 正常操作仅需要主机地址和API密钥。 致谢Mattias Flodins定制的...
007 qtcreator引入第三方opencv库和头文件路径 008 qtcreator项目配置添加界面并设置构建和运行 009 vs2015创建QT项目并详细介绍vs项目设置 010 VS设置编译的qt库版本和导出为qtcreator项目 011 qt项目由源码和...
库面板和库的操作 1.2动画原理和Flash动画制作实例讲解 动画原理与图形的创建 元件的概念和创建 逐帧动画和形状补间动画 动作补问动画 引导层动画 遮罩层动画 1.3多媒体音效的添加和动画的发布 多媒体音效的添加 ...
Ajax-sarojkumar007.github.io.zip,我的基本工作存储库和站点,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页...
CarouselRecyclerview通过CarouselRecyclerview以简单的方式在recyclerview中创建轮播效果。 包括在您的项目Gradle中在Carousel Recyclerview中添加以下内容通过CarouselRecyclerview以简单的方式在recyclerview中...
本资源为weixin007医院管理系统,基于Springboot框架开发,提供了一套完整的医院管理解决方案。以下是对该系统的介绍: 技术栈:本系统采用了Springboot作为后端框架,结合了MyBatis、MySQL等技术,实现了高效的...
1.创建数据库并导入基本数据 (1)创建数据库 create database azkaban; (2)mysql授权 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; FLUSH PRIVILEGES; (3)导入数据 ...
创建一个命名功能分支(如add_component_x ) 写下你的改变 为您的更改编写测试(如果适用) 运行测试,确保它们都通过 使用 Github 提交拉取请求 许可证和作者 作者:: rx007 ( ) Copyright:: 2015 rx007, In
MyBatis-004-MyBatis能做什么.avi MyBatis-005-使用步骤.avi MyBatis-006-创建mapper文件.avi MyBatis-007-创建主配置文件.avi MyBatis-008-创建SqlSession执行sql语句.avi MyBatis-009-复习第一个例子.avi MyBatis-...
库面板和库的操作 1.2动画原理和Flash动画制作实例讲解 动画原理与图形的创建 元件的概念和创建 逐帧动画和形状补间动画 动作补问动画 引导层动画 遮罩层动画 1.3多媒体音效的添加和动画的发布 多媒体音效的添加 ...
<创建> - 创建一个新的供应商 <修改> - 修改一个供应商的资料 <暂停交易> - 标志一个供应商暂停交易 <作废> - 作废一个供应商 <浏览> - 浏览供应商 <打印> - 打印供应商 3.1.2客户 -支持客户分类管理; ...
用React创建一个简单的计算器 目录 现场演示 安装 您可以获得存储库的本地副本,请在终端上运行以下命令: $ cd $ git clone https://github.com/Ceci007/react-calculator.git 运行npm install ,然后在终端中...
在此调查中,将要求您在以下网站上创建一个帐户并插入相应的帐户信息: 保管箱注册 如果您没有DropBox帐户,则应一个免费帐户并在调查的第一部分中指定相应的电子邮件地址 Github注册 如果您在Github上没有帐户,请...