# ********************************
# * dba_oracle_awr.sh
# ********************************
# Usage: dba_oracle_awr.sh -s [instance_name]
# -f [from time]
# -t [to time]
# -p [report type, html or text]
# -h [oracle home]
# -n [tns admin]
#
# time format: 'yyyymmddhh24miss'.
# E.g means ::00pm, Mar ,
#
#
# **********************
# get parameters
# **********************
while getopts ":i:s:" opt
do
case $opt in
i) instance=$OPTARG
;;
s) schemaName=$OPTARG
;;
'?') echo "$0: invalid option -$OPTARG">&
exit
;;
esac
done oracle_home=$ORACLE_HOME
if [ "$instance" = "" ]
then
echo "instance name(-i) needed"
echo "program exiting..."
exit
fi
if [ "$schemaName" = "" ]
then
echo "report_name name (-s} needed"
echo "program exiting..."
exit
fi sqlplus="${oracle_home}/bin/sqlplus"
echo $sqlplus
echo "start imp dmp--------------------------------------------" # *******************************
# get begin and end snapshot ID
# *******************************
lock_user()
{
echo "lock user: $schemaName ................" sqlplus -S /nolog<<EOF
conn / as sysdba
set term off
ALTER USER $schemaName ACCOUNT LOCK;
EOF
} restart_db()
{
echo "restart DB ................" sqlplus -S /nolog<<EOF
conn / as sysdba
set term off
shutdown immediate;
startup;
EOF
} create_kill_proc()
{
echo "create kill proc ................"
sqlplus -S /nolog<<EOF
conn / as sysdba
CREATE OR REPLACE PROCEDURE DBA_KILL_SCHEMANAME_SESSION(SCHEMA_NAME VARCHAR2) AS
s VARCHAR2();
BEGIN
FOR CUR IN (select s.SID, s.SERIAL#
from v\$session s
where username = SCHEMA_NAME) LOOP
dbms_output.put_line('ALTER SYSTEM KILL SESSION ''' || CUR.SID || ',' || CUR.SERIAL# || '''');
s := 'ALTER SYSTEM KILL SESSION ''' || CUR.SID || ',' || CUR.SERIAL# || '''';
EXECUTE IMMEDIATE S;
END LOOP;
END;
/
EOF
} exec_kill_proc()
{
echo "kill session ................" sqlplus -S /nolog<<EOF
conn / as sysdba
exec DBA_KILL_SCHEMANAME_SESSION('$schemaName');
EOF
} lock_user()
{
echo "lock user ................" sqlplus -S /nolog<<EOF
conn / as sysdba
ALTER USER $schemaName ACCOUNT LOCK;
EOF
} unlock_user()
{
echo "unlock user ................" sqlplus -S /nolog<<EOF
conn / as sysdba
ALTER USER $schemaName ACCOUNT UNLOCK;
EOF
} del_user()
{
echo "drop user: $schemaName ................" sqlplus -S /nolog<<EOF
conn / as sysdba
set term off
DROP USER $schemaName CASCADE;
EOF
}
# *******************************
# generate AWR report
# *******************************
create_user()
{
echo "create user: $schemaName ................" sqlplus -S /nolog<<EOF
conn / as sysdba
set term off
CREATE USER $schemaName
IDENTIFIED BY VALUES '$schemaName'
DEFAULT TABLESPACE TRADE
TEMPORARY TABLESPACE TEMP
PROFILE DEFAULT
ACCOUNT UNLOCK;
GRANT CONNECT TO $schemaName;
GRANT IMP_FULL_DATABASE TO $schemaName;
GRANT PLUSTRACE TO $schemaName;
GRANT RESOURCE TO $schemaName;
ALTER USER $schemaName DEFAULT ROLE ALL;
GRANT ADVISOR TO $schemaName;
GRANT UNLIMITED TABLESPACE TO $schemaName;
GRANT EXECUTE ON SYS.DBMS_FGA TO $schemaName;
GRANT READ, WRITE ON DIRECTORY SYS.MY_EXPDP_DUMP TO $schemaName;
EOF
} # *******************************
# main routing
# *******************************
change_pwd()
{
echo "change passwd................"
sqlplus -S /nolog<<EOF
conn / as sysdba
set term off
alter user $schemaName identified by howbuy_qa_qwerVBNM;
EOF
} #restart_db lock_user
#create_kill_proc
exec_kill_proc
del_user
create_user
change_pwd

保存为imp.sh

调用

./imp.sh  -i ORCL -s ${toUser}_${dataBase}

(必须大写,因为数据库会话名称都是大写)

oracle杀用户建用户改密码脚本的更多相关文章

  1. 在Oracle SQLplus下建用户 建表

    在建表之前最好新建一个用户,因为在sys用户下的表格不允许删除列, 所以最好不要在sys用户下建表. 一.在Oracle SQLplus下建用户: 1.以dba身份登陆SQLplus: [oracle ...

  2. Oracle 数据库登录、用户解锁、改密码、创建用户授权操作

    一.数据库登录1.常用账户: 管理员: sys主要练习操作用户: scott2.测试环境是否配置成功: 1.命令窗口 win+R -> cmd(以管理员身份运行) - > sqlplus ...

  3. oracle中将自建用户下的所有表删除

    select 'drop table '||table_name||' ;' from user_tables;select 'drop sequence '||sequence_name||' ;' ...

  4. Oracle登陆及修改用户密码

    16:20 2013/7/7 Oracle 登陆 管理员登陆 sqlplus sys/root as sysdba (密码认证)这个root是安装数据库最初你输入的口令 sqlplus     /as ...

  5. 使用Oracle的PROFILE对用户资源限制和密码限制

    转至:https://blog.csdn.net/zhuomingwang/article/details/6444240?utm_medium=distribute.pc_relevant.none ...

  6. SQL中迁移sql用户及密码脚本

    SQL中迁移sql用户及密码脚本   编写人:CC阿爸 2014-6-20 在日常SQL数据库的操作中,常常需要迁移数据库或重装服务器,这时候,一些之前建立的login账户,必须重新建立,以下可以通过 ...

  7. 在linux下修改oracle的sys和system的密码和用户解锁

    修改oracle的sys和system的密码和用户解锁 1.再linux系统上sqlplus '/as sysdba' 进入sqlplus后就可以修改sys和system的密码了 2.alter us ...

  8. oracle默认的hr用户使用脚本安装

    1 解压到%ORACLE_HOME%/demo/schema/human_resources/目录下 2 在sys或system用户下运行hr_main.sql脚本(运行命令:@%ORACLE_HOM ...

  9. oracle 建表空间->创建用户并把表空间分配给用户->给用户授权->导库

    首先注意:我参考网上使用的sysdba模式(normal)登陆的,其他的模式建不了用户(个人没有进行其他模式的表空间尝试,如有人尝试欢迎补充,感激不尽) 表空间相当于表的容器(一下所有的操作都适用于o ...

随机推荐

  1. Ubuntu上安装Karma失败对策

    在Ubuntu上安装Karma遇到超时 timeout 错误.Google了一下,国外的码农给了一个快捷的解决方案,实测可行,贴在这里: sudo apt-get install npm nodejs ...

  2. 深度学习笔记(六)finetune

    转自Caffe fine-tuning 微调网络 一般来说我们自己需要做的方向,比如在一些特定的领域的识别分类中,我们很难拿到大量的数据.因为像在ImageNet上毕竟是一个千万级的图像数据库,通常我 ...

  3. 命名空间“System.Web”中不存在类型或命名空间名称“Optimization”(是否缺少程序集引用?)

    今天,在.net4.5,mvc4下新建了个区域,运行起来就报这个错误: 命名空间"System.Web"中不存在类型或命名空间名称"Optimization"( ...

  4. 在Swift项目中使用cocoaPods导入第三方OC库

    首先保证你的项目是基于cocoaPods的,并且是通过XX.xcworkspace打开的.cocoaPods安装教程(Xcode6以上) 下面就第三方库MBProgressHUD来讲解如何在Swift ...

  5. 《30天自制操作系统》19_day_学习笔记

    harib16a: 这一部分,我们在系统中实现读取文件内容的命令type.在windows中,输入“type 文件名”,在Linux中,输入“cat 文件名”都可以显示文件的内容.我们先来看看如何读取 ...

  6. Could not find a getter for id in class 的异常

    检查.hbm.xml里边的id是否大小写一致

  7. Leetcode: Ones and Zeroes

    In the computer world, use restricted resource you have to generate maximum benefit is what we alway ...

  8. Leetcode: Valid Word Abbreviation

    Given a non-empty string s and an abbreviation abbr, return whether the string matches with the give ...

  9. jsp作为服务端,ajax请求回应

    刚学ajax,想以jsp作为服务端,来回应ajax的请求: 代码如下: <!DOCTYPE html> <html> <head lang="en"& ...

  10. 对IOC和DI以及AOP的理解

    为了理解Spring的IoC与DI从网上查了很多资料,作为初学者,下面的描述应该是最详细,最易理解的方式了. 首先想说说IoC(Inversion of Control,控制倒转).这是spring的 ...