oracle 常用管理命令
环境变量
1 | export ORACLE_HOME=/opt/oracle/product/11.2.0/dbhome_1 |
进入管理员
su oracle
sqlplus / as sysdba
密码有效期
查看指定概要文件(如default)的密码有效期设置:
sql> SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
将密码有效期由默认的180天修改成“无限制”:
sql> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
用户管理
创建用户
简单创建用户
sql> create user 用户名大写 identified by 密码;
创建用户指定表空间和临时空间
请结合 创建表空间 看
create user 用户名大写 identified by 密码
default tablespace 空间名称
temporary tablespace 临时空间名称;
授权
sql> grant connect, resource, dba to 用户名大写;
sql> grant create view to 用户名大写;
删除数据文件
sql> alter database datafile 'c:\database\oradata\orcl\cdbwklw.dbf' offline drop;
删除用户
sql> drop user 用户名 cascade
删除表空间和数据文件
sql> DROP TABLESPACE 表空间名称 INCLUDING CONTENTS AND DATAFILES;
空间管理
oracle空间管理文档https://docs.oracle.com/cd/B28359_01/server.111/b28310/tspaces.htm#i1010516
创建临时空间
1 | create temporary tablespace TEMP_YCDBA |
创建表空间
默认空间最大32G
超过需要使用BIGFILE
1 | create BIGFILE tablespace 空间名称 |
导入导出
导出权限:EXP_FULL_DATABASE
导入权限:IMP_FULL_DATABASE
导出
将数据库zxcc完全导出,用户名user 密码passwd 导出到D:\zxcc.dmp中
本机导出:
exp user/passwd@service_name file=d:\zxcc.dmp full=y
导出其它机器上的数据库:
exp user/password@host:port/service_name file=d:\zxcc.dmp full=y
full=y 表示全库导出。full总共有2个可选项yes(y)/no(n),缺省情况下full=no,这时只会将该用户下的对象导出。
导入
imp user/passwd@service_name file=... FULL=Y
imp user/password@host:port/service_name file=... FULL=Y
导入更换用户空间, 需要DBA权限imp user/password@host:port/service_name file=... fromuser=%s touser=%s
连接管理
查看会话SELECT * from v$SESSION
归档
打开归档
归档日志查看
sql> archive log list;
关闭Oracle实例
sql> shutdown immediate;
将Oracle节点启动到 mount状态
sql> startup nomount;
ORACLE instance started.
Total System Global Area 281018368 bytes
Fixed Size 1267044 bytes
Variable Size 113248924 bytes
Database Buffers 163577856 bytes
Redo Buffers 2924544 bytes
sql> alter database mount;
Database altered.
修改归档模式
sql> alter database archivelog;
Database altered.
并将数据库置于open状态
sql> alter database open;
Database altered.
指定归档目标
sql> alter system set LOG_ARCHIVE_DEST_1=’LOCATION=/archive’;
System altered.
归档日志定时删除
需要在数据库机器上运行
dellog.log
1 | connect target 用户名/密码 |
windows 使用计划任务
dellog.bat
1 | rman cmdfile=E:\delete_archive_log\dellog.txt > log.log |
linux 使用crontab
dellog.sh
1 | rman cmdfile=/delete_archive_log/dellog.txt > log.log |
自动启动
vim /etc/oratab
orcl:/opt/oracle/product/11.2.0/dbhome_1:Y
vim /etc/init.d/dbora 添加以下内容
1 | #!/bin/sh |
授权chmod 777 /etc/init.d/dbora
配置启动chkconfig dbora on
测试service dbora restart