Oracle数据库基本常用命令汇总

Oracle数据库基本常用命令汇总,第1张

以下是对Oracle中的数据库基本常用命令进行了总结介绍 需要的朋友可以过来参考下  

得到数据库名和创建日期 SELECT name created log_mode open_mode FROM v$database;

ORACLE数据库的计算机的主机名 ORACLE数据库的实例名及ORACLE数据库管理系统的版本信息 SELECT host_name instance_name version FROM v$instance;

为了知道oracle数据库版本的一些特殊信息 select from v$version;

获取控制文件名字 select from v$controlfile;

得到Oracle数据库的重做日志配置信息 SELECT group# members bytes status archived FROM v$log; select GROUP# MEMBER from v$logfile;

获取oracle的每个重做日志(成员)文件所存放的具 置 select from v$logfile;

知道ORACLE数据库的备份和恢复策略和归档文件的具 置 archive log list

知道ORACLE数据库中到底有多少表空间以及每个表空间的状态 select tablespace_name block_size status contents logging from dba_tablespaces; select tablespace_name status from dba_tablespaces;

知道每个表空间存在哪个磁盘上以及文件的名字等信息 SELECT file_id file_name tablespace_name status bytes from dba_data_files; select file_name tablespace_name from dba_data_files;

知道Oracle数据库系统上到底有多少用户和都是什么时候创建的 select username created from dba_users; select username DEFAULT_TABLESPACE from dba_users;

从控制文件中取出信息涉及到以下一些相关的命令

复制代码 代码如下: select from v$archived select from v$archived_log select from v$backup select from v$database select from v$datafile select from v$log select from v$logfile select from v$loghist select from v$tablespace select from v$tempfile

控制文件由两大部份组成 可重用的部份和不可重用的部分 可重用的部分的大小可用 CONTROL_FILE_RECORD_KEEP_TIME 参数来控制 该参数的默认值为 天 即可重用的部份的内容保留 天 一周之后这部份的内容可能被覆盖 可重用的部份是供恢复管理器来使用的 这部份的内容 可以自动扩展 Oracle数据库管理员可以使用CREAT DATABASE或 CREAT CONTROLFILE语句中的下列关键字(参数)来间接影响不可重用的部份的大小

复制代码 代码如下: MAXDATAFILES MAXINSTANCES MAXLOGFILES MAXLOGHISTORY MAXLOGMEMBERS

查看控制文件的配置 SELECT type record_size records_total records_used  FROM v$controlfile_record_section;

如果您的显示被分成了两部分 您需要使用类似于set pagesize 的SQLPlus命令先格式化输出 有关的格式化输出命令有以下这些 record_size   为每个记录的字节数 records_total 为该段所分配的记录个数 records_used 为该段所使用的记录个数

知道控制文件中的所有数据文件(DATAFILE) 表空间(TABLESPACE) 和重做日志(REDO LOG)所使用的记录情况 SELECT type record_size records_total records_used FROM  v$controlfile_record_section WHERE type IN ( ‘DATAFILE ‘TABLESPACE ‘REDO LOG );

获取控制文件名字 select value from v$parameter where name = control_files ; 或者 select from v$controlfile

如何在一个已经安装的Oracle数据库中添加或移动控制文件呢 以下是在一个已经安装的Oracle数据库中添加或移动控制文件的具体步骤

a 利用数据字典v$controlfile来获取现有控制文件名字

b 正常关闭Oracle数据库

c 将新的控制文件名添加到参数文件的CONTROL_FILES参数中

d 使用 *** 作系统的复制命令将现有控制文件复制到指定位置

e 重新启动Oracle数据库

f 利用数据字典v$controlfile来验证新的控制文件名字是否正确

g 如果有误重做上述 *** 作 如果无误删除无用的旧控制文件

注 如果您使用了服务器初始化参数文件(SPFILE) 您不能关闭Oracle数据库而且应该在第 步使用alter system set control_files的Oracle命令来改变控制文件的位置

复制代码 代码如下: SQL> alter system set control_files = ‘D:\Disk \CONTROL CTL ‘D:\Disk \CONTROL CTL ‘D:\Disk \CONTROL CTL SCOPE=SPFILE;

