用root用户登录
停止Oracle数据库
HLxxdbs#[/]su - oracle -c "dbshut;lsnrctl stop"
切换用户到oracle
HLxxdbs#[/]su - oracle
Mount Oracle文件系统
HLxxdbs#[/]mount /dev/vg00/lv_install /ora_ins
卸载Oracle
$ /ora_ins/9i/Disk1/runInstaller
进入界面卸载Oracle
删除原数据文件
XX165#[/] lvremove /dev/vg00/system.dbf
XX165#[/] lvremove /dev/vg00/users.dbf
XX165#[/] lvremove /dev/vg00/tools.dbf
XX165#[/] lvremove /dev/vg00/temp.dbf
XX165#[/] lvremove /dev/vg00/rbs.dbf
XX165#[/] lvremove /dev/vg00/index.dbf
XX165#[/] lvremove /dev/vg00/control1.dbf
XX165#[/] lvremove /dev/vg00/control2.dbf
XX165#[/] lvremove /dev/vg00/control3.dbf
XX165#[/] lvremove /dev/vg00/redolog3.dbf
XX165#[/] lvremove /dev/vg00/redolog2.dbf
XX165#[/] lvremove /dev/vg00/redolog1.dbf
XX165#[/] lvremove /dev/vg00/undotbs1.dbf
XX165#[/] lvremove /dev/vg00/hlj165_01.dbf
XX165#[/] lvremove /dev/vg00/uphlj_01.dbf
建raw 设备
HLJ165#[/] lvcreate -n control01.ctl -L 104M /dev/vg00
HLJ165#[/] lvcreate -n control02.ctl -L 104M /dev/vg00
HLJ165#[/] lvcreate -n control03.ctl -L 104M /dev/vg00
HLJ165#[/] lvcreate -n redo01.log -L 112M /dev/vg00
HLJ165#[/] lvcreate -n redo02.log -L 112M /dev/vg00
HLJ165#[/] lvcreate -n redo03.log -L 112M /dev/vg00
HLJ165#[/] lvcreate -n drsys01.dbf -L 24M /dev/vg00
HLJ165#[/] lvcreate -n example01.dbf -L 128M /dev/vg00
HLJ165#[/] lvcreate -n hlj165_01.dbf -L 2000M /dev/vg00
HLJ165#[/] lvcreate -n index01.dbf -L 504M /dev/vg00
HLJ165#[/] lvcreate -n system01.dbf -L 504M /dev/vg00
HLJ165#[/] lvcreate -n temp01.dbf -L 264M /dev/vg00
HLJ165#[/] lvcreate -n tools01.dbf -L 16M /dev/vg00
HLJ165#[/] lvcreate -n undotbs01.dbf -L 512M /dev/vg00
HLJ165#[/] lvcreate -n uphlj_01.dbf -L 1000M /dev/vg00
改变raw设备的属主,属于oracle用户,dba组
HLJ165#[/] cd /dev/vg00
HLJ165#[/] chown oracle:dba r*.dbf
HLJ165#[/] chown oracle:dba r*.ctl
HLJ165#[/] chown oracle:dba r*.log
修改文件oraInst.loc
./opt/oracle/oraInst.loc
inventory_loc=/oracle/app/oracle/oraInventory
inst_group=dba
使用oracle身份建库
# su - oracle
$ /oracle/scripts/hlj165.sh
配置$ORACLE_HOME/network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.229.33)(PORT = 1521))
)
)
)
配置$ORACLE_HOME/network/admin/tnsnames.ora
hlj165 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.229.33)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = hlj165)
)
)
配置Oracle自动启动
修改/etc/oratab文件,增加:
hlj165:/oracle/app/oracle/product/9.2.0:Y
修改Oracle启动文件
1. cd /sbin/init.d
2. cp template Oracle
3. vi Oracle
a. Edit start_msg statement
b. Edit stop_msg statement
c. Edit start statement
i. Change CONTROL_VARIABLE to ORACLE_FLAG
ii. Add command
su - oracle -c "nohup dbstart &"
su - oracle -c "lsnrctl start"
iii. Add command set_return
d. Edit stop statement
i. Change CONTROL_VARIABLE to ORACLE_FLAG
ii. Add command
su - oracle -c "dbshut &"
su - oracle -c "lsnrctl stop"
iii. Add command set_return
4. vi /etc/rc.config.d/Oracle
a. Add single line, ORACLE_FLAG=1
5. ln -s /sbin/init.d/Oracle /sbin/rc3.d/S999Oracle
6. ln -s /sbin/init.d/Oracle /sbin/rc2.d/K100Oracle
修改$ORACLE_HOME/dbstart bug:
vi $ORACLE_HOME/dbstart
- add the following line:
SPFILE=${ORACLE_HOME}/dbs/spfile${ORACLE_SID}.ora
after this line:
PFILE=${ORACLE_HOME}/dbs/init${ORACLE_SID}.ora
- change:
if [ -f $PFILE ] ; then
to:
if [ -f $PFILE -o -f $SPFILE ] ;
系统测试
SQL*Net测试
$ sqlplus /nolog
SQL> connect sys/password@hlj165 as sysdba
Connected.
测试成功
自动启动测试
HLJ165#[/] reboot
HLJ165#[/] su - oracle
$ sqlplus /nolog
SQL> connect sys/password@hlj165 as sysdba
Connected.
测试成功
Pro*C测试
$ cd /tmp
$ vi a.pc
main()
{
printf("Pro*C测试/n");
}
$ proc a.pc
$ cc a.c
$ ./a.out
Pro*C测试
$
测试成功
现主机的硬盘空间不多了,只剩下3.5G左右,uphlj_data表空间只建了1G,若表空间不够用,可向此表空间中增加文件:
使用root用户在操作系统上建裸设备
# /sbin/lvcreate -n uphlj_0N.dbf -L 1000M /dev/vg00
改变裸设备属主
# chmod oracle:dba /dev/vg00/ruphlj_0N.dbf
使用sys进入sqlplus,在表空间中增加文件
ALTER TABLESPACE uphlj_data ADD DATAFILE '/dev/vg00/ruphlj_0n.dbf' size 980M reuse;
先shutdown数据库,然后在sam中修改raw设备大小,startup数据库
进入sqlnet,增加文件大小
alter database datafile '/dev/vg00/rDBFILE.dbf' resize 490m