[20151124]快速建立测试数据库.txt

[20151124]快速建立测试数据库.txt

-- 以建立11.2.0.4的数据库为例子说明,以前写过使用内存来运行测试数据库,以这个为基础并且做一个记录。

-- 重新删除在建立数据库。
startup nomount;
alter system enable restricted session;
RMAN> drop database including backups;

1.建立内存盘:

# mkdir -p /mnt/ramdisk
# mount -t tmpfs -o size=8G tmpfs /mnt/ramdisk
# su - oracle

2.检查环境变量是否设置正确
$ env | grep -i oracle
odbs=/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs
onetadmin=/u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin
onet=/u01/app/oracle/product/11.2.0.4/dbhome_1/network
USER=oracle
LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0.4/dbhome_1/lib:/u01/app/oracle/product/11.2.0.4/dbhome_1/oracm/lib:/lib:/usr/lib:/usr/local/lib:/lib64:/usr/lib64:/usr/local/lib64
ORACLE_SID=book
oh=/u01/app/oracle/product/11.2.0.4/dbhome_1
ORACLE_BASE=/u01/app/oracle
MAIL=/var/spool/mail/oracle
PATH=.:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/NX/bin:/home/oracle/bin:/home/oracle/bin:/u01/app/oracle/product/11.2.0.4/dbhome_1/bin
ob=/u01/app/oracle
PWD=/home/oracle
obdump=/u01/app/oracle/admin/dbcn1/bdump
oudump=/u01/app/oracle/admin/dbcn1/udump
HOME=/home/oracle
LOGNAME=oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1

--设置如下环境变量
export NLS_LANG=AMERICAN_AMERICA.zhs16gbk
export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
export NLS_TIMESTAMP_TZ_FORMAT='YYYY-MM-DD HH24:MI:SS.FF TZH:TZM'

3.执行dbca:
--注意在执行前检查/etc/oratab文件,删除以前的遗留信息。

$ export ORACLE_SID=
$ORACLE_HOME/bin/dbca -createDatabase -templateName General_Purpose.dbc -gdbName book -sid book -sysPassword oracle \
-systemPassword oracle -storageType FS -characterSet ZHS16GBK -nationalCharacterSet AL16UTF16 -listeners LISTENER -sampleSchema  true -totalMemory 800 \
-databaseType MULTIPURPOSE -silent -datafileDestination /mnt/ramdisk -redoLogFileSize 50

-- 最好加入-sampleSchema  true 这样安装测试带的测试例子。在我的测试环境大约5分钟安装完成。

4.检查并设置:
$ export ORACLE_SID=book
$ rlsql
SQL*Plus: Release 11.2.0.4.0 Production on Tue Nov 24 09:14:42 2015
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SYS@book> show sga
Total System Global Area  626327552 bytes
Fixed Size                  2255832 bytes
Variable Size             180356136 bytes
Database Buffers          436207616 bytes
Redo Buffers                7507968 bytes

--有3个细节要注意,建立的数据库没有打开archivelog:
SYS@book> archive log list;
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     3
Current log sequence           5

RMAN> list incarnation;
using target database control file instead of recovery catalog
List of Database Incarnations
DB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1       1       BOOK     1337401710       PARENT  1          2013-08-24 11:37:30
2       2       BOOK     1337401710       CURRENT 925702     2015-11-24 09:11:12

--实际上安装是做了1次open resetlogs打开的。检查/u01/app/oracle/cfgtoollogs/dbca/book目录:
$ grep resetlogs *
trace.log:[Thread-14] [ 2015-11-24 09:11:12.764 CST ] [CloneDBCreationStep.executeImpl:517]  alter database "book" open resetlogs;

--另外就是example表空间属性NOLOGGING:
CREATE TABLESPACE EXAMPLE DATAFILE
  '/mnt/ramdisk/book/example01.dbf' SIZE 320640K AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
NOLOGGING
ONLINE
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;

5.修改相关设置:
$ mv /u01/app/oracle/fast_recovery_area/book/control02.ctl /mnt/ramdisk/book/

$ tar czvf book.tgz /mnt/ramdisk/book/
--做1个冷备份,坏了直接覆盖就ok了。

SYS@book> startup nomount
SYS@book> alter system set control_files='/mnt/ramdisk/book/control01.ctl','/mnt/ramdisk/book/control02.ctl' scope=spfile;
System altered.

SYS@book> alter system set log_archive_dest_1="location=/u01/app/oracle/archivelog/book" ;
System altered.

SYS@book> alter database archivelog ;
Database altered.

