
正文
怎么创建oracle密码 oracle创建新用户密码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
oracle 怎么随机生成密码
第一步:在数据库中创建用来管理密码的表。
举例:生成Linux中oracle、grid用户随机密码
CREATE TABLE HOST_TAB (HOSTID NUMBER, HOSTNAME VARCHAR2(100), DESCRIPTION VARCHAR2(2000)); --创建业务系统列表
CREATE TABLE PASSWORD_TAB (HOSTID NUMBER,ORACLE_PASSWORD VARCHAR2(100),GRID_PASSWORD VARCHAR2(100),SHELL_TEXT VARCHAR2(100),CHANGE_DATE DATE) ;--创建密码维护表
第二步:创建可以随机生成密码的函数。
CREATE OR REPLACE FUNCTION random_password(password_num in varchar2)
RETURN VARCHAR2
PARALLEL_ENABLE is
optx char(1);
rng NUMBER;
n BINARY_INTEGER;
ccs VARCHAR2(128); -- candidate character subset
xstr VARCHAR2(4000);
BEGIN
FOR i IN 1 .. length(password_num) LOOP
/* Get random integer within specified range */
n := TRUNC(rng * dbms_random.value) + 1;
/* Append character to random_password2 */
xstr := xstr || SUBSTR(ccs, n, 1);
optx := SUBSTR(password_num, I, 1);
IF optx = 'u' THEN
-- upper case alpha characters only
ccs := 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
rng := 26;
ELSIF optx = 'l' THEN
-- lower case alpha characters only
ccs := 'abcdefghijklmnopqrstuvwxyz';
rng := 26;
ELSIF optx = 'a' THEN
-- alpha characters only (mixed case)
ccs := 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' || 'abcdefghijklmnopqrstuvwxyz';
rng := 52;
ELSIF optx = 'n' THEN
-- any numeric characters (upper)
ccs := '0123456789';
rng := 10;
ELSIF optx = 'x' THEN
-- any special characters (upper)
ccs := ' !"#$%()*+,-./:;=?@';
rng := 23;
ELSIF optx = 'p' THEN
-- any printable char (ASCII subset)
ccs := ' !"#$%''()*+,-./' || '0123456789' || ':;=?@' ||
'ABCDEFGHIJKLMNOPQRSTUVWXYZ' || '[\]^_`' ||
'abcdefghijklmnopqrstuvwxyz' || '{|}~';
rng := 95;
ELSE
ccs := 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
rng := 26; -- default to upper case
END IF;
END LOOP;
RETURN xstr;
END random_password;
第三步:使用存储过程来实现。并且创建数据库调度任务定期修改密码。
create or replace procedure change_passwords(host_name varchar2) as
cursor v_cur is
select t1.hostid from host_tab t1 where t1.hostname = lower(host_name);
begin
for v_i in v_cur loop
begin
insert into password_tab
(hostid, oracle_password, grid_password, shell_text, change_date)
values
(v_i.hostid,
'',
'',
'echo oracle:' || RANDOM_PASSWORD(‘ulaxpnlaxpnl’) ||
'|chpasswd echo grid:' || RANDOM_PASSWORD('ulaxpnlaxpnl') ||
'|chpasswd',
sysdate);
commit;
end;
end loop;
update password_tab t
set t.oracle_password = substr(t.shell_text, 13, 11),
t.grid_password = substr(t.shell_text, 47, 11);
commit;
end;
使用:
execute change_passwords(hostname=’test’); test 为host_tab 表中hostname。
select t2.hostname,
t2.description,
t1.oracle_password,
t1.grid_password,
t1.shell_text,
t1.change_date
from password_tab t1
left join host_tab t2
on t1.hostid = t2.hostid;
最后在root用户下执行shell_text中的命令。
也可以通过oracle 的dbms scheduler job 和 crontab来自动实现。
相关问答
Q1: 怎么给oracle新建账号密码
create user [username] identified by [password] 创建新的用户
grant 权限1、权限2...to 用户 给创建用户权限
ex:grant create session to [username] 此时只能连接到数据库
grant connect,resource to [username] 此时权限能满足要求
alter user [username] identified by [password] 修改用户密码
alter user [username] password expired 下次登录时提示修改密码
alter user [username] account lock 锁住用户
alter user [username] account unlock 解锁锁用户
grant select,delete on scott.emp to [username] 把scott下emp表的两个权限给用户
revoke select ,delete on scott.emo from [username] 回收权限
//创建用户并指定表空间
create user username identified by password
default tablespace user_data
temporary tablespace user_temp;
//给用户授予权限
grant connect,resource to username;
//以后以该用户登录怎么创建oracle密码,创建的任何数据库对象都属于user_temp 和user_data表空间,
这就不用在每创建一个对象给其指定表空间怎么创建oracle密码了
撤权怎么创建oracle密码:
revoke 权限... from 用户名;
删除用户命令
drop user user_name cascade;
在进行procedure执行的时候,用的是PL/SQL工具中的test,调试方法进行执行,因为有输入参数,但是报了个错:
“note:debugging requires the debug connect session system privilege”.
原因是用户权限不够,使用以下命令授予权限:
GRANT debug any procedure, debug connect session TO username
其实只需要授予debug connect session 就可以了,已经过测试。
Q2: 如何新建oracle用户名和密码
创建用户:
create user 用户名 identified by 密码;
中文处需要替换
然后还要赋权限,比如:给用户connect,resource,dba的权限
grant connect,resource,dba to 用户名;
Q3: 怎么在oracle中新增一个用户名密码
一般来说怎么创建oracle密码,oracle数据库安装后,里面有很多个默认账号和密码,比较常用怎么创建oracle密码的是:账号:scott 密码:tiger 账号:system 密码:manager 账号:sys 密码:任意字符。
当我们想创建一个账号时,可以使用sys登录sysdba后,创建用户(需要授权),代码如下
create user 用户名 identified by "密码";
授权:grant create session to 用户名;
grant create table to 用户名;
grant create tablespace to 用户名;
grant create view to 用户名;
我们一般使用的是用scott登录sysdba,这时候有可能出现账户未解锁的状态,这时候可以用
alter user scott account unlock;
来解锁账户。解锁之后可能会要求你改密码:可以用
alter user scott identified by tiger;
再登录
conn scott/tiger;
Q4: 如何创建一个oracle数据库用户名和密码
方法1
1
双击运行PLSQL Developer软件,连接oracle数据库服务器
PLSQL:[3]PLSQL怎么创建oracle数据库用户步骤阅读
PLSQL:[3]PLSQL怎么创建oracle数据库用户
2
在“对象”下,找到users,右击选择“新建”
PLSQL:[3]PLSQL怎么创建oracle数据库用户步骤阅读
3
在弹出的“创建用户”窗口中,输入新用户的名称、口令,默认表空间、临时表空间等
PLSQL:[3]PLSQL怎么创建oracle数据库用户
4
赋予新用户权限,赋予其角色权限:connect、resource,这样用户才能登录操作数据库
END
方法2
通过sql语句创建用户:依次单击“文件”--“新建”--“SQL窗口”
输入sql语句:
-- Create the user
create user USER2 --用户名 identified by user2 --口令 default tablespace USERS --默认表空间 temporary tablespace TEMP --临时表空间
单击执行按钮或按快捷键F8,执行sql语句,创建用户
输入sql语句:
-- Grant/Revoke role privileges grant connect to USER2;grant resource to USER2;
给用户赋予权限,按F8执行语句
运行plsql,输入新建用户的用户名和口令登录
关于怎么创建oracle密码和oracle创建新用户密码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