由于控制文件是一个极其种要的文件 除了以上所说的将控制文件的多个副本存在不同的硬盘上的保护措施外 在数据库的结构变化之后 您应立即对控制文件进行备份 可以用Oracle命令来对控制文件进行备份 alter database backup controlfile to ‘D:\backup\control bak ;

您也可将备份到一个追踪文件中 该追踪文件包含有重建控制文件所需的SQL语句 可使用以下SQL语句来产生这一追踪文件 alter database backup controlfile to trace;

lishixinzhi/Article/program/Oracle/201311/19116

从Oracle10g开始,Oracle极大的增强了OEM工具,并通过服务器端进行EM工具全面展现。
在10g中,客户端可以不必安装任何Oracle客户端工具,仅凭浏览器就可以调用强大的EM工具。
在Server端,可以通过如下命令启动EM工具控制台:
emctl start dbconsole
以下是启动过程:
[oracle@danaly ~]$ emctl start dbconsole
TZ set to PRC
Oracle Enterprise Manager 10g Database Control Release 102010
Copyright (c) 1996, 2005 Oracle Corporation All rights reserved
Starting Oracle Enterprise Manager 10g Database Control started
------------------------------------------------------------------
Logs are generated in directory /opt/oracle/product/1020/cn_danaly/sysman/log
启动之后我们就可以通过在浏览器端输入以下url访问:
同样停止OEM可以输入如下命令:
emctl stop dbconsole
以下是停止过程:
[oracle@danaly ~]$ emctl stop dbconsole
TZ set to PRC
Oracle Enterprise Manager 10g Database Control Release 102010
Copyright (c) 1996, 2005 Oracle Corporation All rights reserved
Stopping Oracle Enterprise Manager 10g Database ControlStopped
也可以直接键入emctl查看emctl支持的选项:
[oracle@danaly ~]$ emctl
TZ set to PRC
Oracle Enterprise Manager 10g Database Control Release 102010
Copyright (c) 1996, 2005 Oracle Corporation All rights reserved
Invalid arguments
Unknown command option
Usage::
Oracle Enterprise Manager 10g Database Control commands:
emctl start| stop| status| setpasswd dbconsole
emctl secure
emctl set ssl test|off|on em
emctl set ldap
emctl blackout options can be listed by typing "emctl blackout"
emctl config options can be listed by typing "emctl config"
emctl secure options can be listed by typing "emctl secure"
emctl ilint options can be listed by typing "emctl ilint"
emctl deploy options can be listed by typing "emctl deploy"

一、把Oracle服务改为手动
1
打开“服务”窗口。或者“管理”窗口
小技巧 在运行窗口输入servicesmsc 或者 在我的电脑上右单击打开管理窗口。
2
找到Oracle服务。
小技巧 直接按键盘上的字母o,可以快速定位到以O开始的服务。
一般我们打开Oraclserver和listener这两个服务就可使用Oracle数据库了,其他的Oracle服务可以关闭,不用启动。
3
双击该服务,在d出窗口把服务改为手动。
下次电脑启动时,Oracle服务就不会启动了。
注Oracle数据库默认安装时设置的内存值占用:40%。4G的内存,Oracle要占去40%,所以要是不用Oracle数据库的话,最好关闭。这样可以让电脑腾出更多的内存空间,让其他程序运行更快点。
END
二、创建启动、关闭 Oracle服务的批处理
1
新建启动批处理文件。
文件名:startOracleServerbat
文件内容:
net start OracleServiceORCL
net start OracleOraDb11g_home1TNSListener
2
新建关闭批处理文件。
文件名:stopOracleServerbat
文件内容:
net stop OracleOraDb11g_home1TNSListener
net stop OracleServiceORCL
3
附录:
net start 和 net stop 用法
net start 服务名
例如上面的 “OracleServiceORCL”
net stop 服务名
例如:net stop OracleServiceORCL
小技巧
服务名不区分大小写
这里的服务名是Oracle的安装服务名称。(如图所示)
如果要暂停批处理使用:pause
如果添加注释使用:rem 注释内容
我是用的批出文件的颜色:color 0a
END
三、启动或关闭 Oracle服务
1
双击对应的批处理文件
用到的时候启动,不用的时候关闭。再也不用担心我那可怜的的内存。
2
建议把批处理文件放到快速启动软件中。
例如我就放到了AltRun这个款软件中。启动时很方便。Alt+R ,回车太帅了……

