好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Oracle 12c 数据库常见操作

简介

本文主要记录 Oracle 12c 日常的一些常见操作。包括以下内容:

1.    基本操作

2.    配置监听

3.    设置开机自启动

4.    创建数据库对象

 

1.    基本操作

1)    连接数据库

[oracle@abeam150 ~]$ sqlplus / as sysdba         # 不加引号

# 如果连接出现以下:

1.   检查 .bash_profile 文件中的数据库名是否正确;

2.   检查数据库是否启动;

 

2)    查看当前用户

SQL> show user;

USER is "SYS"

 

3)    查看日志路径

SQL> select * from v$diag_info;

1 Diag Trace

/opt/oracle/app/oracle/diag/rdbms/devzxsm/devzxsm/trace

[oracle@abeam150 ~]$ ls -lsa /opt/oracle/app/oracle/diag/rdbms/devzxsm/devzxsm/trace/al*

56 -rw-r-----. 1 oracle dba 54469 8 月   26 21:18 /opt/oracle/app/oracle/diag/rdbms/devzxsm/devzxsm/trace/alert_devzxsm.log     # 日志警告文件(主要关注 ORA 开头的报错信息)

 

4)    查看数据文件

SQL> select name from v$datafile;

/opt/oracle/app/oracle/oradata/devzxsm/system01.dbf

/opt/oracle/app/oracle/oradata/devzxsm/sysaux01.dbf

/opt/oracle/app/oracle/oradata/devzxsm/undotbs01.dbf

/opt/oracle/app/oracle/oradata/devzxsm/users01.dbf

 

5)    启动数据库

[oracle@abeam150 ~]$ sqlplus "/as sysdba"    # 加引号

SQL> startup;                               # 启动

SQL> exit;

[oracle@abeam150 ~]$ lsnrctl start           # 开启监听

[oracle@abeam150 ~]$ lsnrctl status          # 查看监听状态

 

6)    关闭数据库

SQL> shutdown immediate;                    # 需要一定时间

SQL> exit;

[oracle@abeam150 ~]$ lsnrctl stop            # 停止监听

 

2.    检查 / 配置监听

cd $ORACLE_HOME/network/admin

vi tnsnames.ora      # 编辑配置文件

#ping 监听(成功返回 OK )

tnsping devzxsm

 

3.    设置开机自启动

1)    修改 dbstart 、 dbshut 脚本,否则启动和停止 Oracle 数据库时会提示以下信息:

ORACLE_HOME_LISTNER is not SET, unable to auto-stop Oracle Net Listener

 

su - oracle     # 切换为 oracle 用户

修改 dbstart 脚本,将 ORACLE_HOME_LISTNER=$1 的 $1 改为 $ORACLE_HOME

cp $ORACLE_HOME/bin/dbstart $ORACLE_HOME/bin/dbstart.bak_20083001

vi $ORACLE_HOME/bin/dbstart

 

再修改 dbshut 脚本,将 ORACLE_HOME_LISTNER=$1 的 $1 改为 $ORACLE_HOME

cp $ORACLE_HOME/bin/dbshut $ORACLE_HOME/bin/dbshut.bak_20083001

vi $ORACLE_HOME/bin/dbshut

 

2)    编辑 /etc/oratab 文件

# vi /etc/oratab        # 将最后一位 N 改为 Y

 

3)    创建用于启动和停止 oracle 的脚本

su - root       # 切换为 oracle 用户

vi /etc/init.d/dbora     # 添加以下内容:

#! /bin/sh

# description: Oracle auto start-stop script.

#

# Set ORA_HOME to be equivalent to the $ORACLE_HOME

# from which you wish to execute dbstart and dbshut;

#

# Set ORA_OWNER to the user id of the owner of the

# Oracle database in ORACLE_HOME.

 

ORA_HOME=/opt/oracle/app/oracle/product/12.2.0/dbhome_1 # 注意:这里为实际的 oracle 安装路径

ORA_OWNER=oracle

 

case "$1" in

‘start‘)

    # Start the Oracle databases:

    # The following command assumes that the oracle login

    # will not prompt the user for any values

    # Remove "&" if you don‘t want startup as a background process.

    su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME" &

    touch /var/lock/subsys/dbora

    ;;

 

‘stop‘)

    # Stop the Oracle databases:

    # The following command assumes that the oracle login

    # will not prompt the user for any values

    su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME" &

    rm -f /var/lock/subsys/dbora

    ;;

esac

 

4)    修改脚本执行权限

chown oracle /etc/init.d/dbora   # 将所有者改为 oracle 用户

chmod 750 /etc/init.d/dbora      # 只有 oracle 用户和 root 组具备执行权限

 

5)    设置开机自启动

创建软链接文件,到三个运行级别的服务目录下:

ln -s /etc/init.d/dbora /etc/rc.d/rc0.d/K01dbora

ln -s /etc/init.d/dbora /etc/rc.d/rc3.d/S99dbora

ln -s /etc/init.d/dbora /etc/rc.d/rc5.d/S99dbora

说明:软件连接文件不用考虑权限,类似 Windows 中的快捷方式,已源文件为准。

 

# 检查创建结果

ll /etc/rc.d/rc0.d /etc/rc.d/rc3.d /etc/rc.d/rc5.d | grep ora

 

说明: 启动和日志可以分别在以下两个文件中查看:

tail -100 /opt/oracle/app/oracle/product/12.2.0/dbhome_1/startup.log

tail -100 /opt/oracle/app/oracle/product/12.2.0/dbhome_1/shutdown.log

 

4. 查看更多关于Oracle 12c 数据库常见操作的详细内容...

  阅读:39次