ORACLE手工建库

很多时候,DBA并不能接触到机器,而且,图形化界面也不是时常具备的。这就要求DBA具备手工建库的能力了。

一般来讲,手工建库有以下几个步骤:

1、确定sid
2、创建alertlog等目录
3、确定初始化文件
4、生成密码文件
5、生成spfile和改参数
5、根据在线文档,找出并修改create database语句
6、startup nomount后,开始create database
7、catalog和catproc
时间在45分钟内需完成
8、rman备份

 

 

1、确定oracle的sid:
su – oracle
cd
vi .bash_profile
修改ORACLE_SID为ocmdb
保存退出
. .bash_profile 执行使之生效。用env |grep -i sid检查是否已经修改好

 

2、在$ORACLE_BASE下:
[oracle@ocmdb1 admin]$ mkdir -p ocmdb/bdump
[oracle@ocmdb1 admin]$ mkdir -p ocmdb/cdump
[oracle@ocmdb1 admin]$ mkdir -p ocmdb/udump
[oracle@ocmdb1 admin]$ mkdir -p ocmdb/adump

3、确定初始化文件
cd $ORACLE_HOME/dbs
cat init.ora |grep -v ^# |grep -v ^$>initocmdb.ora
vi initocmdb.ora
修改里面的db_name和controlfile
删除其他内存参数:db_block_buffers、shared_pool_size
增加sga_max_size和sga_target均为300M

db_name=ocmdb
control_files = (/oracle/app/oracle/oradata/ocmdb/cfile/ora_control1,/oracle/app/oracle/oradata/ocmdb/cfile/ora_control2,/oracle/app/oracle/oradata/ocmdb/cfile/control3)–这个为考试指定的目录
将sga_max_size和sga_target均为300M
不然会报错:
SQL> startup nomount pfile=’?/dbs/initocmdb.ora’;
ORA-00371: not enough shared pool memory, should be atleast 62198988 bytes

4、生成密码文件:
cd $ORACLE_HOME/dbs
orapwd file=orapwocmdb password=change_on_install entries=10

5、create spfile from pfile; 再 shutdown abort,再startup nomount;

修改其他初始化参数:
alter system set undo_management=auto scope=spfile;
–后面用的create语句要求用auto管理的undo
alter system set db_create_file_dest=’/oracle/app/oracle/oradata/ocmdb/dfile’ scope=spfile;
–这个题目有要求
alter system set db_create_online_log_dest_1=’/oracle/app/oracle/oradata/ocmdb/lfile’ scope=spfile;
–这个题目有要求
alter system set job_queue_processes =5 scope=spfile;
–这个后面oem的时候要用
alter system set background_dump_dest=’/oracle/app/oracle/admin/ocmdb/bdump’ scope=spfile;
alter system set core_dump_dest= ‘/oracle/app/oracle/admin/ocmdb/cdump’ scope=spfile;
alter system set user_dump_dest=’/oracle/app/oracle/admin/ocmdb/udump’ scope=spfile;
alter system set audit_file_dest=’/oracle/app/oracle/admin/ocmdb/adump’ scope=spfile;

shutdown abort; startup nomount

6、找到create database语句:
找在线文档administrator guide-Part I Basic Database Administration-2 creating an oracle database – Step 7: Issue the CREATE DATABASE Statement
修改其中的dbname,里面的数据文件的路径。
CREATE DATABASE ocmdb
USER SYS IDENTIFIED BY change_on_install
USER SYSTEM IDENTIFIED BY manager
LOGFILE GROUP 1 (‘/oracle/app/oracle/oradata/ocmdb/lfile/redo01.log’) SIZE 100M,
GROUP 2 (‘/oracle/app/oracle/oradata/ocmdb/lfile/redo02.log’) SIZE 100M,
GROUP 3 (‘/oracle/app/oracle/oradata/ocmdb/lfile/redo03.log’) SIZE 100M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
CHARACTER SET US7ASCII
NATIONAL CHARACTER SET AL16UTF16
DATAFILE ‘/oracle/app/oracle/oradata/ocmdb/dfile/system01.dbf’ SIZE 325M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE ‘/oracle/app/oracle/oradata/ocmdb/dfile/sysaux01.dbf’ SIZE 325M REUSE
DEFAULT TABLESPACE tbs_1 datafile ‘/oracle/app/oracle/oradata/ocmdb/dfile/tbs_1.dbf’ size 50m
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE ‘/oracle/app/oracle/oradata/ocmdb/dfile/temp01.dbf’
SIZE 20M REUSE
UNDO TABLESPACE undotbs
DATAFILE ‘/oracle/app/oracle/oradata/ocmdb/dfile/undotbs01.dbf’
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

执行完成后,将所有的数据文件和tempfile设置成autoextend on
alter database datafile 1 autoextend on;
alter database datafile 2 autoextend on;
alter database datafile 3 autoextend on;
alter database datafile 4 autoextend on;
alter database tempfile 1 autoextend on;

7、开始执行catalog和catproc
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql

 

执行完后注意rman备份数据库,先开归档,再备份。如果rman备份的时候报错:
rman: can’t open target
那是因为linxu自带的rman优先级高于$ORACLE_HOME/bin/rman了,可以通过which rman看到。
此时export PATH一下:export PATH=$ORACLE_HOME/bin:$PATH把oracle路径的优先级提高即可。
备份的话,下面的脚本基本就可以了:
RMAN> run{
2> backup full database
3> format ‘/oracle/app/oracle/rmanbak/full_bk1_%u%p%s.rmn’
4> include current controlfile;
5> backup archivelog all
6> format ‘/oracle/app/oracle/rmanbak/arch_bk1_%u%p%s.rmn’
7> delete input;
8> }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值