从Oracle g开始 Oracle极大的增强了OEM工具 并通过服务器端进行EM工具全面展现 在 g中 客户端可以不必安装任何Oracle客户端工具 仅凭浏览器就可以调用强大的EM工具 在Server端 可以通过如下命令启动EM工具控制台:emctl start dbconsole以下是启动过程:[oracle@d y ~]$ emctl start dbconsoleTZ set to PRCOracle Enterprise Manager g Database Control Release Copyright (c) Oracle CorporationAll rights reserved Starting Oracle Enterprise Manager g Database Control started Logs are generated in directory /opt/oracle/product/ / cn_d y/sy an/log启动之后我们就可以通过在浏览器端输入以下url访问: 同样停止OEM可以输入如下命令:emctl stop dbconsole以下是停止过程:[oracle@d y ~]$ emctl stop dbconsoleTZ set to PRCOracle Enterprise Manager g Database Control Release Copyright (c) Oracle CorporationAll rights reserved Stopping Oracle Enterprise Manager g Database ControlStopped 也可以直接键入emctl查看emctl支持的选项:[oracle@d y ~]$ emctlTZ set to PRCOracle Enterprise Manager g Database Control Release Copyright (c) Oracle CorporationAll rights reserved Invalid argumentsUnknown mand optionUsage::Oracle Enterprise Manager g Database Control mands:emctl start| stop| status| setpasswd dbconsoleemctl secureemctl set ssl test|off|on ememctl set ldapemctl blackout options can be listed by typing emctl blackout emctl config options can be listed by typing emctl config emctl secure options can be listed by typing emctl secure emctl ilint options can be listed by typing emctl ilint emctl deploy options can be listed by typing emctl deploy lishixinzhi/Article/program/Oracle/201311/16595

