标签:aio configure session rdb welcome execution script dbca ora-01079
能够发现。PSR的參数要比OARACLE软件的參数少很多
假设忘记ORACLE_HOME_NAME的名字,能够查看$ORACLE_BASE/oraInventory/ContentsXML/inventory.xml文件的内容:
[oracle@prod ~]$ cd $ORACLE_BASE/oraInventory/ContentsXML
[oracle@prod ContentsXML]$ ll
total 12
-rw-rw---- 1 oracle oinstall 264 Aug 29 14:52 comps.xml
-rw-rw---- 1 oracle oinstall 415 Aug 29 14:52 inventory.xml
-rw-rw---- 1 oracle oinstall 274 Aug 29 14:52 libs.xml
[oracle@prod ContentsXML]$ cat inventory.xml
<?
xml version="1.0" standalone="yes" ?
>
<!-- Copyright (c) 2005 Oracle Corporation. All rights Reserved -->
<!-- Do not modify the contents of this file by hand. -->
<INVENTORY>
<VERSION_INFO>
<SAVED_WITH>10.2.0.1.0</SAVED_WITH>
<MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME NAME="OraDb10g_Home1" LOC="/u01/app/oracle/product/10.2.0/db_1" TYPE="O" IDX="1"/>
</HOME_LIST>
</INVENTORY>
[oracle@prod ContentsXML]$
--開始静默安装patch
[oracle@prod response]$ cd ..
[oracle@prod Disk1]$ ./runInstaller -silent -responseFile ./response/patchset.rsp
...
OUI-10203:The specified response file ‘./response/patchset.rsp‘ is not found. Make sure that the response file specified exists and you have read privileges to this file.
这里必须指定绝对路径,否则会提示找不到rsp文件
[oracle@prod Disk1]$ ./runInstaller -silent -responseFile /u01/Disk1/response/patchset.rsp
...
SEVERE:OUI-10029:You have specified a non-empty directory to install this product. It is recommended to specify either an empty or a non-existent directory. You may, however, choose to ignore this message if the directory
contains Operating System generated files or subdirectories like lost+found.
因为和之前ORACLE_HOME路径同样。会报OUI-10029,加上-force參数能够忽略这个问题
[oracle@prod Disk1]$ ./runInstaller -silent -responseFile /u01/Disk1/response/patchset.rsp -force
然后会提示没有设置MOS账号,静默安装终止
SEVERE:Values for the following variables could not be obtained from the command line or response file(s):
MYORACLESUPPORT_USERNAME(MyOracleSupportUsername)
Silent install cannot continue.
--再次改动patchset.rsp
MYORACLESUPPORT_USERNAME=abc@oracle.com --填写一个不存在的账号,欺骗安装程序
DECLINE_SECURITY_UPDATES=ture
[oracle@prod Disk1]$ ./runInstaller -silent -responseFile /u01/Disk1/response/patchset.rsp -force
SEVERE:Unable to establish a network connection to Oracle. If your systems require a proxy server for outbound internet connections, enter the proxy server details. If network connectivity to Oracle is not possible,set
‘DECLINE_SECURITY_UPDATES‘ to ‘true‘.
此时事实上已经设置了DECLINE_SECURITY_UPDATES=ture,但不知为何安装程序识别不到,必须在命令行中带上这2个參数才行!
[oracle@prod Disk1]$ ./runInstaller -silent -responseFile /zlm/Disk1/response/patchset.rsp MYORACLESUPPORT_USERNAME=abc@oracle.com DECLINE_SECURITY_UPDATES=true -force
最终開始执行了。整个安装过程和装10.2.0.1软件时大同小异。略……
除了软件安装能够用配置rsp响应文件来静默安装,相同地。dbca,netca等也都能够通过配置各自的rsp响应文件来完毕静默安装,这里就不演示了。
--运行root.sh脚本(假设之前已经运行过orainstRoot.sh脚本,就无需再运行一次了,否则必须先运行一次)
[root@prod oracle]# /u01/app/oracle/product/10.2.0/db_1/root.sh
Running Oracle 10g root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/10.2.0/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin. Overwrite it?
(y/n)
[n]: y
Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
Copying coraenv to /usr/local/bin ...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
至此,软件安装完成
三、手动建库
--改动环境变量:
[oracle@prod ~]$ cd ~
[oracle@prod ~]$ vi .bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=prod
export EDITOR=vi
[oracle@prod ~]$ source .bash_profile
[oracle@prod ~]$ env|grep -i sid
ORACLE_SID=prod
--建立相关文件夹:
[oracle@prod ~]$ cd $ORACLE_BASE
[oracle@prod oracle]$ mkdir -p admin/prod/{a,b,c,u}dump
[oracle@prod oracle]$ mkdir -p oradata/prod
--改动/etc/oratab文件
[oracle@prod oracle]$ cat >> /etc/oratab <<EOFEOF
--建立初始化參数文件initprod.ora
[oracle@prod dbs]$ vi initprod.ora
shared_pool_size = 150M
db_chache_size = 250M
log_checkpoint_interval = 10000
查阅官方资料得知。SGA_TARGET > 0 不能与db_block_buffer这个过时的參数共存,否则就会出现ORA-00824错误。那么如今把该參数去掉后又一次创建spfile,并启动到nomount就可以
SQL> create spfile from pfile;
File created.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 524288000 bytes
Fixed Size 1274668 bytes
Variable Size 146803924 bytes
Database Buffers 373293056 bytes
Redo Buffers 2916352 bytes
SQL>
--编辑创建数据库语句
[oracle@prod scripts]$ touch createprod.sql
[oracle@prod scripts]$ vi createprod.sql
CREATE DATABASE prod
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 (‘/u01/app/oracle/oradata/prod/redo01a.log‘,‘/u01/app/oracle/oradata/prod/redo01b.log‘) SIZE 50M,
GROUP 2 (‘/u01/app/oracle/oradata/prod/redo02a.log‘,‘/u01/app/oracle/oradata/prod/redo02b.log‘) SIZE 50M,
GROUP 3 (‘/u01/app/oracle/oradata/prod/redo03a.log‘,‘/u01/app/oracle/oradata/prod/redo03b.log‘) SIZE 50M
MAXLOGFILES 200
MAXLOGMEMBERS 5
MAXLOGHISTORY 200
MAXDATAFILES 100
MAXINSTANCES 2
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
DATAFILE ‘/u01/app/oracle/oradata/prod/system01.dbf‘ SIZE 300M REUSE
‘/u01/app/oracle/oradata/prod/user01.dbf‘ SIZE 100M REUSE
‘/u01/app/oracle/oradata/prod/example01.dbf‘ SIZE 100M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE ‘/u01/app/oracle/oradata/prod/sysaux01.dbf‘ SIZE 300M REUSE
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE ‘/u01/app/oracle/oradata/prod/temp01.dbf‘ SIZE 100M REUSE
UNDO TABLESPACE undotbs
DATAFILE ‘/u01/app/oracle/oradata/prod/undotbs01.dbf‘ SIZE 100M REUSE
AUTOEXTEND ON MAXSIZE 2G;
--运行语句创建脚本
[oracle@prod ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.5.0 - Production on Fri Aug 29 21:56:55 2014
Copyright (c) 1982, 2010, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> @createprod.sql
CREATE DATABASE prod
*
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced
建库脚本遭遇错误,实例被终止了
SQL> exit
[oracle@prod ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.5.0 - Production on Fri Aug 29 22:01:06 2014
Copyright (c) 1982, 2010, Oracle. All Rights Reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 524288000 bytes
Fixed Size 1274668 bytes
Variable Size 146803924 bytes
Database Buffers 373293056 bytes
Redo Buffers 2916352 bytes
ORA-01079: ORACLE database was not properly created, operation aborted
SQL> !oerr ora 1079
01079, 00000, "ORACLE database was not properly created, operation aborted"
// *Cause: There was an error when the database or control file was created.
// *Action: Check what error was signaled when the database was first
// created or when the control file was recreated. Take appropriate
// actions to recreate the database or a new control file.
SQL>
提示须要重建数据库或控制文件,假设要重建控制文件,也没办法用备份控制文件到trace的方法来获得创建脚本。仅仅能手动加入控制文件须要的内容。由于如今还是在nomount状态下
--查看$ORACLE_BASE/oradata/prod中新创建的数据文件
[root@prod prod]# ll
total 948624
-rw-r----- 1 oracle oinstall 8863744 Aug 29 21:58 control01.ctl
-rw-r----- 1 oracle oinstall 8863744 Aug 29 21:58 control02.ctl
-rw-r----- 1 oracle oinstall 8863744 Aug 29 21:58 control03.ctl
-rw-r----- 1 oracle oinstall 104865792 Aug 29 21:57 example01.dbf
-rw-r----- 1 oracle oinstall 52429312 Aug 29 21:58 redo01a.log
-rw-r----- 1 oracle oinstall 52429312 Aug 29 21:58 redo01b.log
-rw-r----- 1 oracle oinstall 52429312 Aug 29 21:57 redo02a.log
-rw-r----- 1 oracle oinstall 52429312 Aug 29 21:57 redo02b.log
-rw-r----- 1 oracle oinstall 52429312 Aug 29 21:57 redo03a.log
-rw-r----- 1 oracle oinstall 52429312 Aug 29 21:57 redo03b.log
-rw-r----- 1 oracle oinstall 314580992 Aug 29 21:58 system01.dbf
-rw-r----- 1 oracle oinstall 104865792 Aug 29 21:58 undotbs01.dbf
-rw-r----- 1 oracle oinstall 104865792 Aug 29 21:57 user01.dbf
控制文件也已经生成了,为何还会报错呢,难道是脚本有问题?细致观察后发现,sysaux01.dbf和temp01.dbf并未创建成功,由于实例遭遇故障,实例终止了
--删除控制文件
[root@prod prod]# rm -rf control*
[root@prod prod]# ll
total 922608
-rw-r----- 1 oracle oinstall 104865792 Aug 29 22:27 example01.dbf
-rw-r----- 1 oracle oinstall 52429312 Aug 29 22:27 redo01a.log
-rw-r----- 1 oracle oinstall 52429312 Aug 29 22:27 redo01b.log
-rw-r----- 1 oracle oinstall 52429312 Aug 29 22:26 redo02a.log
-rw-r----- 1 oracle oinstall 52429312 Aug 29 22:26 redo02b.log
-rw-r----- 1 oracle oinstall 52429312 Aug 29 22:26 redo03a.log
-rw-r----- 1 oracle oinstall 52429312 Aug 29 22:26 redo03b.log
-rw-r----- 1 oracle oinstall 314580992 Aug 29 22:26 system01.dbf
-rw-r----- 1 oracle oinstall 104865792 Aug 29 22:27 undotbs01.dbf
-rw-r----- 1 oracle oinstall 104865792 Aug 29 22:27 user01.dbf
--依据控制文件模板创建一个符合自己数据库的控制文件
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "PROD" NORESETLOGS
MAXLOGFILES 200
MAXLOGMEMBERS 5
MAXLOGHISTORY 200
MAXDATAFILES 100
MAXINSTANCES 2
LOGFILE
GROUP 1 (‘/u01/app/oracle/oradata/prod/redo01a.log‘,‘/u01/app/oracle/oradata/prod/redo01b.log‘) SIZE 50M,
GROUP 2 (‘/u01/app/oracle/oradata/prod/redo02a.log‘,‘/u01/app/oracle/oradata/prod/redo02b.log‘) SIZE 50M,
GROUP 3 (‘/u01/app/oracle/oradata/prod/redo03a.log‘,‘/u01/app/oracle/oradata/prod/redo03b.log‘) SIZE 50M
DATAFILE
‘/u01/app/oracle/oradata/prod/system01.dbf‘,
‘/u01/app/oracle/oradata/prod/example01.dbf‘,
‘/u01/app/oracle/oradata/prod/user01.dbf‘,
‘/u01/app/oracle/oradata/prod/undotbs01.dbf‘
CHARACTER SET AL32UTF8
;
重建控制文件后,open数据库时会报数据文件system01.dbf须要恢复。无法打开数据库。用resetlogs也不行
--把之前创建的文件所有删除后,再次尝试运行脚本
SQL> @createprod.sql
CREATE DATABASE prod
*
ERROR at line 1:
ORA-01501: CREATE DATABASE failed
ORA-19502: write error on file "/u01/app/oracle/oradata/prod/redo03a.log",
blockno 172033 (blocksize=512)
ORA-27072: File I/O error
Linux Error: 9: Bad file descriptor
Additional information: 4
Additional information: 172033
Additional information: 1003008
SQL> !
[oracle@prod ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
5.7G 5.0G 486M 92% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 506M 0 506M 0% /dev/shm
/dev/sdb1 7.9G 2.3G 5.3G 31% /zlm
刚才的问题。初步怀疑是空间分配得太小,无法创建所有的数据库文件所致,可用空间仅仅剩486M了。/dev/sdb1是我另外挂载的一个8G磁盘,用来放安装文件,也是由于可用空间太小的缘故
--删除不必要的文件后,再次查看磁盘空间
[oracle@prod ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
5.7G 4.2G 1.3G 77% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 506M 0 506M 0% /dev/shm
/dev/sdb1 7.9G 2.3G 5.3G 31% /zlm
--如今有1.3G可用空间。再又一次创建一次数据库
[oracle@prod ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.5.0 - Production on Fri Aug 29 23:48:13 2014
Copyright (c) 1982, 2010, Oracle. All Rights Reserved.
Connected to an idle instance.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 524288000 bytes
Fixed Size 1274668 bytes
Variable Size 146803924 bytes
Database Buffers 373293056 bytes
Redo Buffers 2916352 bytes
SQL> @createprod.sql
Database created.
SQL>
--再次查看创建的文件
[oracle@prod prod]$ ll
total 1256212
-rw-r----- 1 oracle oinstall 8863744 Aug 29 23:52 control01.ctl
-rw-r----- 1 oracle oinstall 8863744 Aug 29 23:52 control02.ctl
-rw-r----- 1 oracle oinstall 8863744 Aug 29 23:52 control03.ctl
-rw-r----- 1 oracle oinstall 104865792 Aug 29 23:49 example01.dbf
-rw-r----- 1 oracle oinstall 52429312 Aug 29 23:50 redo01a.log
-rw-r----- 1 oracle oinstall 52429312 Aug 29 23:50 redo01b.log
-rw-r----- 1 oracle oinstall 52429312 Aug 29 23:48 redo02a.log
-rw-r----- 1 oracle oinstall 52429312 Aug 29 23:48 redo02b.log
-rw-r----- 1 oracle oinstall 52429312 Aug 29 23:48 redo03a.log
-rw-r----- 1 oracle oinstall 52429312 Aug 29 23:48 redo03b.log
-rw-r----- 1 oracle oinstall 314580992 Aug 29 23:49 sysaux01.dbf
-rw-r----- 1 oracle oinstall 314580992 Aug 29 23:49 system01.dbf
-rw-r----- 1 oracle oinstall 104865792 Aug 29 23:49 temp01.dbf
-rw-r----- 1 oracle oinstall 104865792 Aug 29 23:49 undotbs01.dbf
-rw-r----- 1 oracle oinstall 104865792 Aug 29 23:49 user01.dbf
这次,在创建数据库脚本中指定的数据文件。都正确地被创建成功了,包含之前没有的sysaux01.dbf和temp01.dbf
--再来看看如今还剩多少剩余空间
[oracle@prod prod]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
5.7G 5.4G 77M 99% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 506M 0 506M 0% /dev/shm
/dev/sdb1 7.9G 2.3G 5.3G 31% /zlm
从1.3G到77M。一个数据库实例用掉了将近1G的磁盘空间。第一次建库失败。就是由于在/u01下放了一个大于77M的文件。由于没有剩余空间造成建库失败!
至此。完毕了手工建库的所有过程
总结:
通过silent方式安装数据库软件,升级patch。然后手工建库,都是在没有图形界面支持下完毕的。当中装软件要注意安装前參数的配置。尤其是升级patch的时候,必须在命令后面加上2个參数。而且使用-force才干完毕安装。手工建库的难点是配置init.ora初始化參数和创建数据库的脚本。如平时注意收集整理。准备好对应的脚本,那么实际操作起来就能得心应手了,能够非常快的完毕批量建库的任务,众所周知,OUI的DBCA,常常会卡在86%非常久。而用silent命令行方式。能够大大加快这一步骤,前提是你能熟悉运用命令和參数设置。
标签:aio configure session rdb welcome execution script dbca ora-01079
原文地址:http://www.cnblogs.com/gavanwanggw/p/7098565.html