94 lines
3.7 KiB
MySQL
94 lines
3.7 KiB
MySQL
|
/*************************************************************************
|
||
|
* The contents of this file are subject to the Adempiere License. You may
|
||
|
* obtain a copy of the License at http://www.adempiere.org/license.html
|
||
|
* Software is on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
|
||
|
* express or implied. See the License for details. Code: Adempiere ERP+CRM
|
||
|
* Copyright (C) 1999-2003 Jorg Janke, ComPiere, Inc. All Rights Reserved.
|
||
|
*************************************************************************
|
||
|
* $Id: CheckDB.sql,v 1.1 2006/04/21 17:51:58 jjanke Exp $
|
||
|
***
|
||
|
* Title: TabeSpace Sizing
|
||
|
* Description:
|
||
|
* Make sure, that Tablespace
|
||
|
* USERS is 150 MB, 10 MB Autoextend
|
||
|
* INDX is 100 MB, 10 MB Autoextend
|
||
|
* TEMP is 100 MB, 10 MB Autoextend
|
||
|
* Set SGA Size (optional)
|
||
|
* Executed with System user and parameter %ADEMPIERE_DB_USER% from RUN_Env
|
||
|
************************************************************************/
|
||
|
|
||
|
-- Check existance
|
||
|
SELECT 'Tablespace USERS does not exist - You need to create it first' AS Missing FROM DUAL
|
||
|
WHERE NOT EXISTS (SELECT * FROM DBA_TABLESPACES WHERE TABLESPACE_NAME='USERS');
|
||
|
SELECT 'Tablespace INDX does not exist - You need to create it first' AS Missing FROM DUAL
|
||
|
WHERE NOT EXISTS (SELECT * FROM DBA_TABLESPACES WHERE TABLESPACE_NAME='INDX');
|
||
|
SELECT 'Tablespace TEMP does not exist - You need to create it first' AS Missing FROM DUAL
|
||
|
WHERE NOT EXISTS (SELECT * FROM DBA_TABLESPACES WHERE TABLESPACE_NAME='TEMP');
|
||
|
|
||
|
/*****
|
||
|
* Changing System Parameters
|
||
|
* directly - (e.g. 400 MB for 10 Users)
|
||
|
ALTER SYSTEM SET SGA_MAX_SIZE=400M COMMENT='400MB' SCOPE=SPFILE;
|
||
|
ALTER SYSTEM SET SHARED_POOL_SIZE=100M SCOPE=SPFILE;
|
||
|
ALTER SYSTEM SET DB_CACHE_SIZE=200M SCOPE=SPFILE;
|
||
|
ALTER SYSTEM SET JAVA_POOL_SIZE=40M SCOPE=SPFILE;
|
||
|
ALTER SYSTEM SET LARGE_POOL_SIZE=10M SCOPE=SPFILE;
|
||
|
** indirectly - sqlplus "system/manager@adempiere AS SYSDBA"
|
||
|
CREATE PFile='pfileAdempiere.ora' FROM SPFile;
|
||
|
* creates file in $ORACLE_HOME\database or $ORACLE_HOME/dbs
|
||
|
* edit file and then overwrite the fila via
|
||
|
CREATE SPFile FROM PFile='pfileAdempiere.ora';
|
||
|
*****/
|
||
|
|
||
|
-- Create System Record - OK, if it fails
|
||
|
-- Schema is parameter.
|
||
|
INSERT INTO &1..AD_System
|
||
|
(AD_System_ID,AD_Client_ID,AD_Org_ID,
|
||
|
IsActive,Created,CreatedBy,Updated,UpdatedBy,
|
||
|
Name, UserName, Info)
|
||
|
SELECT 0,0,0,'Y', SysDate,0,SysDate,0, '?','?','?'
|
||
|
FROM Dual
|
||
|
WHERE NOT EXISTS
|
||
|
(SELECT * FROM &1..AD_System WHERE AD_System_ID=0);
|
||
|
|
||
|
-- Add Info - OK, if fails
|
||
|
UPDATE &1..AD_System
|
||
|
SET Info = (SELECT SYS_CONTEXT('USERENV', 'DB_DOMAIN')
|
||
|
|| ',' || SYS_CONTEXT('USERENV', 'DB_NAME')
|
||
|
|| ',IP=' || SYS_CONTEXT('USERENV', 'IP_ADDRESS')
|
||
|
|| ',' || SYS_CONTEXT('USERENV', 'HOST')
|
||
|
|| ',' || SYS_CONTEXT('USERENV', 'INSTANCE')
|
||
|
|| ',UID=' || SYS_CONTEXT('USERENV', 'CURRENT_USER')
|
||
|
|| ',' || SYS_CONTEXT('USERENV', 'CURRENT_USERID')
|
||
|
|| ',C#=' || (SELECT COUNT(*) FROM &1..AD_Client)
|
||
|
FROM DUAL),
|
||
|
Updated=SysDate;
|
||
|
COMMIT;
|
||
|
|
||
|
set serveroutput on
|
||
|
-- Correct sizing
|
||
|
DECLARE
|
||
|
CURSOR Cur_TS IS
|
||
|
SELECT FILE_NAME, Tablespace_Name, Bytes/1024/1024 as MB
|
||
|
FROM DBA_DATA_FILES
|
||
|
WHERE (TABLESPACE_NAME='USERS' AND BYTES < 100*1024*1024)
|
||
|
OR (TABLESPACE_NAME='INDX' AND BYTES < 100*1024*1024)
|
||
|
OR (TABLESPACE_NAME='TEMP' AND BYTES < 100*1024*1024);
|
||
|
v_CMD VARCHAR2(300);
|
||
|
BEGIN
|
||
|
DBMS_OUTPUT.PUT_LINE('Resize:');
|
||
|
FOR ts IN Cur_TS LOOP
|
||
|
v_CMD := 'ALTER DATABASE DATAFILE ''' || ts.FILE_NAME
|
||
|
|| ''' RESIZE 100M';
|
||
|
DBMS_OUTPUT.PUT_LINE(' executing: ' || v_CMD);
|
||
|
EXECUTE IMMEDIATE v_CMD;
|
||
|
v_CMD := 'ALTER DATABASE DATAFILE ''' || ts.FILE_NAME
|
||
|
|| ''' AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED';
|
||
|
DBMS_OUTPUT.PUT_LINE(' executing: ' || v_CMD);
|
||
|
EXECUTE IMMEDIATE v_CMD;
|
||
|
END LOOP;
|
||
|
END;
|
||
|
/
|
||
|
|
||
|
EXIT
|