oracle数据库js 在浏览器中执行可以生成创建表空间的语句
页面执行js:
/* 创建数据库命令生成 */
/* 由于使用了模板字符串,以下代码需要在支持 ES6 的浏览器中运行 */
/* 设置 */
var settings = {
/* 数据文件大小 */
dataFileSize: "1000M",
/* 用户名 */
user: "mt_ls",
/* 密码 */
password: "mt_ls",
/* 数据库实例路径 */
databasePath: "D:/app/Administrator/oradata/lsxorcl",
/* 导入文件名 */
empFile: "zzzd_test2.dmp",
}
/* 设置自动补全 */
settings = {
...settings,
/* 表空间名 */
getTableSpace: function () { return this.user + "_data" },
/* 数据文件夹名 */
getDataDirectoryName: function () { return this.user + "_data_dir" },
/* 数据文件夹路径 */
getDataDirectoryPath: function () { return this.databasePath + "\\exp" },
/* 导入文件路径 */
getEmpFile: function () { return "f:" + '\\' + this.empFile }
}
/* 创建数据库语句 */
var createStatement = `
-- 创建表空间
create tablespace ${settings.getTableSpace()} datafile '${settings.databasePath}\\data.dbf' size ${settings.dataFileSize};
-- 创建用户并绑定默认表空间
create user ${settings.user} identified by ${settings.password}
default tablespace ${settings.getTableSpace()};
-- 用户授权
grant connect,resource,
create any view,
create database link,
select any table,
create table,
update any table,
insert any table,
delete any table,
alter any table,
debug any procedure,
dba
to ${settings.user};
-- 用户角色
ALTER USER ${settings.user} DEFAULT ROLE "CONNECT";
ALTER USER ${settings.user} DEFAULT ROLE "RESOURCE";
ALTER USER ${settings.user} DEFAULT ROLE "DBA";
-- 数据文件夹授权
create directory ${settings.getDataDirectoryName()} as '${settings.getDataDirectoryPath()}';
grant CREATE ANY DIRECTORY to ${settings.user};
`
/* 引入命令(在 CommandLine 中运行,而非 SqlPlus) */
var importCommand = `
imp ${settings.user}/${settings.password}@localhost:1521/orcl file=${settings.getEmpFile()} full=y ignore=y
`
/* 删除语句 */
var deleteStatement = `
-- 删除用户
DROP user ${settings.user} cascade;
-- 删除表空间
DROP TABLESPACE ${settings.getTableSpace()} INCLUDING CONTENTS AND DATAFILES;
-- 删除数据文件夹
DROP DIRECTORY ${settings.getDataDirectoryName()};
`
function generateStatements (createStatement, importCommand, deleteStatement) {
/* 准备拼接 */
var Statements = [createStatement, importCommand, deleteStatement];
/* 空行分隔 */
var Statement = Statements.join("\n--------------------\n");
/* 复制到剪贴板 */
copy(Statement);
return Statement;
}
/* 提示 */
console.log("-- 创建数据库相关语句已复制到剪贴板中\n", generateStatements(createStatement, importCommand, deleteStatement));
执行步骤:
1、打开浏览器,F12
将上面的代码 复制到 console 中 按回车键会生成 创建oracle 表空间的语句
1 -- 创建表空间 2 create tablespace mt_ls_data datafile 'D:/app/Administrator/oradata/lsxorcl\data.dbf' size 1000M; 3 4 -- 创建用户并绑定默认表空间 5 create user mt_ls identified by mt_ls 6 default tablespace mt_ls_data; 7 8 -- 用户授权 9 grant connect,resource, 10 create any view, 11 create database link, 12 select any table, 13 create table, 14 update any table, 15 insert any table, 16 delete any table, 17 alter any table, 18 debug any procedure, 19 dba 20 to mt_ls; 21 22 -- 用户角色 23 ALTER USER mt_ls DEFAULT ROLE "CONNECT"; 24 ALTER USER mt_ls DEFAULT ROLE "RESOURCE"; 25 ALTER USER mt_ls DEFAULT ROLE "DBA"; 26 27 -- 数据文件夹授权 28 create directory mt_ls_data_dir as 'D:/app/Administrator/oradata/lsxorcl\exp'; 29 grant CREATE ANY DIRECTORY to mt_ls; 30 31 -------------------- 32 33 imp mt_ls/mt_ls@localhost:1521/orcl file=f:\zzzd_test2.dmp full=y ignore=y 34 35 -------------------- 36 37 -- 删除用户 38 DROP user mt_ls cascade; 39 -- 删除表空间 40 DROP TABLESPACE mt_ls_data INCLUDING CONTENTS AND DATAFILES; 41 -- 删除数据文件夹 42 DROP DIRECTORY mt_ls_data_dir;
单独 创建表空间的sql 1 :
1 --表空间 2 CREATE TABLESPACE MT_DATA 3 DATAFILE 'C:/soft/oracle/dbf/szDta.dbf' size 800M 4 EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; 5 6 7 8 --2.建用户 9 create user mt identified by mt123 10 default tablespace MT_DATA 11 12 --3.赋权 13 grant connect,resource to mt; 14 grant create any sequence to mt; 15 grant create any table to mt; 16 grant delete any table to mt; 17 grant insert any table to mt; 18 grant select any table to mt; 19 grant unlimited tablespace to mt; 20 grant execute any procedure to mt; 21 grant update any table to mt; 22 grant create any view to mt;
单独 创建表空间的sql 1 :
-- 创建表空间 create tablespace mt_ls_data datafile 'D:/app/Administrator/oradata/lsxorcl\data.dbf' size 1000M; -- 创建用户并绑定默认表空间 create user mt_ls identified by mt_ls default tablespace mt_ls_data; -- 用户授权 grant connect,resource, create any view, create database link, select any table, create table, update any table, insert any table, delete any table, alter any table, debug any procedure, dba to mt_ls; -- 用户角色 ALTER USER mt_ls DEFAULT ROLE "CONNECT"; ALTER USER mt_ls DEFAULT ROLE "RESOURCE"; ALTER USER mt_ls DEFAULT ROLE "DBA"; -- 数据文件夹授权 create directory mt_ls_data_dir as 'D:/app/Administrator/oradata/lsxorcl\exp'; grant CREATE ANY DIRECTORY to mt_ls; -------------------- imp mt_ls/mt_ls@localhost:1521/orcl file=f:\zzzd_test2.dmp full=y ignore=y -------------------- -- 删除用户 DROP user mt_ls cascade; -- 删除表空间 DROP TABLESPACE mt_ls_data INCLUDING CONTENTS AND DATAFILES; -- 删除数据文件夹 DROP DIRECTORY mt_ls_data_dir; -- 创建表空间 create tablespace ZHYLDB_DATA datafile 'F:/oracle/product/10.2.0/oradata/zhyldbData/zhyldbData.dbf' size 1000M; create tablespace SZ_DATA datafile 'F:/oracle/product/10.2.0/oradata/szData/szData.dbf' size 1000M;
套娃sql :
一、
1 SELECT 2 A.termcode, 3 u.name 4 FROM 5 mt_pmba_user_profile u, 6 ( 7 SELECT 8 x.*, 9 p.agent 10 FROM 11 MT_PMBA_AUTHORIZATION p, 12 ( SELECT t.*, m.authorizationid FROM MT_RESULTTAB t, mt_pmba_verify_record m WHERE t.guid = m.verifyrecord ) x 13 WHERE 14 p.guid = x.authorizationid 15 ) A 16 WHERE 17 u.guid = A.agent
二、
1 SELECT 2 f.name, 3 -- r.ID, 4 -- r.DEVICENUMBER, 5 r.Remark, 6 r.districtname, 7 r.INSPECTIONWAY, 8 r.areaname, 9 r.FAULTWAY, 10 r.ibkbosstate, 11 r.paperstatus, 12 r.putimg, 13 r.faultdesc, 14 r.PROBLEMWAY, 15 r.MAINTAINPERSON -- r.CREATEDATE 16 -- r.solution 17 FROM 18 sys_user f, 19 ( 20 SELECT-- a.ID, 21 -- a.DEVICENUMBER, 22 w.Remark, 23 w.districtname, 24 w.INSPECTIONWAY, 25 w.areaname, 26 w.FAULTWAY, 27 w.ibkbosstate, 28 w.PROBLEMWAY, 29 w.paperstatus, 30 w.putimg, 31 a.faultdesc, 32 -- a.solution, 33 -- w.CREATEDATE, 34 w.MAINTAINPERSON 35 FROM 36 mt_opsworkorder a, 37 ( 38 SELECT 39 b.EQUIPMENTID equipmentidone, 40 b.Remark, 41 q.equipmentid equipmentidtwo, 42 -- b.CREATEDATE, 43 q.districtname, 44 b.INSPECTIONWAY, 45 q.putimg, 46 b.PROBLEMWAY, 47 b.ibkbosstate, 48 b.paperstatus, 49 q.areaname, 50 b.FAULTWAY, 51 b.MAINTAINPERSON 52 FROM 53 mt_inspection b, 54 ( 55 SELECT 56 j.districtname, 57 e.equipmentid, 58 e.areaname, 59 e.putimg 60 FROM 61 mt_district j, 62 mt_terminal e 63 WHERE 64 e.addresstid = j.districtid 65 ) q 66 WHERE 67 b.EQUIPMENTID = q.equipmentid 68 ) w 69 WHERE 70 a.DEVICENUMBER = w.equipmentidone 71 ) r 72 WHERE 73 f.ID = r.MAINTAINPERSON 74 GROUP BY 75 f.name, 76 -- r.ID, 77 -- r.DEVICENUMBER, 78 r.districtname, 79 r.INSPECTIONWAY, 80 r.areaname, 81 r.MAINTAINPERSON, 82 r.FAULTWAY, 83 r.PROBLEMWAY, 84 r.faultdesc, 85 r.ibkbosstate, 86 r.paperstatus, 87 r.putimg, 88 r.Remark -- r.CREATEDATE, 89 -- r.solution
三、
1 SELECT 2 a.PROFILE, 3 z.guid, 4 z.termcode, 5 z.name 6 FROM 7 MT_PMBA_LOCAL_AUTH a 8 INNER JOIN ( 9 SELECT 10 A.termcode, 11 u.name, 12 u.guid 13 FROM 14 mt_pmba_user_profile u 15 INNER JOIN ( 16 SELECT 17 x.authorizationid, 18 p.agent, 19 x.termcode 20 FROM 21 MT_PMBA_AUTHORIZATION p 22 INNER JOIN ( 23 SELECT 24 t.guid, 25 t.termcode, 26 m.authorizationid 27 FROM 28 MT_RESULTTAB t 29 INNER JOIN mt_pmba_verify_record m ON t.guid = m.verifyrecord 30 ) x ON p.guid = x.authorizationid 31 ) A ON u.guid = A.agent 32 ) z ON a.PROFILE = z.guid
四、
1 SELECT 2 n.sectionname AS sectionname, 3 NVL( z.onlineCount, 0 ) AS onlineCount, 4 n.num AS numberofMachines, 5 NVL( ROUND( z.onlineCount / n.num, 2 ), 0 ) AS utilizationRate 6 FROM 7 ( 8 SELECT 9 m.name AS sectionname, 10 a.num, 11 m.id 12 FROM 13 ( 14 SELECT 15 count( sectionid ) AS num, 16 sectionid 17 FROM 18 mt_terminal t 19 WHERE 20 t.medinsid = ( SELECT guid FROM mt_medstructure m WHERE m.id = 'H6090' ) 21 AND t.termialtype = 'desktop' 22 AND t.USAGESTATUS != 'test' 23 GROUP BY 24 sectionid 25 ) a 26 LEFT JOIN mt_medstructure m ON a.sectionid = m.guid 27 ORDER BY 28 a.sectionid DESC 29 ) n 30 LEFT JOIN ( 31 SELECT 32 count( termcode ) AS onlineCount, 33 sectioncode 34 FROM 35 ( 36 SELECT 37 t.termcode, 38 count( sectioncode ), 39 t.sectioncode 40 FROM 41 mt_resulttab t 42 WHERE 43 t.medinscode = 'H6090' 44 AND TO_CHAR( TO_DATE( operdate, 'YYYY-MM-DD HH24:MI:SS' ), 'YYYY-MM-DD' ) = TO_CHAR( SYSDATE, 'YYYY-MM-DD' ) 45 GROUP BY 46 termcode, 47 t.sectioncode 48 ) m 49 GROUP BY 50 m.sectioncode 51 ) z ON n.id = z.sectioncode
五、
1 SELECT 2 a1.onlineCountsum, 3 a1.hospptname, 4 a1.dateaddedsum, 5 a1.sectionname, 6 a1.onlineCount, 7 a1.numberofMachines, 8 a1.utilizationRate, 9 a1.numberofsum, 10 a1.dateadded, 11 NVL( a2.hrpotcheck, 0 ) AS hrpotcheck, 12 NVL( a2.yeshrpotcheck, 0 ) AS yeshrpotcheck, 13 NVL( a2.nohrpotcheck, 0 ) AS nohrpotcheck 14 FROM 15 ( 16 SELECT 17 n.sectionname AS sectionname, 18 NVL( z.onlineCount, 0 ) AS onlineCount, 19 n.num AS numberofMachines, 20 NVL( ROUND( z.onlineCount / n.num, 2 ), 0 ) AS utilizationRate, 21 SUM( n.NUM ) OVER () AS numberofsum, 22 ( 23 n.num - NVL( z.onlineCount, 0 )) AS dateadded, 24 SUM( 25 NVL( z.onlineCount, 0 )) OVER () AS onlineCountsum, 26 SUM( ( n.num - NVL( z.onlineCount, 0 )) ) OVER () AS dateaddedsum, 27 hospptname AS hospptname, 28 ID AS sectionid 29 FROM 30 ( 31 SELECT 32 M.NAME AS sectionname, 33 A.sectionid, 34 A.num, 35 M.ID, 36 ( SELECT T.NAME FROM MT_MEDSTRUCTURE T WHERE T.guid = M.parentid ) AS hospptname 37 FROM 38 ( SELECT COUNT( termcode ) AS num, sectionid FROM mt_terminal T WHERE T.USAGESTATUS != 'test' GROUP BY sectionid ) A 39 LEFT JOIN mt_medstructure M ON A.sectionid = M.guid 40 ORDER BY 41 A.sectionid DESC 42 ) n 43 LEFT JOIN ( 44 SELECT 45 COUNT( termcode ) AS onlineCount, 46 sectioncode 47 FROM 48 ( SELECT T.termcode, COUNT( sectioncode ), T.sectioncode FROM mt_resulttab T GROUP BY termcode, T.sectioncode ) M 49 GROUP BY 50 M.sectioncode 51 ) z ON n.ID = z.sectioncode 52 ) a1 53 LEFT JOIN ( 54 SELECT 55 t1.totalpeople AS hrpotcheck, 56 ( t1.totalpeople - NVL( p1.passpepple, 0 ) ) AS yeshrpotcheck, 57 NVL( p1.passpepple, 0 ) AS nohrpotcheck, 58 sectioncode 59 FROM 60 ( 61 SELECT 62 NVL( M.ID, 0 ) AS sectioncode, 63 NVL( n.totalpeople, 0 ) AS totalpeople, 64 M.sectionname AS sectionname, 65 M.num AS num 66 FROM 67 ( SELECT COUNT( DISTINCT patid ) AS totalpeople, sectioncode FROM mt_resulttab T GROUP BY T.sectioncode ) n 68 RIGHT JOIN ( 69 SELECT 70 M.NAME AS sectionname, 71 A.num, 72 M.ID 73 FROM 74 ( SELECT COUNT( sectionid ) AS num, sectionid FROM mt_terminal T WHERE T.USAGESTATUS != 'test' GROUP BY sectionid ) A 75 LEFT JOIN mt_medstructure M ON A.sectionid = M.guid 76 ORDER BY 77 A.sectionid DESC 78 ) M ON n.sectioncode = M.ID 79 ) t1 80 LEFT JOIN ( 81 SELECT 82 M.ID, 83 NVL( n.totalpeople, 0 ) AS passpepple, 84 M.sectionname AS sectionname 85 FROM 86 ( SELECT COUNT( DISTINCT patid ) AS totalpeople, sectioncode FROM mt_resulttab T WHERE T.scode = '1' GROUP BY T.sectioncode ) n 87 RIGHT JOIN ( 88 SELECT 89 M.NAME AS sectionname, 90 A.num, 91 M.ID 92 FROM 93 ( SELECT COUNT( sectionid ) AS num, sectionid FROM mt_terminal T WHERE T.USAGESTATUS != 'test' GROUP BY sectionid ) A 94 LEFT JOIN mt_medstructure M ON A.sectionid = M.guid 95 ORDER BY 96 A.sectionid DESC 97 ) M ON n.sectioncode = M.ID 98 ) p1 ON t1.sectioncode = p1.ID 99 ) a2 ON a1.sectionid = a2.sectioncode 100 101
以上为实例sql 嵌套

浙公网安备 33010602011771号