手动启动:
用 oracle用户登录(或su - oracle)
lsnrctl start
sqlplus / as sysdba
startup
exit
自动启动,要编写一个启动脚本,用root用户拷到/etc/initd下,取名叫oracle
然后, chkconfig oracle on,即可加入服务列表
/etc/initd/oracle start #启动
/etc/initd/oracle stop #停止
脚本的示例(里面的变量要按实际情况修改):
#!/bin/bash
#
# chkconfig: 345 99 01
# description: This is a program that is responsible for taking care of
# configuring the Oracle Database 11g Stardard/Enterprise Edition and its associated
# services
#
# Source fuction library
if [ -f /lib/lsb/init-functions ]
then
/lib/lsb/init-functions
elif [ -f /etc/initd/functions ]
then
/etc/initd/functions
fi
# Set path if path not set (if called from /etc/rc)
case $PATH in
"") PATH=/bin:/usr/bin:/sbin:/etc
export PATH ;;
esac
# Save LD_LIBRARY_PATH
SAVE_LLP=$LD_LIBRARY_PATH
RETVAL=0
ORACLE_OWNER=oracle
ORACLE_OWNER_HOME=/opt/oracle
ORACLE_BASE=$ORACLE_OWNER_HOME/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/1120/dbhome_1
ORACLE_SID=orcl
ORACLE_UNQNAME=$ORACLE_SID
LSNR=$ORACLE_HOME/bin/lsnrctl
SQLPLUS=$ORACLE_HOME/bin/sqlplus
STARTDB_SQL=$(mktemp /tmp/startXXXXXX)
echo -e "startup;\nquit;\n" > $STRTDB_SQL
STOPDB_SQL=$(mktemp /tmp/stopXXXXXX)
echo -e "shutdown immediate;\nquit;\n" > $STOPDB_SQL
SU=/bin/su
export ORACLE_HOME
export ORACLE_SID
export PATH=$ORACLE_HOME/bin:$PATH
LOG="$ORACLE_HOME_LISTNER/listenerlog"
export LC_ALL=C
if [ $(id -u) != "0" ]
then
echo "You must be root to run the configure script Login as root and then run the
configure script"
exit 1
fi
if [ -f /etc/redhat-release ]
then
/etc/initd/functions
init_status()
{
return 0
}
exit_status()
{
exit $
}
success_status()
{
success
echo
}
failure_status()
{
failure $
echo
}
elif [ -f /etc/SuSE-release ]
then
/etc/rcstatus
init_status()
{
rc_reset
}
success_status()
{
echo "OK"
return 0
}
failure_status()
{
echo "Failed"
return 1
}
exit_status()
{
exit $
}
else
if [ -d /etc/default ]
then
CONFIGURATION="/etc/default/$CONFIG_NAME"
fi
init_status()
{
return 0
}
success_status()
{
echo "OK"
return 0
}
failure_status()
{
echo "Failed"
return 0
}
exit_status()
{
exit $
}
fi
init_status
start() {
status=`ps -ef | grep tns | grep oracle`
if [ "$status" == "" ]
then
if [ -f $ORACLE_HOME/bin/tnslsnr ]
then
echo "Starting Oracle Net Listener"
$SU -s /bin/bash $ORACLE_OWNER -c "$LSNR start" # > /dev/null 2>&1
fi
fi
echo "Starting Oracle Database 11g Instance"
$SU -s /bin/bash $ORACLE_OWNER -c "$SQLPLUS -s /nolog @${STARTDB_SQL}" # > /dev/null 2>&1
RETVAL=$
if [ $RETVAL -eq 0 ]
then
echo
else
echo Failed to start Oracle Net Listener using $ORACLE_HOME/bin/tnslsnr\
and Oracle Database using $ORACLE_HOME/bin/sqlplus
RETVAL=1
return $RETVAL
fi

}
startconsole() {
$SU -s /bin/bash $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole &" # > /dev/null 2>&1
RETVAL=$
return $RETVAL
}
stop() {
# Stop Oracle 11g Database and Listener
$SU -s /bin/bash $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole &" # > /dev/null 2>&1
echo Shutting down Oracle Database 11g Instance
$SU -s /bin/bash $ORACLE_OWNER -c "$SQLPLUS -s /nolog @${STOPDB_SQL}" # > /dev/null 2>&1
echo Stopping Oracle Net Listener
$SU -s /bin/bash $ORACLE_OWNER -c "$LSNR stop" # > /dev/null 2>&1
RETVAL=$
echo
if [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$LSNR
then
return $RETVAL
fi
}
stopconsole() {
# Stop Oracle 11g Database and Listener
$SU -s /bin/bash $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole &" # > /dev/null 2>&1
RETVAL=$
return $RETVAL
}
# See how we were called
case "$1" in
start)
start
;;
startconsole)
startconsole
;;
stop)
stop
;;
stopconsole)
stopconsole
;;
restart|reload|force-reload)
stop
start
RETVAL=$
;;
)
echo $"Usage: $0 {start|stop|restart|reload|force-reload}"
exit 1
esac

su - oracle
sqlplus /nolog
connect /as sysdba

详细步骤:

oracle数据库是目前最流行的服务器数据库之一,能够事项分布式处理功能,那么Linux服务器要如何启动oracle数据库呢?下面小编就给大家介绍下Linux使用命令启动oracle数据库的步骤,一起来了解下吧。

首先使用oracle用户登录Linux,然后在shell命令行中执行下面的命令:

第一步:打开Oracle监听

$ lsnrctl start

第二步:进入sqlplus

$ sqlplus /nolog

SQL》

第三步:使用sysdab角色登录sqlplus

SQL》 conn /as sysdba

第四步:启动数据库

SQL》 startup

运行sqlplus的步骤
同时按住”win“(一般在ctrl键和alt键中间)+”r“(字母键)
输入”cmd“,之後按回车(enter)
在命令行输入”sqlplus“,进入oracle的sqlplus,输入数据库的用户名和密码进行登录 *** 作
oracle的sqlplus是与oracle进行交互的客户端工具,借助sqlplus可以查看、修改数据库记录。在sqlplus中,可以运行sqlplus命令与sql语句。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10330741.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存