oracle 常用命令

打开服务器

net start oracleservice

打开监听器

lsnrctl start

关闭服务器

net stop oracleservicebinbo

关闭监听器

lsnrctl stop

管理命令:

数据库配置:dbca

网路配置:netca,netmgr 

查看集群状态

crsctl stat res -t


如何连接到远程数据库服务器

connect username/password@[//]host[:port][/service_name]

例如:connect scott/[email protected]:1521/mdb04

注:如果不指定端口的话,默认的端口就是1521


启动数据库

切换到oracle用户下,输入sqlplus / as sysdba

SQL>startup;


启动过程中没有报错,启动之后查询

SQL >select status from v$instance;

状态为OPEN ,则启动成功


关闭数据库

切换到oracle用户下,输入sqlplus / as sysdba

SQL>shutdown immediate;


查询指定表空间大小

select a.tablespace_name "tablespace",


round(a.bytes_alloc/1024/1024,2) "all(M)",


round((a.bytes_alloc-nvl(b.bytes_free,0))/1024/1024,2) "used(M)",


round(nvl(b.bytes_free,0)/1024/1024,2) "free(M)",


100-round((nvl(b.bytes_free,0)/a.bytes_alloc)*100,2) "used(%)",


round((nvl(b.bytes_free,0)/a.bytes_alloc)*100,2) "free(%)"


from (select f.tablespace_name,sum(f.bytes) bytes_alloc from dba_data_files f group by tablespace_name) a,


(select f.tablespace_name,sum(f.bytes) bytes_free from dba_free_space f group by tablespace_name) b


where a.tablespace_name = b.tablespace_name;



启动数据库过程介绍

shutdown当前状态(数据库不可用,不能执行除startup外的SQL命令) 可做操作(通过操作系统命令复制数据库)


nomount 当前状态(读取了参数文件,启动了数据库实例) 可做操作(恢复控制文件)


mount 当前状态(在nomount的基础上加载了控制文件) 可做操作(恢复数据库文件,启动归档模式,冷备份)


open 当前状态 (在mount的基础上加载了数据文件) 可做操作(通常状态,可以读取和写入数据)


如何启动跟关闭归档模式

检查数据库是否启用归档日志模式

SQL> archive log list;

启用归档日志模式

SQL> alter database archivelog;


ALTER SYSTEM set log_archive_dest_1='LOCATION=/arch' scope=spfile;


控制文件的作用?

控制文件,是一个二进制文件,是数据库的非常关键、非常重要的文件。它知道数据文件、重做日志的存放位置,数据库最新的状态点(CheckPoint),归档日志文件信息、备份信息等。

查询控制文件的位置的SQL命令:

SQL> show parameter control_files; 或者 SQL> select name from v$controlfile;



rman备份与恢复的命令?

run{

allocate channel ch00 type disk format '/disk1/bk_%s_%p_%t';

backup database plus archivelog;

backup current controlfile;

release channel ch00;

}

恢复控制文件

run{

allocate channel ch00 type disk;

restore controlfile from '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/0gpo886i_1_1';

release channel ch00;

}

恢复数据文件

run{

allocate channel ch00 type disk format '/disk1/bk_%s_%p_%t';

restore database;

recover database;

release channel ch00;

}


如何创建pfile文件跟spfile文件?

SQL>create pfile=‘/opt/oracle/product/db/dbs/initoradb.ora’ from spfile;

SQL>create spfile=‘/opt/oracle/product/db/dbs/spfileoradb.ora’ from pfile='/opt/oracle/product/db/dbs/initoradb.ora';


查看数据文件的信息


SQL> set linesize 160

SQL> col name format a50

SQL> select file#,name from v$datafile;


使用duplicate在线备份

在备库创建/opt/oracle/gen_stb.rcv

/opt/oracle> more gen_stb.rcv

run

{

allocate channel prmy1 type disk;

allocate channel prmy2 type disk;

allocate auxiliary channel stby1 type disk;

allocate auxiliary channel stby2 type disk;

allocate auxiliary channel stby3 type disk;

duplicate target database for standby from active database nofilenamecheck;

}


使用oracle用户在备库执行

nohup rman target sys/@ auxiliary sys/@ cmdfile=/opt/oracle/gen_stb.rcv log=/opt/oracle/gen_stb.log &


创建表空间

ASM

create tablespace ring datafile '+DG_DATA/ring_data01' size 8000m extent management local segment space management auto;


文件系统

create tablespace usdp datafile '/opt/oracle/oradata/usdp_data01' size 5000m extent management local segment space management auto;


裸设备

root用户输入vgs 查看剩余空间

cd /dev/vg_data

查看LV编号ls

创建LV

lvcreate -L 8008 -n ring_data12 /dev/vg_data

挂载裸设备

执行脚本raw.sh,该脚本一般放在/opt/oracle目录下

./raw.sh

执行脚本linkraw_oracle.sh,具体目录看raw.sh脚本,一般在/opt/VRTSvcs/bin/vg或者/etc/init.d/

sh linkraw_oracle.sh start

create tablespace usdp datafile '/dev/vg_data/rring_data12' size 5000m extent management local segment space management auto;


删除表空间

drop tablespace RING_DATA including contents and datafiles;



修改表空间


ASM

alter tablespace ring add datafile '+DG_INDEX/oradb/ring_data03' size 16000m;


修改sys/ststem的密码

alter user system identified by "password_123";





#route add default gw 192.168.0.1

添加192.168.0.1默认路由(即网关)


EXPDP、IMPDP导入导出数据方法

create directory PDAMDA as 'D:\oradata';

grant read,write on directory PDAMDA to PDAMDA;


expdp PDAMDA/atmopdamda DIRECTORY=PDAMDA DUMPFILE=PDAMDA.dmp SCHEMAS=PDAMDA logfile=PDAMDAexpdp.log


create directory imput as 'D:\Oracle\BACKUP\IMPDP';

grant read,write on directory imput to MMPD;


impdp MMPD/atmommpd DIRECTORY=imput DUMPFILE=MMPD.dmp logfile=IMPUT_MMPD.log


参数remap_schema

remap_schema=expdp时的用户: 将要 impdp的用户

注意有两个用户中间有个冒号


EXP、IMP导入导出数据方法

imp rbt/rbt file=RBTLMEG21.dmp commit=y touser=rbt fromuser=R_ZT_LMEG21B021 buffer=102400 log = d1.log


exp rbt2/password_123 rows=y file=china_rbt.dmp log = rbt2.log


 1. 查看主机名

# hostname

2. 查看CPU个数和位数

查看CPU个数可以用top,也可以:

# cat /proc/cpuinfo | grep processor

查看CPU位数

# uname -m

3. 查看物理内存

# cat /proc/meminfo | grep MemTotal

4. 查看SWAP

# cat /proc/swaps


查看表空间数据文件状态

select file_id,file_name,status,online_status from dba_data_files;



创建rac数据库的DBLINK

-- Create database link

create database link RBTMC

connect to c67_usdp identified by Huawei_123

using '(DESCRIPTION =

(FAILOVER = ON)

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.137.19.134)(PORT = 1526))

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.137.19.225)(PORT = 1526))

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.137.19.234)(PORT = 1526))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = service_drora)

)

)';


 dataguard数据库角色转换

