C/C++教程

Oracle 12c 数据库常见操作

本文主要是介绍Oracle 12c 数据库常见操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Ø  简介

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

1.   基本操作

2.   配置监听

3.   设置开机自启动

4.   创建数据库对象

 

1.   基本操作

1)   连接数据库

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

# 如果连接出现以下:

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

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

clip_image002

 

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     #编辑配置文件

clip_image004

#ping 监听(成功返回OK)

tnsping devzxsm

clip_image006

 

3.   设置开机自启动

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

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

clip_image008

clip_image010

 

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

clip_image011

 

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

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

vi $ORACLE_HOME/bin/dbshut

clip_image012

 

2)   编辑 /etc/oratab 文件

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

clip_image013

 

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 中的快捷方式,已源文件为准。

clip_image015

 

# 检查创建结果

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

clip_image017

 

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

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.   创建数据库对象

1)   查看当前实例名

SQL> show parameter instance_name;

instance_name               string devzxsm

 

2)   查看当前用户

SQL> show user

USER is "SYS"

 

3)   创建表空间

create tablespace zxsm01 datafile '/opt/oracle/app/oracle/oradata/devzxsm/zxsm01.dbf' size 128m;

 

4)   创建用户(data)

create user data identified by data123 default tablespace zxsm01;

grant dba to data;  #不建议直接授权dba

 

5)   切换用户登录

SQL> conn data/data123@devzxsm;

SQL> show user;

USER is "DATA"

SQL> conn / as sysdba;

SQL> show user;

USER is "SYS"

 

6)   写入测试数据

[oracle@abeam150 admin]$ sqlplus "data/data123@devzxsm"

SQL> create table table01(id number(2) primary key, name varchar2(100));

SQL> insert into table01 values(1, '你想咋咋');

SQL> commit;

SQL> select * from table01;

clip_image019

 

这篇关于Oracle 12c 数据库常见操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!