geofox

Apuntes Corto 29

Apr 28th, 2012
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 10.95 KB | None | 0 0
  1. DESC DBA_PROFILES  /* todos los perfiles de la BD´s */
  2.  
  3. DESC DBA_ROLES /* todos los roles del sistema */
  4.  
  5. DESC DBA_USERS /* informacion de todos los usuarios de la base de datos */
  6.  
  7. DESC DBA_ROLE_PRIVS /* roles asignados a un usuario en concreto */
  8.  
  9. DESC DBA_TAB_PRIVS /* */
  10.  
  11. DESC DBA_SYS_PRIVS /* Informacion de los roles y privilegios del sistema del usuario activo */
  12.  
  13. conectandose como system: sqlplus system/oracle:
  14. creando usuario y tablespace por defecto USER y asignando quota:
  15.  
  16.  CREATE USER ADMINISTRADOR IDENTIFIED BY ADMIN DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP
  17. QUOTA 500K ON USERS;
  18.  
  19. /* INFORMACION DEL USUARIO */
  20.  
  21. SELECT USERNAME FROM DBA_USERS WHERE USERNAME='ADMINISTRADOR';
  22.  
  23. Averiguar qué privilegios de sistema, roles y privilegios sobre objetos tiene
  24.  concedidos el usuario
  25.  
  26.  SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE='ADMINISTRADOR';
  27.  
  28.  SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE='ADMINISTRADOR';
  29.  
  30.  SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='ADMINISTRADOR';
  31.  
  32. Otorgar privilegio "CREATE SESSION" a un usuario
  33. GRANT CREATE SESSION TO ADMINISTRADOR;
  34.  
  35. Conectarse como system y otorgar privilegio CREATE USER
  36. grant CREATE USER TO administrador;
  37.  
  38. averiguar que usuarios tienen asignado el privilegio CREATE USER de forma directa
  39.  
  40. DESC dba_sys_privs
  41.  
  42. SELECT * FROM dba_sys_privs WHERE privilege='CREATE USER';
  43.  
  44.  que usuarios tienen el privilegio CREATE session
  45.  SELECT * FROM dba_sys_privs WHERE privilege='CREATE SESSION';
  46.  
  47.  Crear tablespace academo con las siguientes caracteristicas:
  48.  tamaño inicial : 1M
  49.  Autoextensible : Si
  50.  Extensión     : 200k
  51.  Tamaño Maximo  : 1400k
  52.  /* Parametro de almacenamiento */
  53.  Initial 16k
  54.  Next 16k
  55.  Minextents 1
  56.  Maxextens 3
  57.  /*  */
  58. CREATE tablespace academo datafile 'C:\app\oracle\oradata\CURSO01\academo01.dbf' size 1M
  59. autoextend ON next 200k maxsize 1400k
  60. DEFAULT storage (initial 16k next 16k
  61. minextents 1 maxextents 3);
  62.  
  63. crear tablespace nomina con las siguientes caracteristicas:
  64.  tamaño inicial : 1M
  65.  Autoextensible : Si
  66.  Extensión     : 100k
  67.  Tamaño Maximo  : 1500k
  68.  /* Parametro de almacenamiento */
  69.  Initial 16k
  70.  Next 16k
  71.  Minextents 1
  72.  Maxextens 3
  73.  /*  */
  74.  
  75. CREATE tablespace nomina datafile 'C:\app\oracle\oradata\CURSO01\nomina01.dbf' size 1M
  76. autoextend ON next 100k maxsize 1500k
  77. DEFAULT storage (initial 16k next 16k
  78. minextents 1 maxextents 3);
  79.  
  80. Creando tablespace temporales para manejarlos de forma local
  81.  
  82. TEMP_ACADEMO :
  83. Tamaño Inicial 500
  84. Autoextensible Si
  85. Extension 50k
  86. Tamaño Maximo 600k
  87.  
  88. CREATE  temporary tablespace temp_academo tempfile 'C:\app\oracle\oradata\CURSO01\temp_academo01.dbf' size 500k
  89. autoextend ON next 50k maxsize 600k
  90. extent management local uniform size 100k;
  91.  
  92. TEMP_NOMINA :
  93. Tamaño Inicial 600k
  94. Autoextensible Si
  95. Extension 50k
  96. Tamaño Maximo 700k
  97.  
  98. CREATE  temporary tablespace temp_nomina tempfile 'C:\app\oracle\oradata\CURSO01\temp_nomina01.dbf' size 600k
  99. autoextend ON next 50k maxsize 700k
  100. extent management local uniform size 100k;
  101.  
  102. En el usuario administrador no se pueden crear roles por falta de privilegios
  103.  
  104. Comprobar en el diccionario de
  105. datos los usuarios o roles que poseen el privilegio “CREATE ROLE”.
  106.  
  107. SELECT * FROM dba_sys_privs WHERE privilege='CREATE ROLE';
  108.  
  109. crear rol "ADMIN" asignar privilegios CREATE SESSION, CREATE USER Y CREATE ROLE
  110. asignarlo al usuario administrador
  111.  
  112. CREATE role admin;
  113.  
  114. grant CREATE session TO admin;
  115.  
  116. SQL> c.session.USER.
  117. 1* grant CREATE USER TO admin
  118. SQL> r
  119. 1* grant CREATE USER TO admin
  120.  
  121. SQL> c.USER.role.
  122. 1* grant CREATE role TO admin
  123. SQL> r
  124. 1* grant CREATE role TO admin
  125.  
  126. grant admin TO administrador;
  127.  
  128. Consultar privilegios de sistema que tiene asignados de forma directa el usuario "administrador"
  129. revocarlos y asignarle el rol "admin"
  130.  
  131. SELECT * FROM dba_sys_privs WHERE grantee='ADMINISTRADOR';
  132.  
  133. revoke CREATE session FROM administrador;
  134.  
  135. SQL> c.session USER.
  136. 1- revoke CREATE USER FROM administrador
  137.  
  138. SQL> r
  139. 1* revoke CREATE USER FROM administrador
  140.  
  141. SQL> grant admin TO administrador;
  142.  
  143. crear usuario SIN tablespace por defecto ni temporal
  144. CREATE USER prueba01 identified BY prueba01;
  145.  
  146. Consultas vistas correspondientes a tablespace y la quota
  147. en los usuarios SYS,SYSTEM,administrador,prueba00 y prueba01
  148.  
  149. SELECT SUBSTR(username,1,15) usuario, DEFAULT_TABLESPACE,
  150. TEMPORARY_TABLESPACE FROM dba_users WHERE username IN('SYS','SYSTEM','ADMINISTRADOR','PRUEBA00','PRUEBA01');
  151.  
  152. SELECT SUBSTR(username,1,15) usuario,tablespace_name,max_bytes
  153. FROM dba_ts_quotas WHERE username IN('SYS','SYSTEM','ADMINISTRADOR','PRUEBA00','PRUEBA01');
  154.  
  155. crear usuario llamado prueba02 autenticado por base de datos y asigar tablespace por defecto
  156. nomina y tablespace temporal temp_nomina(no se le asignara cuota en nomina)
  157.  
  158. CREATE USER prueba02 identified BY prueba02
  159. DEFAULT tablespace nomina
  160. temporary tablespace temp_nomina;
  161.  
  162. asignar al usuario prueba01 los tablespace academo y temp_academo como tablespace de trabajo
  163. y temporal respectivamente (SIN especificar cuota).
  164.  
  165. ALTER USER prueba01 temporary tablespace temp_academo;
  166.  
  167. ALTER USER prueba01 DEFAULT tablespace academo;
  168.  
  169. consultar las vistas correspondientes a los tablespace y la cuota en cada uno de llos
  170. que tienen los usuarios "prueba01" y "prueba02".
  171.  
  172. SELECT * FROM dba_ts_quotas WHERE username IN ('PRUEBA01','PRUEBA02');
  173.  
  174. crear rol llamado conexion y asignar permiso "CREATE SESSION"
  175.  
  176. CREATE role conexion;
  177.  
  178. grant CREATE session TO conexion;
  179.  
  180. asignar el rol conexion a los usuarios "prueba00", "prueba01" y "prueba02"
  181.  
  182. grant conexion TO prueba00,prueba01,prueba02;
  183.  
  184. comprobar en la vista correspondienite cuales son los roles asignados alos usuarios
  185. "prueba00","prueba01" y "prueba02"
  186.  
  187. SELECT * FROM dba_role_privs WHERE grantee IN('PRUEBA00','PRUEBA01','PRUEBA02');
  188.  
  189. conectarse como prueba 01 y crear la tabla en el tablespace academo:
  190. CREATE TABLE CODIGOS(
  191. CODIGO VARCHAR2(3),
  192. DESCRIPCION VARCHAR2(20))
  193. TABLESPACE ACADEMO
  194. STORAGE(INITIAL 64K
  195. NEXT 64K
  196. MINEXTENTS 5
  197. MAXEXTENTS 10);
  198.  
  199. crear rol llamado "DESARROLLO" y asignarle los permisos
  200. "CREATE SEQUENCE", "CREATE SESSION", "CREATE SYNONYM",
  201. "CREATE TABLE" Y "CREATE VIEW". Asignar el rol "DESAROLLO" a los usuarios
  202. "prueba00", "prueba01" y "prueba02".
  203.  
  204. CONNECT system
  205. oracle
  206.  
  207. CREATE role desarrollo;
  208. grant CREATE sequence,CREATE session,CREATE SYNONYM,CREATE TABLE,CREATE VIEW TO desarollo;
  209. grant desarrollo TO prueba00, prueba01,prueba02;
  210.  
  211. asignar cuota iliminata al usuario "prueba01" en el tablespace "academo"
  212. CONNECT system
  213. oracle
  214.  
  215. ALTER USER prueba01 quota unlimited ON academo;
  216.  
  217. asignar cuota ilimitada al usuario "prueba02" en el tablespace "nomina"
  218. ALTER USER prueba02 quota unlimited ON nomina;
  219.  
  220. Obtener información sobre roles, privilegios de sistema, "tablespace" y
  221. cuotas para los usuarios “prueba00”, “prueba01” y “prueba02”
  222.  
  223. SELECT * FROM dba_role_privs WHERE grantee IN ('PRUEBA00','PRUEBA01','PRUEBA02');
  224.  
  225. SELECT * FROM dba_sys_privs WHERE grantee IN ('PRUEBA00','PRUEBA01','PRUEBA02');
  226.  
  227. SELECT USERNAME,TABLESPACE_NAME,BYTES FROM dba_ts_quotas WHERE username IN
  228. ('PRUEBA00','PRUEBA01','PRUEBA02');
  229.  
  230. Asignar cuota creo en el tablespace por defecto para el usuario "prueba01"
  231.  
  232. ALTER USER prueba01 quota 0k ON academo;
  233. SELECT owner,table_name FROM dba_tables WHERE owner='PRUEBA01';
  234.  
  235. /* NOTA AUN SE MANTIENE LOS OBJETOS*/
  236.  
  237. CREATE TABLE CODIGOS2(
  238. CODIGO VARCHAR2(3),
  239. DESCRIPCION VARCHAR2(20))
  240. TABLESPACE ACADEMO
  241. STORAGE(INITIAL 64K
  242. NEXT 64K
  243. MINEXTENTS 5
  244. MAXEXTENTS 10);
  245.  
  246. conectarse como usuario prueba01 e intentar modificar su cuota en el tablespace
  247. ACADEMO
  248.  
  249. ALTER USER prueba01 quota unlimited ON academo; /* no es posible */
  250.  
  251. conectarse como usuario "prueba01" y modificar su clave
  252. ALTER USER prueba01 identified BY probando01; /*es posible */
  253.  
  254. averiguar que usuarios o roles de base de datos tienen asignado el privilegio
  255. ALTER USER
  256. CONNECT system
  257. oracle
  258. SELECT * FROM dba_sys_privs WHERE privilege='ALTER USER';
  259.  
  260. asignar el permiso DROP USER al rol ADMIN
  261. grant DROP USER TO admin;
  262.  
  263. Abrir una sesión con el usuario “administrador” y otra con el usuario “prueba02”. Siendo el usuario
  264. “administrador”, intentar borrar el usuario “prueba02”.
  265.  
  266. DROP USER prueba02;
  267.  
  268. /* no se pueden eliminar usuarios conectados actualmente */
  269.  
  270. averiguar que usuarios o roles tienen asignado el privilegio DROP USER
  271. SELECT * FROM dba_sys_privs WHERE privilege='DROP USER';
  272.  
  273. conectar como usuario "administrado" crear el usuario "prueba03" autentificado por
  274. base de datos y asignado cuotas en el tablespace "ACADEMO" (500k) Y "NOMINA" (200k)
  275. tablespace temporal sera temp
  276.  
  277. CREATE USER prueba03 identified BY prueba03
  278. DEFAULT tablespace academo
  279. temporary tablespace temp
  280. quota 500k ON academo
  281. quota 200k ON nomina
  282.  
  283. averiguar que usuarios de base de datos o que roles tienen asignado
  284. el privilegio "CREATE PROFILE"
  285.  
  286. SELECT * FROM dba_sys_privs WHERE privilege='CREATE PROFILE';
  287.  
  288. asignar el permiso "CREATE PROFILE" al rol ADMIN
  289. grant CREATE profile TO admin;
  290.  
  291. Averiguar que perfiles están definidos en la base de datos y
  292. que límites de recursos fija cada uno de ellos
  293.  
  294. SELECT SUBSTR(profile,1,12) perfil,SUBSTR(resource_name,1,25)recurso,
  295. resource_type,SUBSTR(limit,1,10) limite FROM dba_profiles ORDER BY profile,
  296. resource_name;
  297.  
  298. Consultar que perfiles tiene asignados cada usuario de la base de datos.
  299. SELECT username,profile FROM dba_users ORDER BY username;
  300.  
  301. Crear un perfil llamado “DESARROLLO” con las siguientes especificaciones:
  302. Sessions_per_user 2
  303. Cpu_per_session unlimited
  304. Cpu_per_call 6000
  305. Connect_time 480
  306. Idle_time 2
  307. Failed_login_attempts 2
  308. Password_life_time 120
  309.  
  310. CREATE profile desarrollo limit sessions_per_user 2 cpu_per_session
  311. unlimited cpu_per_call 6000 connect_time 480 idle_time 2 failed_login_attempts 2
  312. password_life_time 120;
  313.  
  314. asignar el perfil a los usuarios:
  315. ALTER USER prueba00 profile desarrollo;
  316. SQL>c.00.01
  317. 1* ALTER USER prueba01 profile desarrollo
  318. SQL>r
  319. 1* ALTER USER prueba01
  320.  
  321. ver cuentas de usuario bloqueadas
  322. SELECT username, lock_date FROM dba_users WHERE username LIKE 'PRUEBA%';
  323.  
  324. crear un usuario "prueba04" con el parametro "password expire" tablespace por defecto
  325. y temporal users (cuota 0k) y temp;
  326. asignar roles conexion y desarrollo, probar conectarse con el usuario
  327.  
  328. CREATE USER prueba04 identified BY prueba04
  329. DEFAULT tablespace users
  330. temporary tablespace temp
  331. quota 0k ON users
  332. password expire;
  333.  
  334. grant conexion, desarrollo TO prueba04;
  335.  
  336. bloquear la cuenta del usuario "prueba04"
  337. ALTER USER prueba04 account LOCK;
  338.  
  339. Modificar el "tablespace" por defecto y el temporal del usuario
  340. “prueba04” de forma que sean NOMINA y TEMP_NOMINA
  341.  
  342. ALTER USER prueba04 DEFAULT tablespace nomina;
  343. ALTER USER prueba04 temporary tablespace temp_nomina;
  344.  
  345. Cambia la identificación del usuario “prueba01” de forma que sea
  346. identificado por el sistema operativo
  347. ALTER USER prueba01 identified externally;
  348.  
  349. Desbloquear la cuenta del usuario “prueba04”.
  350. ALTER USER prueba04 account unlock;
  351.  
  352. hasta la pagina 22
Advertisement
Add Comment
Please, Sign In to add comment