To find it:
[root@myserver]$ getconf PAGESIZE 4096
Minimalistic Oracle contains a collection of practical examples from my encounters with Oracle technologies. When relevant, I also write about other technologies, like Linux or PostgreSQL. Many of the posts starts with "how to" since they derive directly from my own personal experience. My goal is to provide simple examples, so that they can be easily adapted to other situations.
[root@myserver]$ getconf PAGESIZE 4096
create user csmig identified by ***** account lock / alter user csmig default tablespace tools quota unlimited on tools /2. execute the script as sysdba
sqlplus / as sysdba @csminst.sql
userid='sys/**** as sysdba' table=scott.emp fromchar=WE8ISO8859P1 tochar=al32utf8 array=4096000 process=4 feedback=1000
csscan parfile=myscan.par
Database Scan Individual Exception Report [Database Scan Parameters] Parameter Value ------------------------------ ------------------------------------------------ CSSCAN Version v2.1 Instance Name proddb01 Database Version 11.2.0.4.0 Scan type Selective tables Scan CHAR data? YES Database character set WE8ISO8859P1 FROMCHAR WE8ISO8859P1 TOCHAR al32utf8 Scan NCHAR data? NO Array fetch buffer size 4096000 Number of processes 4 Capture convertible data? NO ------------------------------ ------------------------------------------------ [Data Dictionary individual exceptions] [Application data individual exceptions] User : SCOTT Table : EMP Column: ATTRIBUTE15 Type : VARCHAR2(150) Number of Exceptions : 2 Max Post Conversion Data Size: 153 ROWID Exception Type Size Cell Data(first 30 bytes) ------------------ ------------------ ----- ------------------------------ AAS/WmAHwAACI5ZAAC exceed column size 153As expected, the offending rows contained Scandinavian characters, which will use 2 bytes after conversion to a Unicode database. Therefore the text will no longer fit, and actions need to be taken by the data owner before the migration.AAS/WmAHwAACI5ZAAD exceed column size 153 ------------------ ------------------ ----- ------------------------------
export ORACLE_BASE=/software/oracle export ORACLE_HOME=/software/oracle/product/agent13c/agent_13.2 export PATH=$ORACLE_HOME/bin:$PATH echo "\n\nOH is : $ORACLE_HOME"
su - oracle -c ". .agent1?c;emctl start blackout-nodeLevel -d 15;emctl stop agent"
. .agent1?c;emctl start blackout-nodeLevel -d 15;emctl stop agent
. /home/oracle/.agent1?c;emctl stop blackout
EXECUTE DBMS_SCHEDULER.ENABLE('GATHER_STATS_JOB'); EXECUTE DBMS_SCHEDULER.DISABLE('GATHER_STATS_JOB');
select client_name,operation_name,status from DBA_AUTOTASK_OPERATION;Example from one of my 11g databases:
CLIENT_NAME | OPERATION_NAME | STATUS |
---|---|---|
auto optimizer stats collection | auto optimizer stats job | DISABLED |
auto space advisor | auto space advisor job | ENABLED |
sql tuning advisor | automatic sql tuning task | DISABLED |
# mkdir -p /u01/oracle/admin/proddb01/wallet
SQLNET.WALLET_OVERRIDE = TRUE SQLNET.AUTHENTICATION_SERVICES = (BEQ, TCPS) SSL_VERSION = 0 SSL_CLIENT_AUTHENTICATION = FALSE ENCRYPTION_WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /u01/oracle/admin/proddb01/wallet) ) ) SSL_CIPHER_SUITES = (SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA)
SYS@proddb01 SQL> select wrl_parameter, status,wallet_type from v$encryption_Wallet; WRL_PARAMETER STATUS WALLET_TYPE ---------------------------------------- ------------------------------ -------------------- /u01/oracle/admin/proddb01/wallet/ NOT_AVAILABLE UNKNOWN
SYS@proddb01 SQL> administer key management create keystore '/u01/oracle/admin/proddb01/wallet' identified by "secretpassword"; Keystore altered.
SYS@proddb01 SQL> select wrl_parameter, status,wallet_type from v$encryption_Wallet; WRL_PARAMETER STATUS WALLET_TYPE ---------------------------------------- ------------------------------ -------------------- /u01/oracle/admin/proddb01/wallet/ CLOSED UNKNOWN
SYS@proddb01 SQL> administer key management set keystore open identified by "secretpassword"; Keystore altered.
SYS@proddb01 SQL> select wrl_parameter, status,wallet_type from v$encryption_Wallet; WRL_PARAMETER STATUS WALLET_TYPE ---------------------------------------- ------------------------------ -------------------- /u01/oracle/admin/proddb01/wallet/ OPEN_NO_MASTER_KEY PASSWORD
SYS@proddb01 SQL> administer key management set key identified by "****" with backup using 'initial_key_backup'; Keystore altered.
SYS@proddb01 SQL> select wrl_parameter, status,wallet_type from v$encryption_Wallet; WRL_PARAMETER STATUS WALLET_TYPE ---------------------------------------- ------------------------------ -------------------- /u01/oracle/admin/proddb01/wallet/ OPEN PASSWORD
create bigfile tablespace SECRET_DATA_TBS datafile '/u02/oradata/proddb01/secret_data_01.dbf' size 256M autoextend on next 128M maxsize unlimited encryption using 'AES128' default storage(encrypt);
SYS@proddb01 SQL> SELECT t.name, e.encryptionalg algorithm FROM v$tablespace t, v$encrypted_tablespaces e WHERE t.ts# = e.ts#; NAME ALGORIT ------------------------------ ------- SECRET_DATA_TBS AES128
ALTER SYSTEM SET ENCRYPTION WALLET OPEN IDENTIFIED BY "*****";
select owner "owner", CASE WHEN char_used = 'B' then 'BYTE' WHEN char_used = 'C' then 'CHAR' END "semantics" ,count(*) "antall" from dba_tab_columns where owner in ('SCOTT','RYAN') and data_Type in ('CHAR','VARCHAR2') group by OWNER, ROLLUP(char_used);
owner | semantics | antall |
---|---|---|
SCOTT | BYTE | 62 |
SCOTT | CHAR | 610 |
SCOTT | 672 | |
RYAN | BYTE | 486 |
RYAN | 486 |