oracle杀用户建用户改密码脚本

# ********************************
# * 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 20110304170000 means 05:00:00pm, Mar 04, 2011
#
#
# **********************
# get parameters
# **********************
while getopts ":i:s:" opt
do
case $opt in
i) instance=$OPTARG
;;
s) schemaName=$OPTARG
;;
‘?‘) echo "$0: invalid option -$OPTARG">&2
exit 1
;;
esac
done

oracle_home=$ORACLE_HOME
if [ "$instance" = "" ]
then
echo "instance name(-i) needed"
echo "program exiting..."
exit 1
fi
if [ "$schemaName" = "" ]
then
echo "report_name name (-s} needed"
echo "program exiting..."
exit 1
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(1000);
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}

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

时间: 2024-08-15 01:30:07

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

跳板机定期改密码脚本

很早写的,最近别人问过一次,贴出来吧. #!/bin/bash # source /etc/profile &>/dev/null basedir=$(cd `dirname $0`;pwd) nowmonth=`date +%m` nowday=`date +%d` email="$basedir/email/sendemail.sh" function GaiMiMa() { user="$1" passwd=$(/usr/bin/mkpasswd

mysql数据库装包改密码脚本

#####################数据库装包改密码####################### #!/bin/bashfirewall-cmd --set-default-zone=trustedsetenforce 0#tar -xf mysql-5.7.17-1.el7.x86_64.rpm-bundle.tarrm -rf mysql-community-server-minimal-5.7.17-1.el7.x86_64.rpm yum -y install perl-Data

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

一.数据库登录1.常用账户: 管理员: sys主要练习操作用户: scott2.测试环境是否配置成功: 1.命令窗口 win+R -> cmd(以管理员身份运行) - > sqlplus ->输入用户名与密码 用户名:sys 口令: 自己设置的密码 as sysdba(as sysdba 是给它管理员权限),(输入密码时看不见的) 2.或找到 下面的文件夹,打开SQL Plus 二.一些基本操作切换用户登陆命令: 重新登录scott用户,并指定登录的数据库名称 conn scott/ 密

07_编写脚本:提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码。如果用户不输入账户名,则提示必须输入账户名并退出脚本;如果用户不输入密码,则统一使用默认的 123456 作为默认密码。

#!/bin/bashread -p "请输入用户名: " user#使用-z 可以判断一个变量是否为空,如果为空,提示用户必须输入账户名,并退出脚本,退出码为 2#没有输入用户名脚本退出后,使用$?查看的返回码为 2if [ -z $user ];then echo "您必需输入账户名" exit 2fi #使用 stty -echo 关闭 shell 的回显功能#使用 stty echo 打开 shell 的回显功能stty -echoread -p "

oracle对表进行增删查改的操作,以及对用户的一些简单的操作

1.验证数据库是否已经成功安装 select status from v$instance    status会显示open 2.如何oracle数据库中退回到操作系统中 exit 3.登录oracle数据库一共有两种认证方式 操作系统认证:在默认情况下,如果在本机服务器登录oracle数据库,可以使用操作系统认证,不用输入数据库用户名及密码 用户密码认证:如果是远程链接数据库,则需要使用数据库用户名.密码进行认证 4.如何访问oracle数据库企业级管理器(OEM) 在IE浏览器中输入安装数据

Oracle登陆及修改用户密码

16:20 2013/7/7 Oracle 登陆 管理员登陆 sqlplus sys/root as sysdba (密码认证)这个root是安装数据库最初你输入的口令 sqlplus     /as  sysdba (主机认证 要求系统用户就是DBA用户) 普通登陆 sqlplus scott/tiger(如果密码没有修改就是tiger)tiger是安装最后一步我们解锁的scott账户密码随便一般就用tiger 解锁改密码只有以系统管理员身份才能改 解锁 alter user scott ac

ORACLE基本SQL语句-用户及建表篇

一.用户相关SQL语句 /*新建用户*/create user SA identified by 2013; 说明:SA用户名,2013密码 /*授权connect,resource给用户sa*/grant connect,resource to sa; 说明:CONNECT角色: --是授予最终用户的典型权利,最基本的 . ESOURCE 角色: --是授予开发人员的 /*查询所有的用户*/select * from all_users; /*将表STU查询权限授予SA*/GRANT SELE

企业实战脚本案例2:批量创建用户并设置初始密码

批量创建用户并设置初始密码 目录: 1.脚本功能介绍 2.脚本制作技术需求 2.1 useradd命令 2.2 id命令 2.3 passwd命令 2.4 随机密码 2.5 while循环+case+select 3.脚本编写案例 一.脚本功能介绍 在企业中生产或运维中,经常会遇到VPN服务器.企业网盘.企业邮箱.云桌面私有账号等等一系列的服务器.当批量新员工入职时,经常需要批量账号分配给新员工,若此类账号存储在数据库时,管理员可根据公司账号命名规范通过专有图形化系统进行录入账号,若账号存储在系

Shell脚本批量创建用户并随机生成密码

要求:批量创建10个系统账号oldboy01-oldboy10,并设置生成密码(密码不同). 实现脚本: #!/bin/bash #Question3 for i in $(seq -w 10) do         useradd -s /bin/bash oldboy$i         echo "password$i" | md5sum | tee -a passwd.txt | passwd --stdin  oldboy$i done 脚本执行效果: [[email pro