SYS@book> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /u01/app/oracle/archivelog/book
Oldest online log sequence     3
Next log sequence to archive   5
Current log sequence           5

SYS@book> alter user scott account unlock ;
User altered.

SYS@book> password scott
Changing password for scott
New password:
Retype new password:
Password changed

时间: 2024-10-23 10:22:33

[20151124]快速建立测试数据库.txt的相关文章

[20130218]快速安装oracle数据库.txt

[20130218]快速安装oracle数据库.txt 快速安装windows的例子:(windows的环境没有测试过) windows下执行:dbca -Silent  -createDatabase -gdbName test -templateName %oracle_home%\assistants\dbca\templates\General_Purpose.dbc -characterSet ZHS16GBK  -nationalCharacterSet AL16UTF16 -dat

[20170227]快速重建dg测试环境.txt

[20170227]快速重建dg测试环境.txt --//玩过火了,在测试互传在线日志时出现问题,导致dg破坏,安全起见我重新安装. 1.环境: SYS@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- --------------------------------------------------------

USBWebserver在本机快速建立网站测试环境

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 阿汤在很久以前曾介绍过使用phpnow来架设本机的网站测试环境,一直到现在还是在使用中,因为蛮方便的,不过有一个麻烦的地方是常常在测试完后忘记停用apache和mysql服务,启动和关闭完全都是手动的,而今天再来介绍一套也是可以带着走的快速架站工具USBWebserver,内建了许多网站主机必备的套件,很适合用来架设本机测试网站使用. USB

[20170410]快速找回触发器内容.txt

[20170410]快速找回触发器内容.txt --上午登录发现一个是触发器被人为删除了,需要恢复.链接http://www.itpub.net/thread-2084789-1-1.html. --我提供几个方法:1.取出备份的system数据文件,通过bbed之类的工具定位.2使用logminer 应该也可以定位,表sys.source$. --实际上还有1个简单粗暴的方法,直接通过strings查询归档日志.例子如下: 1.环境: SYS@book> @ &r/ver1 PORT_ST

手动建立 Oracle9i 数据库

oracle|数据|数据库 手动建立 Oracle9i 数据库(转载) (原文刊登于2002年03月Linuxer杂志)                             作者: 何致億, 美商甲骨文公司台湾分公司特约顾问   前几期我们分别探讨 Oracle9i 核心要素与数据库实体组成,相信大家对于 Oracle9i 数据库服务器已经具有一定程度的了解了.本期我将介绍手动建置 Oracle9i 数据库的步骤与相关注意事项.   本文内容将涵盖下列主题: n          建立数据库

大数据-2000万条开房数据,如何快速查询(数据库优化)

问题描述 2000万条开房数据,如何快速查询(数据库优化) 某酒店泄漏 2000 万条数据.http://kfxx.info/ 如何快速查询某个姓名的全部记录. 姓名不是唯一的,有可能重名. csv 格式数据大概 3G 大小,如果导入数据库中,大概1.5G(MySQL),而且 2000万也不是个小数目. 解决方案 索引啊,这还有什么好想的,如果你知道表结构的话,如果没有导数据库,放在linux上用cat | grep也可以 如果你舍得花时间,你可以把数据整个重构一遍,按照姓名或者其他的查询字段做

[20170111]设置无需口令登录数据库.txt

[20170111]设置无需口令登录数据库.txt --以前链接提到的http://blog.itpub.net/267265/viewspace-2124815/,必须考虑一种方式登录避免口令的暴露. --想到设置Oracle Wallets,自己从来没有做过,测试看看. 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER -----------------------------

[20150930]linux ln建立硬连接.txt

[20150930]linux ln建立硬连接.txt --前几天同事在建立测试环境时磁盘空间不足,而另外一个空间磁盘空间充足,我说可以通过ln建立软连接来解决这个问题. --这让我想起我以前管理数据库通过ln建立硬连接来避免oracle数据文件的删除,虽然现在我现在不用这种方式,不过还是做一些简单介 --绍. 1.关于linux的ln命令我不做介绍,自己看看手册. --仅仅说明一点,做硬链接不能跨文件系统. 2.实际上很简单,我拿测试环境做一次. RMAN> report schema; us

dbi-测试程序测试数据库访问接口DBI

问题描述 测试程序测试数据库访问接口DBI 写个简单的测试程序测试数据库访问接口DBI,实现功能:1 输入参数 数据库类型.IP.端口.用户名.密码.数据库名.查询语句2 输出: 0 如果能正常执行1 数据库类型不支持2 IP.端口连接不上 3 数据库登录错误4 语言执行错误 解决方案 脚本语言都可以 而且开发起来快速