primary执行

alter database commit to switchover to physical standby with session shutdown;


shutdown immediate;


startup mount;


alter database set standby database to maximize Performance;


alter database open;


stanby执行

alter database commit to switchover to PRIMARY with session shutdown;


alter database set standby database to maximize Performance;


alter database open;


alter database recover managed standby database using current logfile disconnect from session;



DataGuard常用命令



查看数据库的状态 SQL> select status from v$instance;


查看数据库的打开模式 SQL> select open_mode from v$database;

查看数据库参数配置 SQL> show parameter parname 其中parname是按参数名前缀模糊匹配的。例如:SQL> show parameter DB_NAME

检查TNS是否能正常连接 % tnsping tnsname 例如:% tnsping droradg01

启动/检查/停止监听服务 % lsnrctl start/status/stop listenername

设置snapshot相关的数据库参数。

SQL> alter system set db_recovery_file_dest_size=10g;

alter system set db_recovery_file_dest="/oracle/snapshot";

“/oracle/snapshot”的属主为“oracle”、属组为“oinstall”、权限为“750”。

启用Real Time Apply [TW(1] SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

查看Real Time Apply是否启用 SQL> select RECOVERY_启用归档日志模式

关闭数据库:SQL> shutdown immediate;

启动到mount模式:SQL> startup mount;

启动归档模式:SQL> alter database archivelog;

设置归档日志路径:SQL> alter system set log_archive_dest_1='location=/oracle/arch' scope=both;

启动数据库到open状态:SQL> alter database open; 修改归档模式或设置归档日志路径,需要重启数据库。


关闭归档日志模式

关闭数据库:SQL> shutdown immediate;

启动到mount模式:SQL> startup mount;

设置非归档模式:SQL> alter database noarchivelog;

启动数据库到open状态:SQL> alter database open;

修改归档模式需要重启数据库。

手工切换日志[TW(2]  SQL> alter system switch logfile;

创建standby redo日志 SQL> alter database add standby logfile thread 1 group 20 '/dev/vx/rdsk/vgora/rlv_stdredo1' size 1000M; 无

查看standby redo日志大小

SQL> select GROUP#,THREAD#,BYTES/1024/1024 from V$STANDBY_LOG; 无

删除redo日志或standby redo日志

SQL> alter database drop logfile group 21; 无

查看redo日志大小

SQL> select GROUP#,BYTES/1024/1024 from v$log; 无

检查redo日志或standby redo日志对应的数据文件


SQL> select GROUP#,TYPE,MEMBER from v$logfile; 无

查看spfile的路径 SQL> show parameter spfile; 无

备份spfile文件到本地 SQL> create pfile='pfilename' from spfile='spfilename'; 例如:SQL> create pfile='?/dbs/initora01.ora.bak' from spfile='/dev/vx/rdsk/vgora/lv_spfile';

查看DG空闲空间 SQL> select name,free_mb from v$asm_diskgroup; 无E from v$archive_Dest_status; 正常情况下输出应为:RECOVERY_MODE ----------------------- MANAGED REAL TIME APPLY IDLE IDLE IDLE IDLE IDLE

停用Real Time Apply SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

查询MRP0进程状态 SQL> SELECT PROCESS, STATUS, THREAD#, SEQUENCE#, BLOCK# FROM V$MANAGED_STANDBY where PROCESS='MRP0' or PROCESS='RFS'; 在备用数据库执行


磁盘命令

1. 查看磁盘

l 收集所有磁盘基本信息

# lsscsi

l 查看具体磁盘大小

# fdisk -l /dev/diskname

2. 初始化PV

# pvcreate-f /dev/diskname

3. 创建VG

# vgcreate-s pesize vg_name /dev/diskname

4. 扩展VG

# vgextend/dev/vg_name /dev/diskname1 /dev/diskname2

5. 删除VG

l 卸载文件系统

l 先删除VG中所有的lv

l 去激活VG

# vgchange -a n /dev/vg_name

l 删除VG

# vgremove /dev/vg_name

6.激活VG

# vgchange -a y vg_name

7.去激活VG

# vgchange -a n vg_name

8.创建LV

l 指定LE数量(LV大小为100个LE)

# lvcreate -l 100 -n Name/dev/vg_name

l 指定大小(LV大小为100M)

# lvcreate -L 100 -n Name /dev/vg_name

9. 扩展LV

l 指定LE数量(LV扩展100个LE)

# lvextend -l 100 /dev/vg_name/lv_name

l 指定大小(LV扩展100M)

# lvextend -L 100 /dev/vg_name/lv_name

10. 删除LV

# lvremove/dev/vg_name/lv_name

11. 创建文件系统

l 创建文件系统

# mkfs.ext3 /dev/vg_name/lv_name

l 创建文件系统挂载的目录

# mkdir /fsname

l 挂载文件系统

# mount /dev/vg_name/lv_name /fsname

l 卸载文件系统

# umount /fsname




Dataguard基线备份的RMAN脚本

 vi bak_cmdfile

在文件中增加如下内容:

Run

 {

allocate channel t1 type disk; CROSSCHECK ARCHIVELOG ALL;

backup as compressed backupset full database format '/oracle/backup/dbback_%s_%p_%T_%d'; sql 'alter system archive log current';

backup current controlfile format '/oracle/backup/prycontrolfile';

 backup current controlfile for standby format '/oracle/backup/stbcontrolfile';

release CHANNEL t1;

}

中,“/oracle/backup”为数据库备份目录。该目录必须已存在,且属主应为oracle,权限至少为700。


% rman target / nocatalog cmdfile=bak_cmdfile

tar -cvf dgbackup.tar /oracle/backup/*

tar -xvf dgbackup.tar


 vi restore_cmdfile

在文件中增加如下内容:

run {restore standby controlfile from '/oracle/backup/stbcontrolfile';alter database mount;catalog start with '/oracle/backup/' NOPROMPT;restore database;}

其中,“/oracle/backup”为数据库恢复目录。该目录必须已存在,且属主应为oracle,权限至少为700。


恢复数据库。


% rman target / nocatalog cmdfile=restore_cmdfile




连接数据库并设置数据库角色。


% sqlplus / as sysdba

SQL> ALTER DATABASE OPEN READ ONLY;

SQL> alter database recover managed standby database using current logfile disconnect from session;


 ALTER SYSTEM SET asm_diskstring='/dev/diskgroup/' SCOPE=MEMORY;


登入rman,delete 过期的归档文件

oracle@orarac1 /home/oracle$ rman target /


Recovery Manager: Release 11.2.0.3.0 - Production on Tue Oct 27 11:07:56 2015

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

connected to target database: ORARAC (DBID=1488840336)


RMAN> crosscheck archivelog all;


RMAN> list expired archivelog all;


RMAN> delete expired archivelog all;


RMAN> y


RMAN> exit


删除审计日志的定时任务

编辑定时任务脚本

crontab -e

30 * * * * su - oracle -c "find \$ORACLE_BASE/admin/\$ORACLE_SID/adump/ -name *.aud -exec rm -rf {} \;"



 防止数据库的归档日志过度占用/home/oracle/archive目录,导致磁盘空间占满,触发问题。

定时任务中查看到如下命令:

500,3,6,9,12,15,18,21 * * * su - oracle -c/opt/oracle/app/product/11g/db/oracle-log-delete/bin/arch_clear.sh>/dev/null 2>&1

即为正常部署。

其工作原理即是:

当log_archive_dest_1中配置的路径磁盘空间占用超过80%执行

run

{

allocate channel t1 type disk;

crosscheck archivelog all;

delete force noprompt expired archivelogall;

release CHANNEL t1;

}

如果执行上述命令之后,log_archive_dest_1中配置的路径磁盘空间占用仍然超过80%,那么执行

run {

allocate channel t1 type disk;

crosscheck archivelog all;

delete force noprompt archivelog all;

release CHANNEL t1;

}



 【Oracle如何修改】

哪些参数可以用AlterSystem修改

alter system 命令可以用来修改数据库的初始化参数。

具体哪些参数可以修改,可以从v$parameter动态性能视图中的列ISSYS_MODIFIABLE中确定

例如:select* from v$parameter whereISSYS_MODIFIABLE='IMMEDIATE'; -->表示可以直接修改并立即生效的;


--------------------------------------------------------------------------------

■ altersystem的语法

alter system 参数名 = 参数值 [ COMMENT 'text' ][ DEFERRED ][ SCOPE = {MEMORY | SPFILE | BOTH } ][ SID = { 'sid' | * } ]

1)comment 'text'表示要修改的参数的注释。

2)deferred 表示修改的参数应用到以后连接的session

3)scope={ MEMORY | SPFILE | BOTH }

表示所作的修改应用到哪里,内存,spfile文件,或是内存和spfile都修改.

4)SID = { 'sid' | * }

如果选择sid,那么表示修改的是某个session的参数。这个参数只是在真实应用集群环境下有效。

如果要修改所有sid的参数,设置sid='*'

如果要修改某个sid的参数,设置sid='sid',sid是指定的要修改的session的sid.



SCOPE的详细含义

SCOPE的设定取值有如下三种:

1. SCOPE = SPFILE

既适用于动态初始化参数的修改,也使用与静态初始化参数的修改。也是静态参数唯一可以使用的方式。

对参数的修改仅记录在服务器初始化参数文件中,更改将在下次DB启动时生效。


2. SCOPE = MEMORY

只适用于动态初始化参数的修改。静态参数不允许。

对参数的修改仅在内存上,立即生效,但重启后将不再有效,因为并没有写入到初始化参数文件。

DB重启后这个修改会丢失,参数复原为修改前的参数值。


3. SCOPE = BOTH

只适用于动态初始化参数的修改。静态参数不允许。

对参数的修改同时既写入到初始化参数文件,也在内存上修改,立即生效。


注意:

1. 在修改静态初始化参数时,我们只能指定scope=spfile;

2. 在修改动态初始化参数时,我们可以指定 deferred 关键字来对所做的修改延迟到新的session产生时生效。


对于ALTERSYSTEM的参数修改命令,请注意以下几点:

1)如果当前实例使用的是pfile而非spfile,则scope=spfile或scope=both会产生错误;

2)如果实例以pfile启动,则scope的默认值为MEMORY, 若以spfile启动,则默认值为BOTH;


参数如何重置恢复默认值

#1.改sga大小,指定注释:

alter system set sga_max_size=6272Mcomment='internally adjusted' scope=spfile;


写入SPFILE信息如下:

sga_max_size=6272M # internally adjusted


#2.重置参数,也就是把参数回收,从spfile中删除:把sga_max_size参数从spfile中删除:

alter system reset sga_max_size;


关闭回收站特性

步骤1 以oracle用户登录操作系统。

步骤2 登录数据库。

$ sqlplus '/ as sysdba'

步骤3 清理回收站所有内容。

SQL> purge dba_recyclebin;

步骤4 关闭回收站。

SQL> alter system set recyclebin=offscope=spfile;

步骤5 关闭数据库。

SQL> shutdown immediate;

步骤6 重新启动数据库。

SQL> startup;

2. 采用move的办法整理表空间碎片

可以用下面的语句查询出使用这个表空间的表,然后把表move下。

select table_name,tablespace_name fromuser_all_tables where tablespace_name='TBS_ODS_CAMEROON_CAMTEL';

alter table T_O_CBS_MGRBILL_MID move ;

注意:进行move操作的时候DML操作将不能进行,请在业务低峰期后执行


 可以使用srvctl(service control tool)工具管理CRS的各类资源。



srvctl工具可以操作如下CRS资源:Database,Instance,ASM,Service,Listener和Node Application,其中Node application又包括GSD,ONS,VIP。这些资源除了使用srvctl工具统一管理外,某些资源还有自己独立的管理工具,



ASM磁盘相关操作

在操作系统中设置节点对应的ASM实例后再使用sqlplus语句或asmcmd的命令管理ASM。

操作步骤

步骤 1 登录操作系统。

以grid用户登录Oracle 11G R2。

步骤 2 建立并扩充Disk Group。


创建ASM磁盘组前需首先规划要创建的磁盘组的冗余度,ASM磁盘组的冗余度有:normal(2重镜像),high(3重镜像),external(不做镜像),对于在储存阵列上映射过来的raid盘建ASM磁盘组通常使用外部冗余方式。

例如,建立外部冗余的磁盘组。

$ sqlplus/ as sysasm

SQL> create diskgroup dg_name external redundancydisk '/dev/diskgroup/dg_data' ATTRIBUTE'compatible.asm'='11.2.0.0.0','au_size'='1M';

为磁盘组增加一个裸盘。

SQL> alter diskgroup dg_name add disk '/dev/diskgroup/dg_data_extend';

从磁盘组中删除某个磁盘。

SQL> alter diskgroup dg_name drop disk disk_name;

其中,“db_name”为磁盘组名称,“disk_name”为磁盘组中磁盘的名称。

步骤 3 挂载Disk Group。

SQL> alter diskgroup dg_name mount;

步骤 4 卸载Disk Group。

SQL> alter diskgroup dg_name dismount;

 步骤 1 删除Disk Group。

在节点上删除磁盘组时,磁盘组状态应该为“MOUNT”。

SQL> drop diskgroup dg_name [including contents];

如果磁盘组状态为“DISMOUNT”,可强制删除。

SQL> drop diskgroup dg_name force including contents;

步骤 2 重新设置磁盘大小。

SQL> alter diskgroup dg_name resize all size 19085M;

如果磁盘组中有多个磁盘,每个磁盘大小不同,则设置磁盘大小时需要指定磁盘。

SQL> alter diskgroup dg_name resize disk disk_name size 19085M;

步骤 3 查询ASM磁盘信息。

通过查询v$asm_diskgroup、v$asm_disk可以获得ASM磁盘组、ASM磁盘的空间大小、状态等等信息。

例如,查询ASM磁盘组信息:

SQL> select name,state,type,total_mb,free_mb from v$asm_diskgroup;

步骤 4 使用ASMCD的命令查看或管理ASM。

进入ASMCD模式后执行help命令可获取命令帮助。

ASMCMD> help

系统返回类似如下信息:

asmcmd [-v] [-a

] [-p] [command]

Type "help [command]"to get help on a specific ASMCMD command.


设置Oracle初始化参数

1.Oracle初始化参数我们只需关注两种

l 动态参数,可以用altersystem命令修改,修改后立即生效;

l 静态参数,可以用altersystem..scope=spfile修改,修改后必须重新启动实例才能够生效;

2.查看初始化参数的类型

SQL> select name, value, issys_modifiable from v$parameter;

l 如果issys_modifiable为immediate说明是动态参数;

l 如果issys_modifiable为false说明是静态参数;

3.SPFILE的备份

彩铃要求统一使用SPFILE,因此在修改初始化参数前应对SPFILE进行一次备份。

l 查看Oracle是否使用SPFILE启动:

SQL> show parameter spfile

--如结果为空,则说明使用的不是SPFILE,而是PFILE!

l 备份SPFILE(SYSDBA登陆):

SQL> create pfile='/home/oracle/spfile.bak' from spfile;

--路径和文件名可更改,但不要放在$ORACLE_HOME/dbs(Windows为database目录)下面。

4.修改初始化参数

修改初始化参数必须用AS SYSDBA身份登陆数据库。

l 动态参数

SQL> alter system set job_queue_processes=20;

l 静态参数

SQL> alter system set session_cached_cursors=50scope=spfile;

修改完毕,重新启动实例使之生效。


设置数据库内存大小

memory_max_target 物理内存的60% 静态参数;单位字节

memory_target 物理内存的60% 动态参数;单位字节

sga_target 物理内存的50% 动态参数;单位字节

db_cache_size 物理内存的40% 动态参数;单位字节

pga_aggregate_target 物理内存的8% 动态参数;单位字节

shared_pool_size 物理内存的5% 动态参数;单位字节

undo_retention 5400 动态参数;单位秒,回滚信息的保留时间。


 设置操作系统的共享内存大小

【检查操作系统共享内存大小】

# df -k| grep shm

Filesystem 1K-blocks UsedAvailable Use% Mounted on

shm 16777216 1131136 15646080 7% /dev/shm

/dev/shm必须设置为物理内存大小。

如物理内存为16G的机器,/dev/shm的文件系统大小为16G,则表示已经正确设置。否则需要重新设置。

【卸载/dev/shm文件系统】

# umount /dev/shm

注意: 如果提示“device is busy”则需要停止数据库。

【挂载/dev/shm文件系统】

# mount -t tmpfs shmfs -o size=16g /dev/shm

修改文件/etc/fstab,追加以下内容

shm /dev/shm tmpfs size=16g 0 0



有归档日志,无备份文件恢复方法


  SVRMGR> startup mount

  SVRMGR> alter database create datafile 'c:\test.ora';

  SVRMGR> set autorecovery on

  SVRMGR> recover datafile 'c:\test.ora';

SVRMGR> alter database open;


设置linux下oracle开机启动

在默认中,Linux下 Oracle数据库是不会开机自启动的,但是很多时候我们需要数据库开机自启动,因此需要进行设置,设置方法如下:

1、修改/etc/oratab文件

# vi /etc/oratab

找到orcl:/u01/app/oracle:N这一行,把N改成Y

orcl:/u01/app/oracle:Y

2、修改/etc/rc.local

# vi /etc/rc.local

#添加下面两行

su - oracle -c 'lsnrctl start'

su - oracle -c 'dbstart'


3、使用oracle用户vi $ORACLE_HOME/bin/dbstart

找到ORACLE_HOME_LISTNER=$1

将$1修改为$ORACLE_HOME/network/admin

4、开机后查看状态

sql> select status from v$instance;

你可能感兴趣的:(oracle 常用命令)